Notes for CS51 guest lecture. Notes for a CS51 guest lecture comparing OCaml and Elm, highlighting Elm's common uses in web apps, data visualization, and 3D graphics with specific library examples. It also discusses Elm's advantages in performance, asset size, security, and reliability, while noting Haskell's strong concurrency support but lack of a simple server library for beginners. You can try online and check out some examples Keep this OCaml vs Elm syntax doc open Common Uses are web apps code , data visualization, and 3D Graphics. - Html - example, docs, elm-ui examples - Svg - example, more fun example, elm-charts examples - WebGL - example, more fun example, elm-3d-scene examples - Performance - framework comparison - Asset Size - dead code elimination - Security - JS vulnerabilities, easy event logger - Reliability - see typical bug tracker volume 150k/month, 50k/month - elm/parser + terezka/elm-charts - Stat 110 + charts Common uses include servers, terminal apps, and compilers. Here is the Elm compiler and an example of how ADTs make writing compilers quite nice I think there is still lots of opportunity for creating a simpler server library for Haskell. There is not currently one that I would unreservedly recommend for someone getting started. Haskell’s support for concurrency is really great though, so once you learn enough, it can be really nice and performant. Here is some server code and some other server code in case you want some examples of what can be improved upon