[{"data":1,"prerenderedAt":385},["ShallowReactive",2],{"project-14604269":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":5,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":84,"maker_in_thread":188,"shape":200,"grid":204,"attempts":342,"same_week":347,"maker_shows":376,"maker_hidden":377,"reader_version":378,"card":379},"14604269","breckyunits.com","Programming is Now Two-Dimensional","title","Show HN: Programming is Now Two-Dimensional","http:\u002F\u002Fbreckyunits.com\u002Fshow-hn-programming-is-now-two-dimensional.html","breck",1498056757,2017,29,63,1050,2242,47,"shown","languages","programming notation","library",[23,24,25,26,27],"tree notation","extended tree notation","programming language","s-expressions","indentation syntax","roasted",-0.537,{"positive":31,"neutral":32,"mixed":33,"critical":34},0,8,1,18,27,{"idea":37,"execution":39,"design":41,"docs":43},{"positive":31,"critical":38},10,{"positive":31,"critical":40},4,{"positive":31,"critical":42},2,{"positive":31,"critical":42},[45,31,31,33,31,33,33,31,31,45,33,33,33,45,31,33,31,31,31,45,33,31,45,31,33,31,33,45,33,33,31,31,33,33,31,33,33,31,33,31],3,null,{"problem":48,"audience":46,"pricing":46,"motivation":58,"time_to_build":46,"stack":63,"openness":81,"stage":82,"team_size":83},{"value":49,"source":50,"evidence":51},"Programs are hard for humans and machines to co-author; a simpler two-dimensional notation is proposed to fix this","maker",[52,55],{"id":53,"by":10,"text":54},"14606817","Great points. Here's a sneak peak at Ohayo, which helped me quickly whip up Fib: http:\u002F\u002Fbreckyunits.com\u002Ffiles\u002Fohayo.png > If so couldn't you just use an existing programming…",{"id":56,"by":10,"text":57},"14607381","What a helpful comment, thank you! > I guess I just want to point out that while syntax is certainly super important, these data-semantics are not all that novel. I agree! The…",{"value":59,"source":50,"evidence":60},"Believes geometric, indentation-based notation can augment programmers and machines beyond existing languages",[61,62],{"id":56,"by":10,"text":57},{"id":53,"by":10,"text":54},[64,73],{"value":65,"source":50,"evidence":66},"JavaScript (ES6)",[67,70],{"id":68,"by":10,"text":69},"14606969","The paper takes the example from jsonETN. The first letter is the data type. ``` s: StringNode n: NumberNode a: ArrayNode o: ObjectNode b: BooleanNode j: OtherNode ``` I just…",{"id":71,"by":10,"text":72},"14607046","Good points! The example is arbitrary. In a real world use case, Ohayo, with a very large and complex program, my ES6 code base is reduced by a factor of 10x. My tests, in an…",{"value":74,"source":75,"evidence":76},"Haskell (critique examples)","commenter",[77],{"id":78,"by":79,"text":80},"14606580","drostie","I... think some humility would serve you well. You are making some very audacious claims about the data structures, ``` -- rose tree storing data on internal nodes rather than…","open_source","prototype","solo",{"praise":85,"objections":97,"requests":139,"questions":160,"alternatives":166},[86],{"value":87,"source":75,"evidence":88},"Pointer to SRFI-49 and related Scheme notations was helpful",[89,93],{"id":90,"by":91,"text":92},"14606595","nsajko","So this is basically sexp with indentation instead of parentheses, that is I-expressions: https:\u002F\u002Fsrfi.schemers.org\u002Fsrfi-49",{"id":94,"by":95,"text":96},"14609520","kazinator","https:\u002F\u002Fsrfi.schemers.org\u002Fsrfi-49\u002Fsrfi-49.html",[98,106,116,131],{"value":99,"source":75,"evidence":100},"Largely equivalent to S-expressions and existing indentation Lisps like SRFI-49 and Wisp",[101,102,105],{"id":78,"by":79,"text":80},{"id":103,"by":95,"text":104},"14608852","> ETNs are very much like Lisp, except it removes the AST parse step (and the parentheses!), leaving the resulting programs simpler than their Lisp equivalents I don't see how…",{"id":90,"by":91,"text":92},{"value":107,"source":75,"evidence":108},"Complexity is shifted to the interpreter rather than removed",[109,113],{"id":110,"by":111,"text":112},"14606574","zimbatm","I would like to make a claim that ETN doesn't reduce complexity of programs, it merely splits it in two: the TN that declares the data structure and the interpreter on the other…",{"id":114,"by":111,"text":115},"14606688","Take the other example in the paper: https:\u002F\u002Fgithub.com\u002Fbreck7\u002Ftreenotation\u002Fblob\u002Fmaster\u002Fpaper\u002Ftreenotation.png How does it know that line starting with a number translates into a…",{"value":117,"source":75,"evidence":118},"Hype and overclaiming about revolutionary impact",[119,123,127],{"id":120,"by":121,"text":122},"14605741","ndc33","if its powered by hype and hyperbole, and not concrete ideas, should work fine... wait, no, a paradigm shift, amazing, revolutionary.",{"id":124,"by":125,"text":126},"14606257","gfredtech","Wow. This feels a little too ambitious :-)",{"id":128,"by":129,"text":130},"14605714","firecopy","You lost me. Can you explain the actual values of ETN over current programming languages? While I do see value in leaving out the unneeded key variable in Figure 1, are there…",{"value":132,"source":75,"evidence":133},"Unclear value over existing languages; the Fibonacci example looks like ordinary imperative code",[134,138],{"id":135,"by":136,"text":137},"14606273","orclev","I'm not really understanding how this is superior to existing notation. It looks like the only unusual thing being done is putting the lvalue as the first argument to the…",{"id":128,"by":129,"text":130},[140,150],{"value":141,"source":75,"evidence":142},"Show concrete code examples and a working demo of Ohayo",[143,147],{"id":144,"by":145,"text":146},"14605472","the_cat_kittles","i couldnt find any normal code -> your new system examples that made sense. can you post a short one here? like 10 lines or something?",{"id":148,"by":79,"text":149},"14608358","I think that will be the tasting necessary to prove this pudding. I would also point out that you do have parse errors in your scheme (incorrect indentation errors) and that…",{"value":151,"source":75,"evidence":152},"Clarify the JSON encoding ambiguity and parsing of strings",[153,156],{"id":154,"by":111,"text":155},"14606625","Take the JSON encoding example. How does it know that 802 is a number? What if I want to have \"802\" as a string? Is it because visitors.mozilla has a fixed schema that it's value…",{"id":157,"by":158,"text":159},"14605532","sharemywin","A JSON object like: { \"title\" : \"Jack and Ada at BCHS\", \"visitors\": { ``` \"mozilla\": 802 } ``` } Can be written in Tree Notation like this: title Jack and Ada at BCHS visitors…",[161],{"value":162,"source":75,"evidence":163},"How does the parser know which lines map to which constructs",[164,165],{"id":114,"by":111,"text":115},{"id":154,"by":111,"text":155},[167,172,177,181],{"value":168,"source":75,"evidence":169},"S-expressions and Scheme",[170,171],{"id":78,"by":79,"text":80},{"id":90,"by":91,"text":92},{"value":173,"source":75,"evidence":174},"SRFI-49 I-expressions",[175,176],{"id":90,"by":91,"text":92},{"id":94,"by":95,"text":96},{"value":178,"source":75,"evidence":179},"Sweet expressions and Wisp",[180],{"id":103,"by":95,"text":104},{"value":182,"source":75,"evidence":183},"Piet and other 2D languages",[184],{"id":185,"by":186,"text":187},"14605549","vorotato","Programming has been 2 dimensional since Piet.",{"comments":189,"answered":32,"key":190},28,[191,194,197],{"id":192,"text":193},"14605596","Haha, I hope if it was satire I could write better satire than this. I'm definitely inspired by Taleb and Wolfram, as the style shows. I enjoy their styles, although sometimes I…",{"id":195,"text":196},"14605881","Haha love it! Was delivering that low shot (sorry!^1) as well paying homage to a great one. ^1 That's a \"Sorry, I'm not sorry (:P)\". I hate tabs. I rarely go a month without a…",{"id":198,"text":199},"14607266","Haha, thanks for stating this. Very helpful to see the common reactions from various folks (lispers being a category of folks whose reactions I am extra curious about). I'm quite…",{"commenters":201,"max_depth":32,"maker_replies":189,"first_comment_mins":202,"lifespan_hours":203},23,33,53,[205,209,211,215,216,218,220,222,223,224,226,229,230,233,235,237,238,239,241,243,244,245,248,250,251,253,257,259,262,264,269,272,273,275,277,278,281,283,285,287,289,292,294,297,301,302,304,305,307,309,311,314,317,319,321,323,325,327,331,333,335,337,340],[206,31,45,207,208,31],"14605439","project\u002Fneutral\u002Fnone","apetresc",[192,31,31,210,10,33],"maker\u002Fneutral\u002Fnone",[212,31,31,213,214,31],"14605605","other\u002Fneutral\u002Fnone","devrandomguy",[195,31,31,213,10,33],[78,33,33,217,79,31],"project\u002Fcritical\u002Fidea",[219,33,33,217,91,31],"14606634",[198,33,31,221,10,33],"project\u002Fneutral\u002Fidea",[56,33,31,221,10,33],[110,42,33,217,111,31],[154,42,45,225,111,31],"project\u002Fneutral\u002Fexecution",[227,42,33,228,79,31],"14606747","project\u002Fcritical\u002Fexecution",[68,42,31,225,10,33],[231,42,31,232,10,33],"14607074","commenter\u002Fneutral\u002Fnone",[234,42,31,225,10,33],"14607062",[236,42,45,225,111,31],"14608690",[114,42,33,228,111,31],[71,42,31,225,10,33],[240,42,33,217,111,31],"14608701",[242,42,31,221,10,33],"14607007",[103,42,33,217,95,31],[94,42,45,221,95,31],[246,45,45,221,247,31],"14605275","Micoloth",[249,45,31,207,10,33],"14605560",[90,40,33,217,91,31],[252,40,31,221,10,33],"14607201",[254,255,31,213,256,31],"14605503",5,"Animats",[258,255,31,207,10,33],"14605624",[260,255,31,213,261,31],"14610874","heelhook",[263,255,31,213,10,33],"14605975",[265,266,45,267,268,31],"14607645",6,"project\u002Fmixed\u002Fidea","yumaikas",[270,271,31,213,10,33],"14607941",7,[148,271,33,228,79,31],[274,271,31,225,10,33],"14608652",[276,32,31,207,10,33],"14604571",[144,32,45,225,145,31],[279,32,45,225,280,31],"14605527","pacaro",[282,32,31,225,10,33],"14605799",[135,32,33,284,136,31],"project\u002Fcritical\u002Fdesign",[53,32,31,286,10,33],"project\u002Fneutral\u002Fdesign",[288,32,31,225,10,33],"14606833",[290,32,33,284,291,31],"14606893","majewsky",[293,32,31,286,10,33],"14607399",[295,32,31,213,296,31],"14622125","mrexodia",[298,32,45,299,300,31],"14605582","project\u002Fneutral\u002Fdocs","lucideer",[157,32,33,228,158,31],[303,32,31,225,10,33],"14605821",[128,32,33,217,129,31],[306,32,31,207,10,33],"14605837",[308,32,31,213,291,31],"14606961",[310,32,31,213,79,31],"14607157",[312,32,33,313,291,31],"14607214","project\u002Fcritical\u002Fdocs",[315,32,31,316,10,33],"14607823","maker\u002Fpositive\u002Fnone",[124,318,33,217,125,31],9,[320,318,31,221,10,33],"14607850",[322,38,31,207,10,33],"14608659",[120,324,33,217,121,31],11,[326,324,31,207,10,33],"14605895",[328,329,33,313,330,31],"14605601",12,"azeemsola",[332,329,31,299,10,33],"14605951",[185,334,33,217,186,31],13,[336,334,31,221,10,33],"14605580",[338,339,31,213,247,31],"14606183",14,[341,339,31,232,291,31],"14607335",[343,344],{"id":4,"t":11,"points":13,"comments":14},{"id":345,"t":346,"points":33,"comments":31},"34531446",1674740327,[348,353,357,362,367,372],{"id":349,"name":350,"points":351,"category":352},"14558582","Snips",372,"ai",{"id":354,"name":355,"points":356,"category":19},"14583882","Decaffeinate",361,{"id":358,"name":359,"points":360,"category":361},"14587669","rust-algorithms",320,"learning_science",{"id":363,"name":364,"points":365,"category":366},"14593906","Copyfish",292,"productivity",{"id":368,"name":369,"points":370,"category":371},"14597485","NBox",286,"security_privacy",{"id":373,"name":374,"points":375,"category":19},"14588333","html5-parser",169,15,false,"v2",{"id":380,"name":5,"line":6,"ai":377,"cat":19,"year":12,"points":13,"comments":14,"rec":28,"s":381,"top":17,"kw":382,"maker":10,"domain":5,"tier":18,"attempts":42,"strip":383,"url":9,"mix":384,"praise":87,"objection":99,"sub":20},14604269,-0.54,[23,24,25,26,27],"3001011003111301000310301013110011011010",[31,32,33,34],1794036556522]