/domain-modeling-made-functional-reason

Code examples from Scott Wlaschin's book "Domain Modeling Made Functional" converted from F# to ReasonML.

Primary LanguageReason

Domain Modeling Made Functional - in ReasonML!

This repository contains an attempt to convert all the examples of the book "Domain Modeling Made Functional - Tackle Software Complexity with Domain-Driven Design and F#" into ReasonML code (BuckleScript).

I wanted to prove the point that functional DDD (Domain-Driven Design) can also be done in ReasonML, which makes sense when you think about the roots of F# and ReasonML being both in OCaml. Still, F# grew it's own feet since then, and is especially powered by the .NET ecosystem and Microsoft sheer financial- and manpower. It therefore may have a better take at being used for writing enterprise software. Let's see if we can do the same in ReasonML via BuckleScript.

For the original F# source code please refer to the corresponding The Pragmatic Programmer page.

Similar to the original, the folder structure is as follows: /src contains the folders Chapters, OrderTaking and OrderTakingEvolved. For the sake of simplicity, I only put any of them in their own namespace module and did not make three different projects out of them. Chapters files are prefixed with Ch_, OrderTaking files are prefixed with OT_ and OrderTakingEvolved files are prefixed with OTE_ accordingly.

Status

  • Chapters (0 %)
  • OrderTaking (70 %)
  • OrderTakingEvolved (0 %)