[{"data":1,"prerenderedAt":237},["ShallowReactive",2],{"project-10634918":3},{"id":4,"name":5,"line":5,"line_source":6,"title":7,"url":8,"domain":9,"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":27,"sentiment":28,"stance_mix":29,"scored_comments":32,"aspects":33,"strip":39,"post_text":41,"what":42,"said":63,"maker_in_thread":131,"shape":133,"grid":137,"attempts":194,"same_week":200,"maker_shows":35,"maker_hidden":230,"reader_version":231,"card":232},"10634918","Easy Forth","title","Show HN: Easy Forth","http:\u002F\u002Fskilldrick.github.io\u002Feasyforth\u002F","skilldrick.github.io","skilldrick",1448574927,2015,122,24,193,2565,8,"notable","learning_science","programming language tutorial","web_app",[23,24,25,26],"forth","postfix language","learn forth","stack language","mixed",0,{"positive":30,"neutral":31,"mixed":31,"critical":31},2,3,11,{"docs":34,"design":36,"idea":37,"execution":38},{"positive":35,"critical":28},1,{"positive":28,"critical":28},{"positive":28,"critical":31},{"positive":28,"critical":28},[40,31,28,31,28,28,35,28,28,28,35,28,28,28,28,28,35,31,31,31,31,28,40,28],5,null,{"problem":43,"audience":53,"pricing":41,"motivation":41,"time_to_build":41,"stack":61,"openness":62,"stage":62,"team_size":62},{"value":44,"source":45,"evidence":46},"Learning the Forth programming language","inferred",[47,49],{"id":48},"post",{"id":50,"by":51,"text":52},"10636592","tonyonodi","This looks amazing! Thank you. I've been meaning to learn Forth since forever now.",{"value":54,"source":45,"evidence":55},"People learning Forth",[56,57],{"id":50,"by":51,"text":52},{"id":58,"by":59,"text":60},"10636119","danbolt","This is an enjoyable read! I've been coming across mentions of Forth much more often lately, so it feels satisfying being able to get a sense of it. One thing that caught my…",[],"unknown",{"praise":64,"objections":78,"requests":102,"questions":107,"alternatives":112},[65],{"value":66,"source":67,"evidence":68},"Clear, easy to follow introduction to Forth","commenter",[69,73,74],{"id":70,"by":71,"text":72},"10635244","zatkin","Everything is great, simple, and easy to understand, and then I get to that Snake example and the code is nearly unreadable.",{"id":50,"by":51,"text":52},{"id":75,"by":76,"text":77},"10635327","vive-la-liberte","I often use dc(1) so my first instinct was to type \"1 2 3 +\" into the input without intermediate linebreaks. I was delighted to see that this was correctly understood to mean…",[79,94],{"value":80,"source":67,"evidence":81},"Postfix notation is hard to read for complex expressions",[82,86,90],{"id":83,"by":84,"text":85},"10635886","peter303","Forth programs are very compact. And so are Forth intepreters. Great for 1970s PCs with memories as small as 8K. But postfix programs are hard to understand. An hour later and…",{"id":87,"by":88,"text":89},"10637121","TazeTSchnitzel","That's too trivial an example. When you get something more complex, the difference becomes clearer. Can you parse the following easily? c_z x * s_z y * s_y * c_y z * + c_x * c_z…",{"id":91,"by":92,"text":93},"10637984","kazinator","Postfix isn't hard to understand. Postifix with no syntactic delimitation is hard to understand. The problem with Forth is that although we undersatnd what each word does in…",{"value":95,"source":67,"evidence":96},"Snake example is hard to read",[97,98],{"id":70,"by":71,"text":72},{"id":99,"by":100,"text":101},"10635348","abecedarius","The Snake code is more complex than it needs to be -- example: defining directions as constants from 1 to 4 and then using IF on the direction, instead of defining directions as…",[103],{"value":104,"source":67,"evidence":105},"Mobile input field steals focus when scrolling",[106],{"id":75,"by":76,"text":77},[108],{"value":109,"source":67,"evidence":110},"Why false is 0 and true is -1 in Forth",[111],{"id":58,"by":59,"text":60},[113,124],{"value":114,"source":67,"evidence":115},"GNU Forth",[116,120],{"id":117,"by":118,"text":119},"10635431","brudgers","Not directly a solution, but there is GNU Forth for Android. https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=gnu.gforth&hl=e",{"id":121,"by":122,"text":123},"10635533","to3m","If you really insist on having an enum for your directions, what you could do is something like this: (assuming 2s complement and TRUE being ~0) ``` : DIREQ DIRECTION @ = ; :…",{"value":125,"source":67,"evidence":126},"8th",[127],{"id":128,"by":129,"text":130},"10635325","berntb","Fun environment. A couple of weeks ago I installed 8th to learn a Forth as a hobby. (It promised iOS integration, so it might even be useful. I'm not there yet. :-) )",{"comments":28,"answered":28,"key":132},[],{"commenters":134,"max_depth":17,"maker_replies":28,"first_comment_mins":135,"lifespan_hours":136},15,117,25,[138,142,144,146,148,150,152,154,158,160,163,164,166,169,171,173,175,176,179,180,182,186,189,192],[139,28,40,140,141,28],"10635315","project\u002Fpositive\u002Fdocs","richdougherty",[75,35,31,143,76,28],"project\u002Fmixed\u002Fdesign",[117,35,28,145,118,28],"other\u002Fneutral\u002Fnone",[58,30,31,147,59,28],"project\u002Fneutral\u002Fidea",[149,30,28,145,100,28],"10636187",[151,30,28,145,88,28],"10636863",[83,31,35,153,84,28],"project\u002Fcritical\u002Fidea",[155,31,28,156,157,28],"10636488","commenter\u002Fcritical\u002Fnone","klibertp",[159,31,28,156,88,28],"10636874",[161,31,28,162,157,28],"10637027","commenter\u002Fneutral\u002Fnone",[87,31,35,153,88,28],[165,31,28,156,157,28],"10637886",[167,31,28,168,92,28],"10637999","commenter\u002Fcritical\u002Fidea",[170,31,28,162,157,28],"10638423",[172,31,28,156,92,28],"10638639",[174,31,28,162,157,28],"10639290",[91,31,35,153,92,28],[70,177,31,178,71,28],4,"project\u002Fmixed\u002Fdocs",[99,177,31,178,100,28],[121,177,31,181,122,28],"project\u002Fneutral\u002Fexecution",[183,177,31,184,185,28],"10635682","maker\u002Fneutral\u002Fexecution","voltagex_",[187,40,28,145,188,28],"10637005","david-given",[50,190,40,191,51,28],6,"project\u002Fpositive\u002Fnone",[128,193,28,145,129,28],7,[195,199],{"id":196,"t":197,"points":198,"comments":28},"10629786",1448486429,10,{"id":4,"t":11,"points":13,"comments":14},[201,206,211,216,221,225],{"id":202,"name":203,"points":204,"category":205},"10646440","Pickle Cat",747,"creative",{"id":207,"name":208,"points":209,"category":210},"10646551","HackerCouch",162,"consumer_social",{"id":212,"name":213,"points":214,"category":215},"10663298","LaTeX Boilerplates",104,"productivity",{"id":217,"name":218,"points":219,"category":220},"10649059","Mmm",72,"languages",{"id":222,"name":223,"points":224,"category":205},"10656671","VerizonCraft",53,{"id":226,"name":227,"points":228,"category":229},"10637278","Real Time Black Friday Dashboard",46,"web_saas",false,"v2",{"id":233,"name":5,"line":5,"ai":230,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":28,"top":17,"kw":234,"maker":10,"domain":9,"tier":18,"attempts":30,"strip":235,"url":8,"mix":236,"praise":66,"objection":80,"sub":20},10634918,[23,24,25,26],"530300100010000013333050",[30,31,31,31],1794036538079]