ReasonML with Phoenix?

Tags: #<Tag:0x00007f1149ac3cd8>


F# provides also a “verbose” syntax which use brackets, so you can choose.
The most people in F# use the whitespace sensitive syntax, called “light”. :slight_smile:

I guess your issue with whitespace sensitivity is about writing the code, while reading is fine?


Entirely yep.


Do you think, its even more readable?


Not always no.


So sometimes? :stuck_out_tongue:


Depends on the individual language syntax. ^.^


OCaml and F#?


What about?

OCaml has first class modules that last I checked F# entirely lacked, so definitely OCaml as that is required for soon-coming implicit witnesses. ^.^


Smalltalk for the low level


Oooo, that looks interesting! :slight_smile:

It looks kind of like a smalltalk’ish Terra. :slight_smile:


Yeah, something like that. There are so much awesome tools outside, Clojures website and Rich Huckeys talk “Simple made easy” convinced me completely about functional programming, even when F# is still my favorite. :slight_smile:


Where do you see the differences between the Elm architecture and Links?


Heh, never heard of it, does not seem to have a lot similar on first comparison. It is built in ocaml. ^.^


I think its propose is similar to your implementation, Bucklescript-TEA.

I add that one to the Wikipedia page of Elm, by the way.


6 posts were split to a new topic: What are Monads?

What are Monads?

Another vote for the OCaml syntax

###Why I choose Bucklescript

by @tcoopman

The article is more on the “vs Elm” topic (in the most complementary fashion).


Verbosity aside - I think there is also a failure to communicate. In the C-family of languages “the stuff between braces” are statements. In Reason the braces have been repurposed for as “begin”/“end” tokens. But as a result of previous familiarity with the C-family of languages this way of using braces is going to delay viewing everything as an expression.

What are Monads?
What are Monads?

What I dislike about { .. } is that in a language like OCaml heavily relies on record it requires extra efforts to tell if it is a code block or a record. Rust has this problem as well.


Ditto, and it has been repurposed for objects as well (I think tuples are (/)?), so {/} is quad-purposed in ReasonML (maybe more), this is one thing I really dislike as it is forcing them to do weird things like {1, 2, 3} or {. 1, 2, 3} or {.. 1, 2, 3} or more and other weird things just to get things unambiguous again. OCaml’s syntax may look odd to javascripters, but it is chosen for a very good reason.

What are Monads?

Links is tierless (like Ocsigen, or Ur/Web). You write code for the client, server and datastore in the same language.