ReasonML with Phoenix?

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.

1 Like

Do you think, its even more readable?

Not always no.

1 Like

So sometimes? :stuck_out_tongue:

Depends on the individual language syntax. ^.^

1 Like

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. ^.^

1 Like

Smalltalk for the low level

1 Like

Oooo, that looks interesting! :slight_smile:

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

1 Like

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. ^.^

1 Like

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

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

1 Like

6 posts were split to a new topic: 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).

3 Likes

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.

3 Likes

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.

2 Likes

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.

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