/IN4355-2015

IN4355 Functional Programming

IN4355 - Functional Programming 2015

Project Description Max. team size Team
0 Implement a Markdown implementation/compiler, using parser combinators, ASTs, etc. 4 Maikel Langezaal, Pouja Nikray and Jochem de Goede
1 Build a monadic Web stack in Scala and Scala.js (inspiration: cycle.js & your server as a function) 4
2 Develop High level Cloud programming models / Declarative Data Center, inspiration: Satnam Singh's Blog 2
3 Develop High level Cloud programming models / Declarative Data Center, inspiration: Functional programming for the data centre 2
4 Develop High level Cloud programming models / Declarative Data Center, inspiration: Service combinators for farming virtual machines, Docker 2
5 Develop High level Cloud programming models / Declarative Data Center, inspiration: Service Combinators for Web Computing 2
6 Develop High level Cloud programming models / Declarative Data Center, inspiration: Chef, Puppet, etc. 2
7 Probability Monad and Probabilistic Programming: Practical probabilistic Programming with Monads, Programming with Uncertain Data 2
8 Probability Monad: HLearn done right (HLearn is way too complicated) 2
9 Probability Monad: Reimplement Mike's blog samples using several different ML libraries 2
10 Build an alternative for firebase from scratch (inspiration: search quora for alternatives) 4
11 Implement Neural Networks, Types, and Functional Programming 2
12 Create a beautiful, high-level, hacking library that wraps libpcap in Java/Scala. For inspiration look at libraries like Scapy 4
13 Port the Elm samples to RxMobile 2 Albert ten Napel (4087798)
14 Android Monad, Haskell for Android (Android's lifecycle smells like the State Monad, can you make it concrete?) 4
15 Implement a webserver in Scala based on Simon Marlow's WebServer, but based on modern standards like HTTP 2.0, websockets, server sent-events, etc. 4 Bouke Nederstigt, Luís Cleto, Tiago Fernandes, Ana Martin Legorburo
16 Implement a simpler (i.e. more elegant, non-scalaz) version of Rapture.IO (crypto, JSON, XML, etc.) 2
17 Re-implement Snappy DB from scratch 2
18 Re-implement Level DB from scratch (similar to this.) 2
19 Re-implement SQLite from scratch (inspiration: csharp-sqllite) 2
20 Implement an ORM inspired by sqlite-net 2
21 Implement an ORM inspired by sqlbrite 2
22 Implement an ORM inspired by SugarORM 2
23 Implement the CouchDB sync protocol in Scala inspired by PouchDB. Extra credits for implementing a CouchDB server as well 4
24 Create Scala bindings for AWS Lambda, convert all Java examples to Scala, and port at least popular 10 Node.js samples 4