[{"data":1,"prerenderedAt":248},["ShallowReactive",2],{"project-5602917":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":41,"post_text":43,"what":44,"said":70,"maker_in_thread":145,"shape":156,"grid":160,"attempts":210,"same_week":211,"maker_shows":31,"maker_hidden":240,"reader_version":241,"card":242},"5602917","Lapis","A web framework for MoonScript and OpenResty","title","Show HN: Lapis – A web framework for MoonScript and OpenResty","http:\u002F\u002Fleafo.net\u002Flapis\u002F","leafo.net","leafo",1366825988,2013,75,23,334,1739,20,"notable","languages","web framework","library",[24,25,26,21],"moonscript","openresty","lua web framework","debated",0.121,{"positive":30,"neutral":31,"mixed":32,"critical":33},4,2,1,3,10,{"design":36,"docs":37,"performance":39,"idea":40},{"positive":32,"critical":33},{"positive":38,"critical":38},0,{"positive":32,"critical":38},{"positive":32,"critical":38},[33,38,38,42,42,33,38,38,38,38,42,33,32,32,38,38,38,38,38,38,32,38,42],5,null,{"problem":43,"audience":43,"pricing":43,"motivation":43,"time_to_build":43,"stack":45,"openness":68,"stage":68,"team_size":69},[46,52,56],{"value":47,"source":48,"evidence":49},"MoonScript","maker",[50],{"id":51},"post",{"value":53,"source":48,"evidence":54},"OpenResty",[55],{"id":51},{"value":57,"source":58,"evidence":59},"Lua","commenter",[60,64],{"id":61,"by":62,"text":63},"5604354","fingerprinter","Couldn't agree more. I've am looking at Lua for a new project and got excited when I saw this. However, that syntax looks terrible. What's worse, is it is inconsistent. Take: ```…",{"id":65,"by":66,"text":67},"5604766","pygy_","`.` and `\\` in Moonscript map to `.` and `:` in Lua. In Lua, `foo.bar` is just syntactic sugar for `foo[\"bar\"]`, a table lookup with a string key. In turn, `foo:bar(baz)` is…","unknown","solo",{"praise":71,"objections":87,"requests":100,"questions":115,"alternatives":127},[72,79],{"value":73,"source":58,"evidence":74},"Excellent documentation",[75],{"id":76,"by":77,"text":78},"5603047","MichaelGlass","Nice work! This has pretty excellent documentation. Like really excellent documentation. But jumping into the code itself is a little bit of a beast with no tests or comments.…",{"value":80,"source":58,"evidence":81},"Impressive performance numbers",[82,86],{"id":83,"by":84,"text":85},"5603152","gte910h","Interesting performance numbers. I am happy to see something past java frameworks working out so well.",{"id":61,"by":62,"text":63},[88,96],{"value":89,"source":58,"evidence":90},"Backslash syntax for method calls is off-putting and inconsistent",[91,95],{"id":92,"by":93,"text":94},"5604178","rufugee","Looks interesting, but the use of \"\\\" instead of \".\" is really a turnoff. Why do languages (I'm looking at you, PHP) think that using the backslash in any other way than escaping…",{"id":61,"by":62,"text":63},{"value":97,"source":58,"evidence":98},"Lacks tests and code comments",[99],{"id":76,"by":77,"text":78},[101,108],{"value":102,"source":58,"evidence":103},"Add a test case to the benchmarks project",[104],{"id":105,"by":106,"text":107},"5603056","bhauer","Leafo, this looks great. I was not familiar with your MoonScript language prior to this. Say, since you cite the benchmarks project, would you mind submitting a test case for…",{"value":109,"source":58,"evidence":110},"Add support for non-inlined templates such as CTPP2",[111],{"id":112,"by":113,"text":114},"5612266","snaky","Would be nice to add support for not-inlined templates with high-performance template engine like CTPP2 (ngx_ctpp2)",[116,120],{"value":117,"source":58,"evidence":118},"Is testing on the roadmap",[119],{"id":76,"by":77,"text":78},{"value":121,"source":58,"evidence":122},"Should one learn Lua before MoonScript",[123],{"id":124,"by":125,"text":126},"5617396","danjessen","Would you recommend learning Lua first before going into moonscript ?",[128,134],{"value":57,"source":58,"evidence":129},[130,131],{"id":61,"by":62,"text":63},{"id":132,"by":11,"text":133},"5604959","I really don't see why \\ has anything do with escaping when not in the context of a string (or regex) literal. There is no ambiguity whatsoever. It's a shame more languages don't…",{"value":135,"source":58,"evidence":136},"Busted test framework",[137,141],{"id":138,"by":139,"text":140},"5603650","ajacksified","Pushed native moonscript support to busted[0] this morning. :D [0] https:\u002F\u002Fgithub.com\u002FOlivine-Labs\u002Fbusted\u002Fblob\u002Fmaster\u002Fspec\u002Fmoonscript_spec.moon",{"id":142,"by":143,"text":144},"5604495","alexatkeplar","Busted is awesome - really nice test framework.",{"comments":30,"answered":33,"key":146},[147,150,153],{"id":148,"text":149},"5603282","I'd definitely like it to be part of the benchmarks project. When I get some time I'll submit a pull request for it. As mentioned in the other comment I use this for recording…",{"id":151,"text":152},"5603291","Yes I'll have a better testing setup in the near future. (Right now there are individual unit tests scattered in the modules themselves) Glad you like the documentation, I try to…",{"id":154,"text":155},"5604964","Awesome!",{"commenters":157,"max_depth":42,"maker_replies":30,"first_comment_mins":158,"lifespan_hours":159},16,21,366,[161,163,167,168,171,175,177,179,180,181,182,184,186,188,189,193,194,196,197,199,200,203,205],[105,38,33,162,106,38],"maker\u002Fneutral\u002Fnone",[164,38,38,165,166,38],"5603237","other\u002Fneutral\u002Fnone","mangostache2",[148,38,38,162,11,32],[169,38,42,170,106,38],"5603467","maker\u002Fpositive\u002Fnone",[172,32,42,173,174,38],"5603920","project\u002Fpositive\u002Fdesign","codewright",[76,31,33,176,77,38],"project\u002Fmixed\u002Fdocs",[151,31,38,178,11,32],"maker\u002Fneutral\u002Fdocs",[138,31,38,165,139,38],[142,31,38,165,143,38],[154,31,38,170,11,32],[83,33,42,183,84,38],"project\u002Fpositive\u002Fperformance",[112,30,33,185,113,38],"project\u002Fneutral\u002Fperformance",[92,42,32,187,93,38],"project\u002Fcritical\u002Fdesign",[61,42,32,187,62,38],[190,42,38,191,192,38],"5604720","commenter\u002Fneutral\u002Fdesign","jacktoole1",[124,42,38,165,125,38],[195,42,38,165,192,38],"5683693",[65,42,38,191,66,38],[198,42,38,191,77,38],"5604749",[132,42,38,173,11,32],[201,42,32,187,202,38],"5605966","Dissori",[204,42,38,191,125,38],"5617374",[206,207,42,208,209,38],"5605361",6,"project\u002Fpositive\u002Fidea","luisbebop",[],[212,217,222,226,230,235],{"id":213,"name":214,"points":215,"category":216},"5600982","Usability checklist",216,"dev_tools",{"id":218,"name":219,"points":220,"category":221},"5584520","jsdares",177,"learning_science",{"id":223,"name":224,"points":225,"category":216},"5569854","Takipi",146,{"id":227,"name":228,"points":229,"category":20},"5589208","Sync",143,{"id":231,"name":232,"points":233,"category":234},"5590394","tweetsFC",98,"consumer_social",{"id":236,"name":237,"points":238,"category":239},"5598852","Squaresend",95,"web_saas",false,"v2",{"id":243,"name":5,"line":6,"ai":240,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":244,"top":18,"kw":245,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":246,"url":9,"mix":247,"praise":73,"objection":89,"sub":21},5602917,0.12,[24,25,26,21],"30055300005311000000105",[30,31,32,33],1794036506187]