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”.
I guess your issue with whitespace sensitivity is about writing the code, while reading is fine?
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”.
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?
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!
It looks kind of like a smalltalk’ish Terra.
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.
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.
Another vote for the OCaml syntax
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 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.
Links is tierless (like Ocsigen, or Ur/Web). You write code for the client, server and datastore in the same language.