[{"data":1,"prerenderedAt":224},["ShallowReactive",2],{"project-10288249":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":40,"post_text":42,"what":43,"said":61,"maker_in_thread":125,"shape":134,"grid":138,"attempts":186,"same_week":187,"maker_shows":31,"maker_hidden":217,"reader_version":218,"card":219},"10288249","Caramel","a modern syntax for the lambda calculus","title","Show HN: Caramel – a modern syntax for the lambda calculus","https:\u002F\u002Fgithub.com\u002FMaiaVictor\u002Fcaramel","github.com","LightMachine",1443395411,2015,130,22,168,2565,7,"notable","languages","programming language","other",[24,25,26,27],"lambda calculus","functional programming","language design","syntax","curious",0.11,{"positive":31,"neutral":32,"mixed":33,"critical":34},4,8,0,1,13,{"idea":37,"execution":39},{"positive":38,"critical":34},3,{"positive":33,"critical":33},[41,33,38,33,33,41,38,33,38,34,38,33,33,33,38,41,41,38,38,33,33,38],5,null,{"problem":44,"audience":52,"pricing":42,"motivation":42,"time_to_build":42,"stack":59,"openness":60,"stage":60,"team_size":60},{"value":45,"source":46,"evidence":47},"The lambda calculus is verbose and hard to write directly.","commenter",[48],{"id":49,"by":50,"text":51},"10288355","tikhonj","This is a neat project which makes the λ-calculus more accessible. The λ-calculus is incredibly useful for designing and analyzing language features, but it can be a bit of a…",{"value":53,"source":46,"evidence":54},"Students and researchers learning programming language theory.",[55,56],{"id":49,"by":50,"text":51},{"id":57,"by":50,"text":58},"10288847","Decorators in Python are basically special syntax for higher-order functions, so I don't think there's much there to evaluate. The lambda calculus is usually used when you want…",[],"unknown",{"praise":62,"objections":78,"requests":89,"questions":101,"alternatives":116},[63,71],{"value":64,"source":46,"evidence":65},"Makes the lambda calculus more accessible and readable.",[66,67],{"id":49,"by":50,"text":51},{"id":68,"by":69,"text":70},"10288517","readymade","You'd rarely want to write lambda calculus directly for practical purposes, although Caramel looks like a very nice shorthand. But it's the fundamental basis of what functional…",{"value":72,"source":46,"evidence":73},"Good platform for playing with language design.",[74,75],{"id":49,"by":50,"text":51},{"id":76,"by":50,"text":77},"10288680","It's mostly a theoretical tool: it's an incredibly simple programming language, which makes it easy to design and evaluate language features in isolation. That's a powerful…",[79],{"value":80,"source":46,"evidence":81},"Unclear why an ADT-style type system is needed when types are just predicates.",[82,86],{"id":83,"by":84,"text":85},"10288721","javajosh","I don't think I understand the reasoning behind the ADT. Isn't a 'type' just a set of predicates applied to arguments at compile time and\u002For at runtime? Why not just define a…",{"id":87,"by":84,"text":88},"10291672","Cool, thanks for the explanation. I guess I'm a little confused by the desire to \"derive many functions on different data-structures automatically\". What's the independant…",[90,97],{"value":91,"source":46,"evidence":92},"Compile to Binary Lambda Calculus (blc).",[93],{"id":94,"by":95,"text":96},"10288368","murbard2","Would love to see this compile to blc https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBinary_lambda_calculus",{"value":98,"source":46,"evidence":99},"An online version of the interpreter.",[100],{"id":49,"by":50,"text":51},[102,109],{"value":103,"source":46,"evidence":104},"Will the Caramel compiler be bootstrapped?",[105],{"id":106,"by":107,"text":108},"10291569","nickcage","Are you going to bootstrap your Caramel compiler ?",{"value":110,"source":46,"evidence":111},"What practical applications does the lambda calculus have?",[112],{"id":113,"by":114,"text":115},"10288428","mgalka","Had never heard of the lambda calculus before. Very cool. Does it have any practical applications? Or is it mostly a theoretical \u002F conceptual tool?",[117,121],{"value":118,"source":46,"evidence":119},"trylambda",[120],{"id":49,"by":50,"text":51},{"value":122,"source":46,"evidence":123},"Haskell and Scheme",[124],{"id":76,"by":50,"text":77},{"comments":126,"answered":34,"key":127},2,[128,131],{"id":129,"text":130},"10299481","Done.",{"id":132,"text":133},"10288759","The point of ADT syntax is to allow deriving many functions on different data structures automatically. For example, lists and some functions can be defined as: ``` cons = (x…",{"commenters":135,"max_depth":31,"maker_replies":126,"first_comment_mins":136,"lifespan_hours":137},14,48,110,[139,141,145,147,150,152,155,156,157,159,161,164,166,169,171,172,173,174,177,178,181,184],[49,33,41,140,50,33],"project\u002Fpositive\u002Fidea",[142,33,33,143,144,33],"10289539","other\u002Fneutral\u002Fnone","arethuza",[94,34,38,146,95,33],"project\u002Fneutral\u002Fidea",[148,34,33,143,149,33],"10289583","biot",[129,34,33,151,11,34],"maker\u002Fpositive\u002Fexecution",[153,34,41,154,95,33],"10318375","maker\u002Fpositive\u002Fnone",[83,126,38,146,84,33],[132,126,33,146,11,34],[158,126,38,146,50,33],"10288864",[87,126,34,160,84,33],"project\u002Fcritical\u002Fidea",[162,38,38,146,163,33],"10288347","agumonkey",[165,38,33,143,50,33],"10288359",[167,38,33,143,168,33],"10288726","shiro",[170,38,33,143,163,33],"10288867",[113,31,38,146,114,33],[68,31,41,140,69,33],[76,31,41,140,50,33],[175,31,38,146,176,33],"10288748","imakesnowflakes",[57,31,38,146,50,33],[179,31,33,143,180,33],"10289023","syllogism",[182,31,33,143,183,33],"10289329","eru",[106,41,38,185,107,33],"project\u002Fneutral\u002Fexecution",[],[188,193,198,202,207,212],{"id":189,"name":190,"points":191,"category":192},"10284321","Rhei",681,"hardware",{"id":194,"name":195,"points":196,"category":197},"10276840","FreeGeoDB",108,"data",{"id":199,"name":200,"points":201,"category":20},"10286852","gsp",76,{"id":203,"name":204,"points":205,"category":206},"10297237","Promise Visualization Playground",61,"learning_science",{"id":208,"name":209,"points":210,"category":211},"10305918","Muki",57,"creative",{"id":213,"name":214,"points":215,"category":216},"10303402","New Yorker Map",49,"consumer_social",false,"v2",{"id":220,"name":5,"line":6,"ai":217,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":221,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":222,"url":9,"mix":223,"praise":64,"objection":80,"sub":21},10288249,[24,25,26,27],"5030053031300035533003",[31,32,33,34],1793990931137]