Live data from Hacker News

Teaching OCaml

ocaml.org

21–30 of 34 posts

Re: Teaching OCaml

#21
post #12

I think "all of Ocaml compiles to JS " is a bit optimistic. AFAIK, code using Jane Street's Core stdlib doesn't work. But a lot of Ocaml code should be fine.

All of the core compiler library does compile to efficient JavaScript. For instance, see the IOCamlJS interactive notebooks that embed the entire compiler in the browser with a web UI. Just press the play button: - http://andrewray.github.io/iocamljs/oh261.html (H.261 video decoding) - http://www.ujamjar.com/hardcaml/ (HardCaml RTL hardware description language, similar to Chisel in Scala) - http://gazagnaire.org/fuc…

He was talking about Jane Street's replacement stdlib. I heard Core_kernel can be compiled to JS though.

Re: Teaching OCaml

#22
post #19
post #8

I'm surprised EPITA (France) is not on the school list. OCaml is the first language you learn there. Fantastic introduction to algorithms.

you can add it, here's the link to the file on Github : https://github.com/ocaml/ocaml.org/blob/cd7186176a11c860ef35...

Is there a reason you're pointing to a specific commit? The link below is to the current version.

Also note that it's easy to make quick edits in GitHub's web interface without having to clone the repo locally. It works well and we get a lot of quick fixes this way.

https://github.com/ocaml/ocaml.org/blob/master/site/learn/te...

Re: Teaching OCaml

#23
post #18

FCT UNL (Portugal) should probably be in the list. Back in the mid-90's they were teaching Caml Light. Most likely they are on OCaml nowadays. The CS department is very strong in FP and LP languages and theory.

Is there a link you can point us at? If it's in portugese we might have trouble understanding it.

Re: Teaching OCaml

#24
post #13

So many functional languages. Which one to learn? Haskell? OCaml? F#? Scheme? Common Lisp? Clojure?

For a practical language I'd pick either F# or Clojure, depending on whether you like static or dynamic typing.

Re: Teaching OCaml

#25
post #17

Earlier quoted context omitted.

Learn more than one. I would suggest, in no particular order, at least one from each of these three groups: Static, strict-by-default ML derivatives (Standard ML, F#, Ocaml, AliceML, etc.) Static, lazy-by-default ML-inspired (Haskell, probably others, but, really, Haskell). Dynamic Lisp-family languages (Racket, Scheme, Common Lisp, Clojure)

I would add a Logic Programming language like Prolog to the list.

Isn't Prolog considered a "declarative" language?

Re: Teaching OCaml

#27
post #22
post #19

Earlier quoted context omitted.

you can add it, here's the link to the file on Github : https://github.com/ocaml/ocaml.org/blob/cd7186176a11c860ef35...

Is there a reason you're pointing to a specific commit? The link below is to the current version. Also note that it's easy to make quick edits in GitHub's web interface without having to clone the repo locally. It works well and we get a lot of quick fixes this way. https://github.com/ocaml/ocaml.org/blob/master/site/learn/te...

I don't link to branches because if the file gets moved (which it very frequent especially for doc), the link goes 404.

Think of it as a use-after-free :)

Blobs are mostly immuable and you have to edit in a fork anyway, unless you have rights to the repo.

Post reply on HN