[{"data":1,"prerenderedAt":204},["ShallowReactive",2],{"project-5487298":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":38,"post_text":41,"what":42,"said":72,"maker_in_thread":135,"shape":141,"grid":145,"attempts":167,"same_week":168,"maker_shows":35,"maker_hidden":196,"reader_version":197,"card":198},"5487298","EmberScript","Ember.js Infused JavaScript","title","Show HN: EmberScript - Ember.js Infused JavaScript","http:\u002F\u002Femberscript.com","emberscript.com","ghempton",1365008412,2013,37,12,667,1739,39,"shown","languages","transpiled language","library",[24,25,26,27,28],"ember.js","coffeescript","transpiler","javascript","dsl","debated",0.125,{"positive":32,"neutral":33,"mixed":34,"critical":33},3,2,0,7,{"idea":37},{"positive":32,"critical":33},[39,40,34,34,32,34,40,34,39,34,32,39],5,1,null,{"problem":41,"audience":41,"pricing":41,"motivation":41,"time_to_build":41,"stack":43,"openness":71,"stage":71,"team_size":71},[44,56,60],{"value":45,"source":46,"evidence":47},"CoffeeScript","commenter",[48,52],{"id":49,"by":50,"text":51},"5488014","machty","I love the CoffeeScriptRedux project and this is a perfect little application of it. It's very easy to pick up once you know CoffeeScript and I love the idea of stylizing your…",{"id":53,"by":54,"text":55},"5487914","shaunxcode","I have been contributing to the strange cousin of the macro which is the notion of inline DSL fragment. https:\u002F\u002Fgithub.com\u002Fngn\u002Fcoffee-subscript In essence you get latex looking…",{"value":57,"source":46,"evidence":58},"CoffeeScriptRedux",[59],{"id":49,"by":50,"text":51},{"value":61,"source":46,"evidence":62},"Ember.js",[63,67],{"id":64,"by":65,"text":66},"5487770","bengillies","This is interesting, but tying a language to a particular (version of) a specific framework strikes me as a bad idea. If the aim is to bake in syntactic sugar for different…",{"id":68,"by":69,"text":70},"5488817","ratbeard","I used batmanjs on a project a bit ago and enjoyed it a lot due to the API being designed specifically for CoffeScript. It used the `class` construct instead of building its own…","unknown",{"praise":73,"objections":86,"requests":98,"questions":107,"alternatives":115},[74,82],{"value":75,"source":46,"evidence":76},"Idea of tying a language to a library is intriguing",[77,81],{"id":78,"by":79,"text":80},"5487450","ebiester","The idea is intriguing. What if we think about tying a language to a library rather than the other way around? Lisp and Forth both had the idea that you should be able to build…",{"id":49,"by":50,"text":51},{"value":83,"source":46,"evidence":84},"Fits Ember's opinionated framework well",[85],{"id":49,"by":50,"text":51},[87,91],{"value":88,"source":46,"evidence":89},"Tying a language to a specific framework version is a bad idea",[90],{"id":64,"by":65,"text":66},{"value":92,"source":46,"evidence":93},"DSLs are risky on the web because of low-level JavaScript concerns",[94],{"id":95,"by":96,"text":97},"5487507","gte910h","The web is a really weird platform for this though: There are SO many places the lower level language (the one you're translating to) has to properly handle, that DSLs feel like…",[99],{"value":100,"source":46,"evidence":101},"Support for parse transforms or sweet.js-style macros",[102,106],{"id":103,"by":104,"text":105},"5487919","tlack","It would be fantastic if this kind of stuff was embraced by the CoffeeScript people and something like Erlang's parse transforms was implemented: ``` # mycode.coffee: \"use…",{"id":64,"by":65,"text":66},[108],{"value":109,"source":110,"evidence":111},"Why is sweet.js better from the end user's perspective","maker",[112],{"id":113,"by":11,"text":114},"5487946","In EmberScript's case, sweet.js isn't sufficient for things like dependency inference (which require walking the AST). In general, however, from the end user's perspective, why…",[116,120,127,131],{"value":117,"source":46,"evidence":118},"sweet.js",[119],{"id":64,"by":65,"text":66},{"value":121,"source":46,"evidence":122},"Vala",[123],{"id":124,"by":125,"text":126},"5487768","mhd","This is basically what Vala is doing for glib\u002Fgtk (and it transpiles, too). Languages with a more flexible syntax probably don't need it as much, of course (lisp, forth,…",{"value":128,"source":46,"evidence":129},"Batman.js",[130],{"id":68,"by":69,"text":70},{"value":132,"source":46,"evidence":133},"coffee-subscript",[134],{"id":53,"by":54,"text":55},{"comments":33,"answered":40,"key":136},[137,140],{"id":138,"text":139},"5487578","Can you elaborate on some places where \"low-level\" javascript is needed?",{"id":113,"text":114},{"commenters":142,"max_depth":143,"maker_replies":33,"first_comment_mins":144,"lifespan_hours":32},10,4,21,[146,148,150,152,155,157,160,161,163,164,165,166],[78,34,39,147,79,34],"project\u002Fpositive\u002Fidea",[95,34,40,149,96,34],"project\u002Fcritical\u002Fidea",[138,34,34,151,11,40],"maker\u002Fneutral\u002Fexecution",[153,34,34,154,96,34],"5488274","other\u002Fneutral\u002Fnone",[124,34,32,156,125,34],"project\u002Fneutral\u002Fidea",[158,34,34,154,159,34],"5488347","pavlov",[64,40,40,149,65,34],[53,40,34,162,54,34],"other\u002Fneutral\u002Fidea",[103,40,39,147,104,34],[113,40,34,151,11,40],[68,40,32,156,69,34],[49,33,39,147,50,34],[],[169,173,178,182,187,191],{"id":170,"name":171,"points":172,"category":20},"5482081","Cap'n Proto",286,{"id":174,"name":175,"points":176,"category":177},"5468467","Nightweb",257,"consumer_social",{"id":179,"name":180,"points":181,"category":20},"5480073","Chardin.js",203,{"id":183,"name":184,"points":185,"category":186},"5485513","HN Store",190,"productivity",{"id":188,"name":189,"points":190,"category":177},"5474588","YouFM",132,{"id":192,"name":193,"points":194,"category":195},"5458248","Redstone",125,"infrastructure",false,"v2",{"id":199,"name":5,"line":6,"ai":196,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":200,"top":18,"kw":201,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":202,"url":9,"mix":203,"praise":75,"objection":88,"sub":21},5487298,0.13,[24,25,26,27,28],"510030105035",[32,33,34,33],1793990892925]