Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yeah though iirc they did have to rewrite the runtime to get multicore so who knows what sort of tradeoffs they'd have had to make to have had it be like that from the beginning. A lot of what made it good (to the extent it was) in the 2000s was you got a very sophisticated type & module system and a fast compiler without giving up any runtime performance compared to its peers. I don't know if that would have been achievable with its dev resources alongside multicore early. I don't know that it wouldn't either though. Just a big what if all round.

I suspect a larger or at least comparable limitation was essentially pretending windows didn't exist for uh like thirty years. If you knew what you were doing you could cross compile for it but it was not easy. Getting a dev environment running on windows was basically impossible until like five years ago.

The syntax idk I don't have strong feelings about it. I initially recoiled like everyone else of course, but to me style and naming conventions are almost as important and on that front ocaml's are also among the worst in the world lol. Once you get used to it it's kind of endearing how fucked up it is.



> style and naming conventions are almost as important and on that front ocaml's are also among the worst in the world

I’m a bit lost because Ocaml has a Pascal-like syntax (I find it nice but I generally dislike B syntax and am amongst the rare bread of developer who didn’t start with a language using it) and an extremely nice naming convention. Ocaml strongly discourages overloading, weird operators and shortly named variables unless they are local and used for a short time or an idiom like the default type of a module being named t. Everything has a long name in a module with a long name. It’s extremely nice.


> I’m a bit lost because Ocaml has a Pascal-like syntax

OCaml's syntax is not particularly Pascal-like. It'd be very hard for someone to mistake Pascal code for OCaml or vice versa.


Ocaml has the same ALGOL roots as Pascal (which is what I meant by Pascal like) and you can see the influence in the syntax: words pairing for blocks (begin/end, do/done), same use of ":". Keywords are quite close.

It obviously went through ML but you can tell the influence.


If you compare OCaml and Standard ML, which came before it, it seems like OCaml is a lot like SML but with some changed syntax for convenience, and imperative features syntax for featyres that were technically supported by SML but still awkward, and I think it's in those imperative parts where they most resemble Pascal and Algol. They added "begin" and "end" as keywords equivalent to parentheses, they added for loops, and classes, and changed array syntax to resemble other languages more (by using square brackets to indicate an array subscript).

http://adam.chlipala.net/mlcomp/


> ... with its dev resources ... Opening a pull request to the compiler or std lib was also treated with some French love. (I never bothered to open one again after that)


Who are you quoting here?


the quote is the part between the dots; my comment is about why the number of developer resources might limited.


> the quote is the part between the dots; my comment is about why the number of developer resources might limited.

Very confusing. On HN, it's customary to follow the email-style convention of using the '>' symbol for quotes and placing them on separate lines.


You are right.

However, in my defense, the '>' is there, the dots are an ellipse omitting the part that I'm not commenting on and I only noticed my comment was not placed on a separate line after I was no longer able/allowed to edit the comment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: