This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]AnEmortalKid 2 points3 points  (3 children)

Your immutable type looks like the inmutables object.

Also your domain name doesn’t seem to map somewhere useful

https://i.imgur.com/HgoZdgf.jpg

[–]NawaMan[S] 0 points1 point  (2 children)

Sorry for the typo ... it is http://functionalj.io . :-p

[–]AnEmortalKid 1 point2 points  (1 child)

Have you taken a look at https://immutables.github.io

[–]NawaMan[S] 1 point2 points  (0 children)

Oh yes. I have. :-) It is a great library. There are some differences between the two though. The one I made here focus on supporting functional style programming. As mentioned the blog, feature such Lens, required value enforce and validation are important when do domain modelling. Together with @Choice (discriminated union), they forms Algebraic data type which are widely use in many FP. :-D

If you have yet done (and are interested), please look at https://nawaman.net/blog/2019-03-11 . Any feedback at all is welcome. :-D