[{"data":1,"prerenderedAt":446},["ShallowReactive",2],{"project-23283880":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":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":77,"maker_in_thread":193,"shape":203,"grid":208,"attempts":409,"same_week":410,"maker_shows":39,"maker_hidden":438,"reader_version":439,"card":440},"23283880","neut","A dependently-typed programming language with static memory management","title","Show HN: A dependently-typed programming language with static memory management","https:\u002F\u002Fgithub.com\u002Fu2zv1wx\u002Fneut","github.com","u2zv1wx",1590248891,2020,456,78,63,3028,3,"legend","languages","programming language","other",[24,25,26,27],"dependent types","static memory management","functional programming","linear types","curious",0.014,{"positive":31,"neutral":32,"mixed":33,"critical":34},9,17,0,8,34,{"docs":37,"idea":40,"performance":42,"design":43},{"positive":38,"critical":39},6,1,{"positive":41,"critical":41},2,{"positive":33,"critical":41},{"positive":33,"critical":18},[45,33,33,33,33,33,33,33,45,45,45,18,33,39,18,45,45,39,18,33,18,33,39,45,18,18,18,33,18,18,39,39,45,18,39,39,33,33,33,33],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":46,"time_to_build":46,"stack":59,"openness":74,"stage":75,"team_size":76},{"value":49,"source":50,"evidence":51},"Memory management without a garbage collector in a dependently-typed functional language.","inferred",[52,55],{"id":53,"by":11,"text":54},"23288442","Thank you for your interest. I think this is not a possible-or-impossible problem, but a what-to-choose problem. Both Haskell and OCaml happen to choose GC today, but they could…",{"id":56,"by":57,"text":58},"23284637","amelius","From a Rust perspective, this may be true. But from a Haskell perspective, this language promises to completely eliminate the garbage collector, which is a big deal.",[60,68],{"value":61,"source":62,"evidence":63},"Haskell","commenter",[64],{"id":65,"by":66,"text":67},"23285401","akavel","Personally, I found the initial intro surprisingly easy to read and digest. I got double surprised when I noticed this is written in Haskell (IIUC) - for a thing created by a…",{"value":69,"source":62,"evidence":70},"LLVM",[71],{"id":72,"by":11,"text":73},"23288933","What you need are the two functions `malloc` and `free` that have the following signatures: ``` declare i8* @malloc(i64) declare void @free(i8*) ``` So if you have…","open_source","prototype","solo",{"praise":78,"objections":101,"requests":128,"questions":147,"alternatives":169},[79,90,97],{"value":80,"source":62,"evidence":81},"Readme introduction is clear and approachable",[82,86,87],{"id":83,"by":84,"text":85},"23284782","doersino","The introduction at the top of the Readme is great – it succinctly explains what the project does, how it relates to existing languages, and why the reader should care. Way too…",{"id":65,"by":66,"text":67},{"id":88,"by":66,"text":89},"23286753","Heh, sorry, you're totally right, parts are definitively 100% Haskell-speak for sure (and I totally jumped over them with 0 understanding); what I really meant and failed to…",{"value":91,"source":62,"evidence":92},"Impressive commit history and dedication",[93],{"id":94,"by":95,"text":96},"23284389","lukevp","You are almost 3500 commits in to this project already, with no other contributors? The dedication to this is incredible. It sounds super compelling and I wish you luck! I hope…",{"value":98,"source":62,"evidence":99},"Important research direction for memory management",[100],{"id":56,"by":57,"text":58},[102,113,124],{"value":103,"source":62,"evidence":104},"Readme is heavy on formalism and hard to follow",[105,109],{"id":106,"by":107,"text":108},"23284333","devit","It's kind of hard to decode the explanation given that it spends a lot of text on useless formalism instead of substance, but it seems like this language has three fatal…",{"id":110,"by":111,"text":112},"23285162","_bxg1","The parent comment comes off as arrogant but so does this one. Oftentimes concepts like these are presented in language that's more impenetrable than necessary. I don't know if…",{"value":114,"source":62,"evidence":115},"Lacks linearity in user-facing language and implicit allocation",[116,120],{"id":117,"by":118,"text":119},"23284443","h-cobordism","I'm pretty sure you're right on all counts; I'm not even sure that shared immutable borrows would work under the very simple transform given in the README. Edit: Also, the…",{"id":121,"by":122,"text":123},"23290365","ferzul","yes, i found the first example quite surprising. there doesn't seem to be any request to copy the string; it is simply unintuively copied\u002Fproduced three times. i would prefer the…",{"value":125,"source":62,"evidence":126},"Shared mutable data and borrowing unclear or unsupported",[127],{"id":106,"by":107,"text":108},[129,133,140],{"value":130,"source":62,"evidence":131},"Clearer marketing and summary of key benefits",[132],{"id":94,"by":95,"text":96},{"value":134,"source":62,"evidence":135},"Explain how stack-allocated variables and borrowing work",[136],{"id":137,"by":138,"text":139},"23290493","rehemiau","I didn't find an explaination of how it deals with variables (e.g. strings) allocated on the stack, does\u002Fhow borrowing work for those?",{"value":141,"source":62,"evidence":142},"Mention linearity in the introduction",[143],{"id":144,"by":145,"text":146},"23285274","runeks","The concept of linearity is referenced 21 times in various sections, but not in the introduction. As a first-time reader, I would appreciate if the introduction were to mention…",[148,155,162],{"value":149,"source":62,"evidence":150},"How does it compare to Haskell\u002FOCaml translation feasibility",[151],{"id":152,"by":153,"text":154},"23284102","akavi","This looks amazing, albeit waaay over my head. The introduction says it \"is made possible by translating the source language into a dependent variant of Call-By-Push-Value.\".…",{"value":156,"source":62,"evidence":157},"How big is the runtime and can it be libc-free",[158],{"id":159,"by":160,"text":161},"23287909","aey","Super cool! Any idea how big the runtime is? Is it easy to run a libc free version? I honestly feel like the embedded\u002Ffirmware slice of the stack desperately needs a next gen…",{"value":163,"source":62,"evidence":164},"Is it based on CIC rather than pure CoC",[165],{"id":166,"by":167,"text":168},"23289657","logicchains","Since this seems to support inductive types, would it be correct to say that it's based on the calculus of inductive constructions (CIC), not the plain CoC? Basing a…",[170,178,182,189],{"value":171,"source":62,"evidence":172},"Rust",[173,177],{"id":174,"by":175,"text":176},"23285351","panic","Jean Yang made a great analogy here: https:\u002F\u002Ftwitter.com\u002Fjeanqasaur\u002Fstatus\u002F1262833050473259009 > Programming languages researchers are like fashion designers and \"research…",{"id":106,"by":107,"text":108},{"value":179,"source":62,"evidence":180},"Zig",[181],{"id":94,"by":95,"text":96},{"value":183,"source":62,"evidence":184},"Carp",[185],{"id":186,"by":187,"text":188},"23298233","milkey_mouse","This reminds me a lot of Carp: https:\u002F\u002Fgithub.com\u002Fcarp-lang\u002FCarp",{"value":190,"source":62,"evidence":191},"Cyclone",[192],{"id":174,"by":175,"text":176},{"comments":38,"answered":194,"key":195},4,[196,199,200],{"id":197,"text":198},"23288168","Thank you for kind words! Yes, I think 3500 commits are enough to make things that might need further explanation too obvious to the author. A feedback from someone like you is…",{"id":53,"text":54},{"id":201,"text":202},"23288654","Possibly, but not sure. Currently my life is in a peculiar state (?) so I think firstly I need to stabilize it somehow.",{"commenters":204,"max_depth":205,"maker_replies":38,"first_comment_mins":206,"lifespan_hours":207},51,7,25,45,[209,211,215,218,221,222,225,229,232,235,237,240,243,246,249,252,255,256,260,261,265,269,270,272,276,278,281,285,289,291,292,296,297,301,304,307,309,311,313,316,318,319,321,324,326,329,331,334,335,336,339,341,345,348,352,354,356,359,361,365,367,369,370,372,373,375,377,380,382,384,388,391,392,395,399,401,403,405,407],[94,33,45,210,95,33],"maker\u002Fpositive\u002Fdocs",[212,33,33,213,214,33],"23284830","commenter\u002Fneutral\u002Fnone","parentheses",[216,33,33,213,217,33],"23284922","Jaxan",[219,33,33,213,220,33],"23285063","The_Colonel",[174,33,33,213,175,33],[223,33,33,213,224,33],"23285425","GuiA",[226,33,33,227,228,33],"23291133","other\u002Fneutral\u002Fnone","heavenlyblue",[230,33,33,213,231,33],"23285788","jakear",[233,33,33,213,234,33],"23286501","setr",[236,33,33,213,66,33],"23285066",[238,33,33,213,239,33],"23285677","naasking",[241,33,33,213,242,33],"23286816","jcelerier",[244,33,33,227,245,33],"23289320","vorpalhex",[247,33,33,227,248,33],"23290127","the_why_of_y",[250,33,33,227,251,33],"23288456","gwern",[253,33,33,227,254,33],"23288811","entha_saava",[65,33,45,210,66,33],[257,33,18,258,259,33],"23285748","maker\u002Fneutral\u002Fdocs","tome",[88,33,45,210,66,33],[262,33,45,263,264,33],"23287085","maker\u002Fpositive\u002Fnone","throwaway17_17",[266,33,45,267,268,33],"23287170","project\u002Fpositive\u002Fdocs","mncharity",[197,33,33,258,11,39],[152,39,18,271,153,33],"project\u002Fneutral\u002Fidea",[273,39,33,274,275,33],"23284528","commenter\u002Fneutral\u002Fidea","zozbot234",[277,39,33,274,264,33],"23285470",[279,39,33,213,280,33],"23287970","eointierney",[282,39,39,283,284,33],"23285255","project\u002Fcritical\u002Fperformance","vilhelm_s",[286,39,18,287,288,33],"23286316","project\u002Fneutral\u002Fperformance","mintplant",[53,39,33,290,11,39],"maker\u002Fneutral\u002Fidea",[83,41,45,267,84,33],[293,18,18,294,295,33],"23285089","maker\u002Fneutral\u002Fnone","scott_s",[201,18,33,294,11,39],[298,18,45,299,300,33],"23291789","project\u002Fpositive\u002Fidea","Syzygies",[302,18,33,213,303,33],"23300422","Y_Y",[305,194,39,283,306,33],"23286481","NieDzejkob",[308,194,18,287,264,33],"23287120",[310,194,33,263,11,39],"23288816",[312,194,33,213,122,33],"23290115",[314,194,33,213,315,33],"23290935","dependenttypes",[317,194,33,213,259,33],"23291059",[144,45,18,258,145,33],[320,45,33,210,11,39],"23288765",[322,38,33,227,323,33],"23285644","shpongled",[166,205,39,325,167,33],"project\u002Fcritical\u002Fidea",[327,205,33,213,328,33],"23290321","perthmad",[330,205,33,274,167,33],"23290665",[332,34,45,210,333,33],"23289381","namelosw",[159,31,18,287,160,33],[72,31,33,258,11,39],[337,31,18,338,160,33],"23291948","maker\u002Fneutral\u002Fperformance",[186,340,18,271,187,33],10,[342,343,18,271,344,33],"23284409",11,"potiuper",[346,343,33,227,347,33],"23284454","EE84M3i",[349,343,33,350,351,33],"23284839","commenter\u002Fpositive\u002Fnone","bo1024",[353,343,33,227,264,33],"23287136",[355,343,33,213,264,33],"23285519",[137,357,18,358,138,33],12,"project\u002Fneutral\u002Fdocs",[360,357,18,287,138,33],"23290533",[362,363,33,227,364,33],"23284182",13,"rntksi",[106,366,39,325,107,33],14,[117,366,39,368,118,33],"project\u002Fcritical\u002Fdesign",[121,366,39,368,122,33],[371,366,18,271,111,33],"23284601",[56,366,45,299,57,33],[374,366,18,271,111,33],"23284935",[376,366,18,271,57,33],"23285002",[378,366,18,379,111,33],"23285022","project\u002Fneutral\u002Fdesign",[381,366,18,379,57,33],"23285075",[383,366,39,368,122,33],"23290323",[385,366,33,386,387,33],"23284873","commenter\u002Fneutral\u002Fdocs","voxl",[389,366,39,390,275,33],"23285119","project\u002Fcritical\u002Fdocs",[110,366,33,386,111,33],[393,366,33,213,394,33],"23284889","noelwelsh",[396,366,33,397,398,33],"23286110","other\u002Fneutral\u002Fidea","matvore",[400,366,33,227,248,33],"23290199",[402,366,33,213,398,33],"23293475",[404,366,33,213,248,33],"23294088",[406,366,33,213,398,33],"23294436",[408,366,33,213,248,33],"23295256",[],[411,416,421,425,430,434],{"id":412,"name":413,"points":414,"category":415},"23324598","Obsidian",1087,"productivity",{"id":417,"name":418,"points":419,"category":420},"23312339","Bear",685,"web_saas",{"id":422,"name":423,"points":424,"category":415},"23295989","Wiper",574,{"id":426,"name":427,"points":428,"category":429},"23282207","LaTeX.css",515,"dev_tools",{"id":431,"name":432,"points":433,"category":415},"23255732","newscatcher",420,{"id":435,"name":436,"points":437,"category":415},"23330228","Straight2Spam",318,false,"v2",{"id":441,"name":5,"line":6,"ai":438,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":442,"top":18,"kw":443,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":444,"url":9,"mix":445,"praise":80,"objection":103,"sub":21},23283880,0.01,[24,25,26,27],"5000000055530135513030153330331153110000",[31,32,33,34],1794036590952]