5 ms·
I think this is awesome! However for me then most interesting thing is the tech behind it. Having worked in the same office as the team behind this and been to
by boothead 12y ago
I think this is awesome! However for me then most interesting thing is the tech behind it. Having worked in the same office as the team behind this and been to a few talks that Tom's given, here are a few things that HN might find interesting.
* Built by the same guy behind BayesHive: https://bayeshive.com/ https://bayeshive.com/
* An example of probabilistic functional programming in the wild. (This let's you build programs where the variables are probability distributions.)
* Good example of something built in Haskell that really speaks to the strenghts of the language!
Maybe Tom could give us a brief synopsis of how this was built and how it works?
- glutamate 12y agoThanks Ben. On the programming side: * 100% Haskell. Even our post-install script in the packages we build for the server are in Haskell. * Use Spock and postgresql-simple * 95% of functionality is in a library which is written in Nice Haskell - e.g. all functions are total, type safety where it makes sense. * Library consists of data types, pure functions, and functions that live in a DB monad. All code is decoupled from the request-response server implementation. * Front-end in AngularJS On the statistics/learning side: * We apply Bayes' theorem every time you press that green "Next" button. There is a statistical model for your choices based on your ultimate preferences, which we estimate. * Lots of tricks to bring this inference down to 50ms on a modest CPU and to maximise information yield from user interaction. More examples of this choice paradigm coming in the next few weeks.