[{"data":1,"prerenderedAt":212},["ShallowReactive",2],{"project-9128352":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":34,"aspects":35,"strip":39,"post_text":42,"what":43,"said":66,"maker_in_thread":132,"shape":139,"grid":143,"attempts":173,"same_week":174,"maker_shows":41,"maker_hidden":204,"reader_version":205,"card":206},"9128352","Prolly","DSL to express and query probabilities in code","title","Show HN: Prolly – DSL to express and query probabilities in code","https:\u002F\u002Fgithub.com\u002Fiamwilhelm\u002Fprolly","github.com","iamwil",1425235919,2015,47,14,598,2565,24,"shown","languages","probabilistic programming library","library",[24,25,26,27,28],"probability","bayesian","ruby","naive bayes","probabilistic programming","mixed",0.214,{"positive":32,"neutral":32,"mixed":32,"critical":33},2,0,6,{"idea":36,"design":38},{"positive":37,"critical":33},1,{"positive":37,"critical":33},[40,33,33,40,41,33,33,40,33,40,33,33,41,33],3,5,null,{"problem":44,"audience":42,"pricing":42,"motivation":51,"time_to_build":42,"stack":55,"openness":64,"stage":65,"team_size":64},{"value":45,"source":46,"evidence":47},"Expressing and querying probabilities in code, so decisions can use prior examples instead of exact matches","maker",[48],{"id":49,"by":11,"text":50},"9128688","Yeah, this is a new library. I don't expect people to use it in the wild just yet. As for how to use it in everyday programming, I think machine learning techniques and…",{"value":52,"source":46,"evidence":53},"Make machine learning style decisions easier, such as fuzzy matching on hashes for classification",[54],{"id":49,"by":11,"text":50},[56],{"value":57,"source":58,"evidence":59},"Ruby","commenter",[60],{"id":61,"by":62,"text":63},"9128521","meesterdude","Wahoo! this is neat, and in ruby! However, I have some issues here. First, I don't know that I like the interface. Adding to the class instead of an instance of the class irks…","unknown","prototype",{"praise":67,"objections":79,"requests":91,"questions":106,"alternatives":119},[68,75],{"value":69,"source":58,"evidence":70},"Simple, intuitive interface that makes machine learning accessible",[71],{"id":72,"by":73,"text":74},"9128414","brandonb","Super cool idea! I love the fact that the interface is so simple and intuitive; I think that makes machine learning accessible to a much longer tail of problems that people would…",{"value":76,"source":58,"evidence":77},"Neat idea, and written in Ruby",[78],{"id":61,"by":62,"text":63},[80,87],{"value":81,"source":58,"evidence":82},"Adding methods to the class rather than an instance is awkward",[83,84],{"id":61,"by":62,"text":63},{"id":85,"by":62,"text":86},"9129463","I would definitely rather instantiate and build that way. I can dream up some examples where I might want to work with more than one type of probability. It would be good design…",{"value":88,"source":58,"evidence":89},"Documentation is hard to follow with limited examples",[90],{"id":61,"by":62,"text":63},[92,99],{"value":93,"source":58,"evidence":94},"Support instantiated probability spaces so multiple can be used at once",[95,96],{"id":85,"by":62,"text":86},{"id":97,"by":11,"text":98},"9128665","OP here, I used \"adding to class\" because I had assumed people would only use a single probability space at a time, and it would shorten the syntax since you didn't need to…",{"value":100,"source":58,"evidence":101},"Support probability distributions modelled as monads",[102],{"id":103,"by":104,"text":105},"9128770","noelwelsh","Probability distributions can be nicely modelled as a monad. See, for example, https:\u002F\u002Fgithub.com\u002Fjliszka\u002Fprobability-monad or…",[107,115],{"value":108,"source":58,"evidence":109},"What are real-world uses of probability-based programming",[110,111],{"id":61,"by":62,"text":63},{"id":112,"by":113,"text":114},"9128615","stdbrouw","In the wild I think you'd be more likely to use something like PyMC or Stan, which work like Prolly but support arbitrarily complex models. Still, love the idea. To learn more…",{"value":116,"source":58,"evidence":117},"Where to learn the mathematics behind it",[118],{"id":61,"by":62,"text":63},[120,124],{"value":121,"source":58,"evidence":122},"PyMC and Stan for arbitrarily complex probabilistic models",[123],{"id":112,"by":113,"text":114},{"value":125,"source":58,"evidence":126},"Probability monad implementations and Oleg's Hansei",[127,128],{"id":103,"by":104,"text":105},{"id":129,"by":130,"text":131},"9130295","tel","Oleg's Hansei is also very worth checking out http:\u002F\u002Fokmij.org\u002Fftp\u002Fkakuritu\u002F",{"comments":34,"answered":32,"key":133},[134,137,138],{"id":135,"text":136},"9130280","It does go beyond what Prolly offers. I've not heard of that Prob Distr being modeled as monads. I'll have to look into it. Thanks!",{"id":49,"text":50},{"id":97,"text":98},{"commenters":140,"max_depth":41,"maker_replies":34,"first_comment_mins":141,"lifespan_hours":142},7,16,118,[144,146,148,150,152,154,155,157,158,161,164,166,169,171],[103,33,40,145,104,33],"project\u002Fneutral\u002Fidea",[135,33,33,147,11,37],"maker\u002Fneutral\u002Fnone",[129,33,33,149,130,33],"other\u002Fneutral\u002Fnone",[61,37,40,151,62,33],"project\u002Fmixed\u002Fdesign",[112,37,41,153,113,33],"project\u002Fpositive\u002Fidea",[49,37,33,145,11,37],[97,37,33,156,11,37],"project\u002Fneutral\u002Fdesign",[85,37,40,151,62,33],[159,37,33,160,11,37],"9130276","maker\u002Fneutral\u002Fdesign",[162,37,40,156,163,33],"9129966","halostatue",[165,37,33,160,11,37],"9130261",[167,37,33,168,163,33],"9158028","commenter\u002Fneutral\u002Fdesign",[72,32,41,170,73,33],"project\u002Fpositive\u002Fdesign",[172,32,33,147,11,37],"9128723",[],[175,180,184,189,194,199],{"id":176,"name":177,"points":178,"category":179},"9144271","OpenLoopz",373,"productivity",{"id":181,"name":182,"points":183,"category":179},"9145007","Ghostnote",301,{"id":185,"name":186,"points":187,"category":188},"9131706","Circles, Sines & Signals",293,"learning_science",{"id":190,"name":191,"points":192,"category":193},"9112803","GitHub Awards",137,"dev_tools",{"id":195,"name":196,"points":197,"category":198},"9117238","grack.com",134,"creative",{"id":200,"name":201,"points":202,"category":203},"9118491","Paz",90,"infrastructure",false,"v2",{"id":207,"name":5,"line":6,"ai":204,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":208,"top":18,"kw":209,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":210,"url":9,"mix":211,"praise":69,"objection":81,"sub":21},9128352,0.21,[24,25,26,27,28],"30035003030050",[32,32,32,33],1793990920984]