[{"data":1,"prerenderedAt":250},["ShallowReactive",2],{"project-21373173":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":42,"post_text":43,"what":44,"said":66,"maker_in_thread":138,"shape":148,"grid":153,"attempts":210,"same_week":211,"maker_shows":241,"maker_hidden":242,"reader_version":243,"card":244},"21373173","forthy2","a higher level Forth-remix in C++","title","Show HN: forthy2 – a higher level Forth-remix in C++","https:\u002F\u002Fgithub.com\u002Fcodr7\u002Fforthy2","github.com","codr7",1572219313,2019,65,28,694,2195,32,"notable","languages","programming language","other",[24,25,26,27,28],"forth","concatenative language","c++","interpreter","scripting language","roasted",-0.385,{"positive":32,"neutral":33,"mixed":32,"critical":34},0,2,4,6,{"design":37,"execution":39,"performance":41},{"positive":32,"critical":38},3,{"positive":32,"critical":40},1,{"positive":32,"critical":32},[32,32,32,32,32,32,32,32,32,32,32,32,32,40,32,40,32,32,40,32,32,32,40,32,38,32,38,32],null,{"problem":43,"audience":43,"pricing":43,"motivation":45,"time_to_build":43,"stack":52,"openness":65,"stage":65,"team_size":65},{"value":46,"source":47,"evidence":48},"Embedding a Forth-like language in C++ rather than replacing C++","maker",[49],{"id":50,"by":11,"text":51},"21378470","One of the main motivations in this case is embedding in C++, rather than trying to replace it. So far the language is implemented as a high level VM\u002Finterpreter, I'm planning to…",[53,57],{"value":54,"source":47,"evidence":55},"C++",[56],{"id":50,"by":11,"text":51},{"value":58,"source":59,"evidence":60},"CMake","commenter",[61],{"id":62,"by":63,"text":64},"21377945","0xdeadbeefbabe","``` CMake Error at CMakeLists.txt:6 (add_link_options): Unknown CMake command \"add_link_options\". ```","unknown",{"praise":67,"objections":74,"requests":100,"questions":108,"alternatives":119},[68],{"value":69,"source":47,"evidence":70},"Generic methods and type system make errors easier to catch",[71],{"id":72,"by":11,"text":73},"21378443","They make great foundations, since their simplicity allows them to be conveniently adapted to whatever purpose. I too find dogmatic Forth a struggle to reason about, which is why…",[75,85,96],{"value":76,"source":59,"evidence":77},"Stack behaviour of push is unintuitive",[78,82],{"id":79,"by":80,"text":81},"21375714","garmaine","Why does pushing drop the stack you are pushing onto? Is there ever any reason to push something onto a stack and then immediately drop the stack? Even if there were, it doesn't…",{"id":83,"by":80,"text":84},"21377175","Not from the README. I don't read READMEs. I read code. The issue is this: > (1 2 3) 4 push My expectation is this should yield \"(1 2 3 4)\". It doesn't. For that you need the…",{"value":86,"source":59,"evidence":87},"Hard to reason about programs with implicit stack",[88,92],{"id":89,"by":90,"text":91},"21382634","journalctl","I had a lot of fun playing with Factor several years ago. The problem, as you pointed out, was that it was indeed difficult to reason about programs. The stack is implicit, so…",{"id":93,"by":94,"text":95},"21378155","InternalCake","There was a burst of interest in concatenative languages a few years back - essentially higher level variations on the features found in forth.…",{"value":97,"source":59,"evidence":98},"CMake minimum version was not set correctly",[99],{"id":62,"by":63,"text":64},[101],{"value":102,"source":59,"evidence":103},"State minimum CMake version for commands",[104],{"id":105,"by":106,"text":107},"21378706","slavik81","It was added in v3.13. It would be nice the minimum version required to use a function was directly stated in the CMake documentation. I just keep picking older versions from the…",[109,113],{"value":110,"source":59,"evidence":111},"Why is copy needed before push on a stack",[112],{"id":83,"by":80,"text":84},{"value":114,"source":59,"evidence":115},"Is there a performance cost from non-C calling conventions",[116],{"id":117,"by":63,"text":118},"21378424","Did you do anything special to make the CPU happy\u002Fefficient with forth function calls? I heard a rumor that CPUs find it hard to predict branches with code that doesn't do C…",[120,127,131],{"value":121,"source":59,"evidence":122},"Joy",[123],{"id":124,"by":125,"text":126},"21380391","carapace","I've been playing with Joy the last few years. (My project: https:\u002F\u002Fjoypy.osdn.io\u002F ) My experience has been that, once you get used to it, it's much easier to reason about Joy…",{"value":128,"source":59,"evidence":129},"Factor",[130],{"id":89,"by":90,"text":91},{"value":132,"source":59,"evidence":133},"PostScript",[134],{"id":135,"by":136,"text":137},"21377813","protomyth","Postscript does the: num {op} repeat form with the ability to take references of the code blocks using def.",{"comments":139,"answered":34,"key":140},14,[141,142,145],{"id":72,"text":73},{"id":143,"text":144},"21378520","I'm curious, what kind of messing with the return stack are you talking about? The only thing forthy2 does that is slightly out of the ordinary is TCO.",{"id":146,"text":147},"21379933","Ah yes, hardcore Forthers do seem to take pride in finding the absolute smallest number of fundamental building blocks. There comes a point, though; where pretending everything…",{"commenters":149,"max_depth":150,"maker_replies":139,"first_comment_mins":151,"lifespan_hours":152},9,7,654,105,[154,156,157,159,161,163,164,167,169,170,173,176,178,180,182,185,186,188,191,193,195,196,198,200,203,204,207,209],[93,32,32,155,94,32],"other\u002Fneutral\u002Fidea",[72,32,32,155,11,40],[158,32,32,155,63,32],"21378472",[143,32,32,160,11,40],"project\u002Fneutral\u002Fdesign",[162,32,32,155,63,32],"21379644",[146,32,32,155,11,40],[165,32,32,155,166,32],"21393068","notduncansmith",[168,32,32,155,11,40],"21417133",[124,32,32,155,125,32],[171,32,32,172,11,40],"21381929","commenter\u002Fcritical\u002Fidea",[174,32,32,175,125,32],"21387830","commenter\u002Fneutral\u002Fidea",[177,32,32,172,11,40],"21387994",[89,32,32,179,90,32],"other\u002Fcritical\u002Fdesign",[79,40,40,181,80,32],"project\u002Fcritical\u002Fdesign",[183,40,32,184,11,40],"21376316","maker\u002Fneutral\u002Fdocs",[83,40,40,181,80,32],[187,40,32,160,11,40],"21377294",[189,40,32,190,11,40],"21381969","project\u002Fpositive\u002Fdesign",[192,33,40,181,136,32],"21375839",[194,33,32,190,11,40],"21376339",[135,33,32,155,136,32],[197,33,32,190,11,40],"21377968",[62,38,40,199,63,32],"project\u002Fcritical\u002Fexecution",[201,38,32,202,11,40],"21378007","maker\u002Fneutral\u002Fexecution",[105,38,38,202,106,32],[205,38,32,206,11,40],"21379963","maker\u002Fpositive\u002Fexecution",[117,34,38,208,63,32],"project\u002Fneutral\u002Fperformance",[50,34,32,208,11,40],[],[212,217,222,227,232,237],{"id":213,"name":214,"points":215,"category":216},"21371642","pg_flame",321,"dev_tools",{"id":218,"name":219,"points":220,"category":221},"21394222","Karma",151,"productivity",{"id":223,"name":224,"points":225,"category":226},"21403091","Micro CRM",147,"web_saas",{"id":228,"name":229,"points":230,"category":231},"21391195","SlowTube",143,"creative",{"id":233,"name":234,"points":235,"category":236},"21351695","MNML",127,"games",{"id":238,"name":239,"points":240,"category":236},"21353123","Aim and Shoot",118,11,false,"v2",{"id":245,"name":5,"line":6,"ai":242,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":246,"top":18,"kw":247,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":248,"url":9,"mix":249,"praise":69,"objection":76,"sub":21},21373173,-0.38,[24,25,26,27,28],"0000000000000101001000103030",[32,33,32,34],1794036582415]