[{"data":1,"prerenderedAt":161},["ShallowReactive",2],{"project-21309518":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":33,"aspects":34,"strip":36,"post_text":30,"what":38,"said":55,"maker_in_thread":91,"shape":104,"grid":106,"attempts":122,"same_week":123,"maker_shows":33,"maker_hidden":154,"reader_version":155,"card":156},"21309518","Eole","A Lévy-optimal lambda calculus evaluator written in Rust","title","Show HN: Eole, a Lévy-optimal lambda calculus evaluator written in Rust","https:\u002F\u002Fgithub.com\u002FHerrmannM\u002Feole","github.com","HerrmannM",1571635071,2019,106,9,457,2195,21,"notable","languages","lambda calculus evaluator","cli",[24,25,26,27,28],"lambda calculus","optimal reduction","lévy optimal","rust","evaluator","quiet",null,{"positive":32,"neutral":33,"mixed":32,"critical":32},0,1,{"idea":35},{"positive":32,"critical":32},[32,32,32,32,37,32,32,32,32],3,{"problem":39,"audience":30,"pricing":30,"motivation":30,"time_to_build":30,"stack":48,"openness":53,"stage":54,"team_size":53},{"value":40,"source":41,"evidence":42},"Evaluating pure lambda calculus terms with Lévy-optimal reduction","maker",[43,45],{"id":44},"post",{"id":46,"by":11,"text":47},"21319712","Joke aside, it is supposed (I have some interesting bugs at the moment) to be an evaluator for the pure lambda calculus. So, I guess you can encode monads in it, but that is not…",[49],{"value":50,"source":41,"evidence":51},"Rust",[52],{"id":44},"unknown","prototype",{"praise":56,"objections":57,"requests":66,"questions":71,"alternatives":79},[],[58],{"value":59,"source":60,"evidence":61},"Optimality and soundness not yet proven; counter-examples sought","commenter",[62],{"id":63,"by":64,"text":65},"21311588","danharaj","Did you demonstrate that your trick is sound and optimal? Optimal reduction is a tricky beast and you might need to use a very high order function to find a counterexample.",[67],{"value":68,"source":60,"evidence":69},"Demonstrate that the reduction is sound and optimal",[70],{"id":63,"by":64,"text":65},[72],{"value":73,"source":60,"evidence":74},"Does it support monads?",[75],{"id":76,"by":77,"text":78},"21318334","voldacar","Does it have monads?",[80,87],{"value":81,"source":60,"evidence":82},"Formality",[83],{"id":84,"by":85,"text":86},"21310675","xorand","I wanted to point you to two almost similar efforts [0] [1] then I found your post [2]. You may be interested also in [3]. [0] https:\u002F\u002Fgithub.com\u002Fmoonad\u002FFormality [1]…",{"value":88,"source":60,"evidence":89},"chemlambda",[90],{"id":84,"by":85,"text":86},{"comments":92,"answered":93,"key":94},4,2,[95,98,101],{"id":96,"text":97},"21311512","I'm glad you find interest in this work. Thank you for the links, I did not know we could do computation with... chemistry! As I'm not familiar with that, I do not understand…",{"id":99,"text":100},"21318665","A tricky beast indeed! No, the formal proof is a work in progress, so I'm also looking for counter-examples. And since posting on hackernews, someone found some problems (thank…",{"id":102,"text":103},"21318701","Of course not, monads are so 20th century... The October 2019 way is to only work with stacks of TripleZippersInvertedStateTransformerLens, and I know you know it!",{"commenters":92,"max_depth":92,"maker_replies":92,"first_comment_mins":105,"lifespan_hours":18},303,[107,109,111,113,115,117,119,120,121],[84,32,32,108,85,32],"other\u002Fneutral\u002Fnone",[96,32,32,110,11,33],"project\u002Fmixed\u002Fidea",[112,32,32,108,85,32],"21312827",[114,32,32,108,85,32],"21312883",[63,33,37,116,64,32],"project\u002Fneutral\u002Fidea",[99,33,32,118,11,33],"project\u002Fneutral\u002Fexecution",[76,93,32,108,77,32],[102,93,32,108,11,33],[46,93,32,118,11,33],[],[124,129,134,139,144,149],{"id":125,"name":126,"points":127,"category":128},"21307888","docker-nginx-http3",219,"infrastructure",{"id":130,"name":131,"points":132,"category":133},"21282699","Magic Sandbox",180,"learning_science",{"id":135,"name":136,"points":137,"category":138},"21293941","Blackjack Break",132,"games",{"id":140,"name":141,"points":142,"category":143},"21330500","Glaze",120,"creative",{"id":145,"name":146,"points":147,"category":148},"21335366","Trip Planner",110,"dev_tools",{"id":150,"name":151,"points":152,"category":153},"21318787","Immutable Coffee",100,"web_saas",false,"v2",{"id":157,"name":5,"line":6,"ai":154,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":30,"top":18,"kw":158,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":159,"url":9,"mix":160,"praise":-1,"objection":59,"sub":21},21309518,[24,25,26,27,28],"000030000",[32,33,32,32],1794036582182]