[{"data":1,"prerenderedAt":554},["ShallowReactive",2],{"project-29630293":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":44,"post_text":47,"what":48,"said":77,"maker_in_thread":150,"shape":161,"grid":166,"attempts":515,"same_week":516,"maker_shows":152,"maker_hidden":546,"reader_version":547,"card":548},"29630293","SectorLISP","Lisp with GC in 436 Bytes","title","Show HN: Lisp with GC in 436 Bytes","https:\u002F\u002Fjustine.lol\u002Fsectorlisp2\u002F","justine.lol","jart",1640034404,2021,513,131,41,2533,2,"legend","languages","lisp interpreter","other",[24,25,26,27,28],"lisp","boot sector","garbage collector","assembly","interpreter","loved",0.401,{"positive":32,"neutral":33,"mixed":34,"critical":18},16,17,1,36,{"execution":37,"idea":39,"performance":41,"docs":42,"design":43},{"positive":18,"critical":38},0,{"positive":40,"critical":34},5,{"positive":38,"critical":38},{"positive":34,"critical":34},{"positive":34,"critical":38},[40,40,40,45,34,45,38,38,38,38,38,45,38,38,38,40,38,38,38,45,38,38,40,40,40,40,45,45,45,46,40,45,40,38,45,38,38,38,38,38],3,4,null,{"problem":47,"audience":47,"pricing":47,"motivation":49,"time_to_build":47,"stack":59,"openness":74,"stage":75,"team_size":76},{"value":50,"source":51,"evidence":52},"Fun hacking on boot sectors and a tiny Lisp as a simple bastion of simplicity.","maker",[53,56],{"id":54,"by":11,"text":55},"29631904","Author here. Why would it? Let's have a look at Scheme letrec (or let* in Emacs Lisp) translated to pseudo-SectorLISP: ``` (LETREC ((IS-ODD? (QUOTE (LAMBDA (X) (CAR X))))…",{"id":57,"by":11,"text":58},"29641805","I think the Oldskool PC channel did a good job covering the topic. He started writing his own boot sector operating systems from scratch to make that video. When you do that, you…",[60,66,70],{"value":61,"source":51,"evidence":62},"x86 assembly",[63],{"id":64,"by":11,"text":65},"29632585","SectorLISP has always had a C implementation for explainability. It started off as ugly C because it was actually used to generate the assembly code for the first ~900 byte…",{"value":67,"source":51,"evidence":68},"C",[69],{"id":64,"by":11,"text":65},{"value":71,"source":51,"evidence":72},"JavaScript",[73],{"id":64,"by":11,"text":65},"open_source","launched","solo",{"praise":78,"objections":91,"requests":113,"questions":114,"alternatives":130},[79],{"value":80,"source":81,"evidence":82},"Inspiring writeup and educational","commenter",[83,87],{"id":84,"by":85,"text":86},"29631188","Shared404","It is submissions like this that keep me coming back to HN. Even though I understand little of the OP, I understand more than last time, and have the hope to be able understand…",{"id":88,"by":89,"text":90},"29631451","jjtheblunt","this is awesome exposition (from someone who has implemented a small version of Scheme himself decades ago)",[92,102],{"value":93,"source":81,"evidence":94},"Brainfuck comparison and whether it counts as a true language",[95,99],{"id":96,"by":97,"text":98},"29630584","commandlinefan","> BrainF#*k not a true language Curious why that might be, and TFA doesn't expound. What makes it not a \"true\" language?",{"id":100,"by":11,"text":101},"29630875","Author here. You know it when you see it. LISP is a tool that people want to use. People write production software using it. For example, this website (Hacker News) was written…",{"value":103,"source":81,"evidence":104},"Immutability claims about cyclic data and GC in Haskell",[105,109],{"id":106,"by":107,"text":108},"29630572","MaxBarraclough","Very impressive. > SectorLISP uses what we call an ABC garbage collector and it took only 40 bytes of assembly. > [...] > Fast immediate garbage collection with zero memory…",{"id":110,"by":111,"text":112},"29633595","kmill","That page is incorrect about GHC's memory management -- I verified this with a question to haskell-cafe around 2014, and I guess no one got around to updating it. The linked…",[],[115,123],{"value":116,"source":81,"evidence":117},"Whether immutable languages like Haskell can use the same GC approach",[118,119],{"id":106,"by":107,"text":108},{"id":120,"by":121,"text":122},"29630696","__s","Haskell does, https:\u002F\u002Fwiki.haskell.org\u002FGHC\u002FMemory_Management",{"value":124,"source":81,"evidence":125},"How the boot sector version does hardware I\u002FO like disk reads",[126],{"id":127,"by":128,"text":129},"29640637","mlatu","I love it, but i think the video from \"the oldskool pc\" is a bit inprecise in claiming it brings everything necessary to implement features like reading off the disk: now maybe I…",[131,139],{"value":132,"source":81,"evidence":133},"Scheme and SICP-style small Lisps",[134,138],{"id":135,"by":136,"text":137},"29634052","rurban","The short eval is standard amongst small lisps (see eg SICP), but the immutability which leads to the nice ABC GC (no RPLACD, no cycles, immutable strings) is practical. All…",{"id":54,"by":11,"text":55},{"value":140,"source":81,"evidence":141},"Erlang immutable heap GC",[142,146],{"id":143,"by":144,"text":145},"29631218","ridiculous_fish","I believe Erlang makes this guarantee and exploits it in the GC: ...the terms are immutable and thus there can be no pointers modified on the old heap to point to the young heap…",{"id":147,"by":148,"text":149},"29633245","macintux","> I'm not aware of non-academic general purpose languages that actually fall in this category. Erlang?",{"comments":151,"answered":152,"key":153},14,6,[154,157,160],{"id":155,"text":156},"29632268","Author here. Thanks! The other projects I'm known for here on HN are: https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=26271117 Redbean (2011) is a single file distributable web server.…",{"id":158,"text":159},"29635482","I used to do a lot of work on Bazel. I wrote its downloader code for example. https:\u002F\u002Fgithub.com\u002Fbazelbuild\u002Fbazel\u002Fcommit\u002Fed7ced0018dc5c5ebd6fc8afc7158037ac1df00d Bazel is nice,…",{"id":54,"text":55},{"commenters":162,"max_depth":163,"maker_replies":151,"first_comment_mins":164,"lifespan_hours":165},85,9,25,79,[167,171,173,176,180,182,185,188,190,194,197,199,201,204,206,207,211,213,214,217,218,221,224,227,230,232,234,237,240,243,245,248,250,252,255,257,258,260,263,265,268,271,274,276,278,280,282,285,288,292,296,299,300,303,305,308,311,313,315,318,321,324,326,327,330,334,337,340,343,346,349,352,354,357,360,363,366,368,371,374,377,380,385,387,389,391,394,397,399,401,404,405,408,410,412,415,419,422,424,427,430,433,436,438,442,444,447,450,453,455,458,462,465,467,469,473,476,479,482,485,487,489,492,494,496,499,501,504,508,512],[168,38,40,169,170,38],"29631924","maker\u002Fpositive\u002Fnone","jjice",[155,38,38,172,11,34],"maker\u002Fneutral\u002Fnone",[174,38,40,169,175,38],"29634159","MonkeyClub",[177,38,38,178,179,38],"29635031","commenter\u002Fneutral\u002Fnone","haakonhr",[181,38,45,172,175,38],"29670082",[183,38,40,169,184,38],"29634376","Datagenerator",[186,38,40,169,187,38],"29635143","deknos",[158,38,38,189,11,34],"maker\u002Fneutral\u002Fexecution",[191,38,40,192,193,38],"29636895","maker\u002Fpositive\u002Fexecution","waynesonfire",[195,38,45,172,196,38],"29641379","Ericson2314",[106,34,45,198,107,38],"project\u002Fneutral\u002Fidea",[120,34,38,200,121,38],"other\u002Fneutral\u002Fnone",[202,34,38,200,203,38],"29630926","WJW",[205,34,38,200,121,38],"29632359",[110,34,38,200,111,38],[208,34,34,209,210,38],"29631072","project\u002Fcritical\u002Fidea","aidenn0",[212,34,45,198,107,38],"29635376",[143,34,38,200,144,38],[215,34,38,200,216,38],"29631311","supergarfield",[147,34,38,200,148,38],[219,34,38,200,220,38],"29634755","masklinn",[222,34,38,200,223,38],"29636604","isaacimagine",[225,34,38,200,226,38],"29631374","IsTom",[228,34,38,178,229,38],"29631674","foldr",[231,34,38,178,220,38],"29634765",[233,34,38,178,229,38],"29641845",[235,34,38,178,236,38],"29631746","mixedmath",[238,34,38,200,239,38],"29632710","dan-robertson",[241,34,38,200,242,38],"29633282","remexre",[244,34,38,200,239,38],"29636273",[246,34,38,178,247,38],"29637387","kaba0",[249,34,38,178,239,38],"29644189",[251,34,38,178,242,38],"29658015",[253,34,38,178,254,38],"29632363","tooltower",[256,34,38,178,226,38],"29642949",[54,34,38,198,11,34],[259,34,45,198,239,38],"29632690",[261,34,38,262,11,34],"29633604","project\u002Fneutral\u002Fexecution",[264,34,45,198,239,38],"29636286",[266,34,38,267,11,34],"29637165","project\u002Fneutral\u002Fnone",[269,34,38,200,270,38],"29636628","jhgb",[272,34,38,200,273,38],"29637879","JonChesterfield",[275,34,38,200,270,38],"29638681",[277,34,38,200,239,38],"29644238",[279,34,38,178,239,38],"29644261",[281,34,38,178,107,38],"29642060",[283,34,38,178,284,38],"29635600","nils-m-holm",[286,18,38,200,287,38],"29630705","dang",[289,45,40,290,291,38],"29631610","project\u002Fpositive\u002Fidea","titzer",[293,45,40,294,295,38],"29636435","project\u002Fpositive\u002Fnone","ngcc_hk",[297,46,45,267,298,38],"29632248","anyfoo",[96,40,38,200,97,38],[301,40,38,200,302,38],"29630672","shadowofneptune",[304,40,38,200,97,38],"29631623",[306,40,38,200,307,38],"29630754","casion",[309,40,38,200,310,38],"29631875","not2b",[312,40,38,178,307,38],"29632116",[314,40,38,200,97,38],"29632522",[316,40,38,178,317,38],"29632616","gmfawcett",[319,40,38,178,320,38],"29640840","yellowapple",[322,40,38,178,323,38],"29635094","klyrs",[325,40,38,290,11,34],"29632672",[100,40,38,290,11,34],[328,40,38,200,329,38],"29631288","tromp",[331,40,45,332,333,38],"29632419","project\u002Fneutral\u002Fperformance","sitkack",[335,40,38,178,336,38],"29631344","shatteredgate",[338,40,38,178,339,38],"29632289","robbedpeter",[341,40,38,178,342,38],"29635539","vanderZwan",[344,40,38,200,345,38],"29631028","roywiggins",[347,40,38,200,348,38],"29632022","chubot",[350,40,38,178,351,38],"29635627","moonchild",[353,40,38,178,348,38],"29638548",[355,40,38,200,356,38],"29634046","harryposner",[358,152,40,294,359,38],"29632012","dschulz",[361,152,40,169,362,38],"29632107","adamnemecek",[364,152,38,200,365,38],"29632252","glouwbug",[367,152,38,200,11,34],"29632324",[369,152,38,200,370,38],"29635054","quickthrower2",[372,152,38,200,373,38],"29636504","Bost",[375,152,38,200,376,38],"29634085","stjohnswarts",[378,152,40,290,379,38],"29635514","TurboHaskal",[381,382,40,383,384,38],"29640676",7,"project\u002Fpositive\u002Fexecution","jhallenworld",[386,382,38,200,11,34],"29641602",[84,388,40,290,85,38],8,[390,388,38,172,11,34],"29632084",[392,388,38,200,393,38],"29635448","psyc",[395,163,45,262,396,38],"29634164","timonoko",[398,163,38,262,11,34],"29635118",[400,163,45,262,396,38],"29636352",[402,403,45,267,348,38],"29631944",10,[64,403,38,267,11,34],[406,403,45,267,407,38],"29633120","int_19h",[409,403,38,294,11,34],"29633787",[411,403,38,200,407,38],"29645126",[413,403,40,290,414,38],"29645068","machawinka",[416,417,40,290,418,38],"29631612",11,"Waterluvian",[127,420,34,421,128,38],12,"project\u002Fcritical\u002Fdocs",[57,420,38,423,11,34],"project\u002Fneutral\u002Fdocs",[425,420,45,426,128,38],"29662435","project\u002Fmixed\u002Fdocs",[135,428,40,429,136,38],13,"project\u002Fpositive\u002Fdesign",[431,151,45,198,432,38],"29632629","rackjack",[434,151,45,262,435,38],"29632664","thechao",[437,151,38,200,407,38],"29633098",[439,440,45,267,441,38],"29636358",15,"posterboy",[88,32,40,443,89,38],"project\u002Fpositive\u002Fdocs",[445,33,38,200,446,38],"29631822","jokoon",[448,33,38,200,449,38],"29632379","userbinator",[451,33,38,200,452,38],"29633266","jazzyjackson",[454,33,38,200,449,38],"29633500",[456,33,38,200,457,38],"29634839","jandrese",[459,460,45,198,461,38],"29634532",18,"andi999",[463,460,38,200,464,38],"29634651","fsloth",[466,460,45,198,461,38],"29635879",[468,460,38,200,464,38],"29647658",[470,471,38,200,472,38],"29633566",19,"bitcharmer",[474,471,38,200,475,38],"29633612","karanbhangui",[477,471,38,200,478,38],"29633695","retrac",[480,471,38,200,481,38],"29633698","nyolfen",[483,471,38,200,484,38],"29633770","ksherlock",[486,471,38,200,348,38],"29633924",[488,471,38,178,376,38],"29634067",[490,471,38,178,491,38],"29634474","kmstout",[493,471,38,178,270,38],"29637192",[495,471,38,200,323,38],"29635120",[497,471,38,200,498,38],"29635841","tsimionescu",[500,471,38,178,270,38],"29637237",[502,471,38,200,503,38],"29640324","Scaless",[505,506,38,200,507,38],"29634147",20,"LargoLasskhyfv",[509,510,38,178,511,38],"29633474",21,"jxy",[513,510,38,178,514,38],"29633694","cmrdporcupine",[],[517,522,527,532,537,541],{"id":518,"name":519,"points":520,"category":521},"29620235","fourlightyears.blogspot.com",343,"hardware",{"id":523,"name":524,"points":525,"category":526},"29637188","SlikSafe",284,"infrastructure",{"id":528,"name":529,"points":530,"category":531},"29605429","Lindy Hacker News",221,"learning_science",{"id":533,"name":534,"points":535,"category":536},"29622970","All Black Screen",121,"web_saas",{"id":538,"name":539,"points":540,"category":20},"29628772","Fiber",119,{"id":542,"name":543,"points":544,"category":545},"29595512","DataQA",116,"ai",false,"v2",{"id":549,"name":5,"line":6,"ai":546,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":550,"top":18,"kw":551,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":552,"url":9,"mix":553,"praise":80,"objection":93,"sub":21},29630293,0.4,[24,25,26,27,28],"5553130000030005000300555533345350300000",[32,33,34,18],1793991037722]