What do you think of OCaml? Is it worth learning?
OCaml thread
Other urls found in this thread:
realworldocaml.org
twitter.com
>OCaml thread
>thread
Can OCaml do multicore yet?
Haskell is the victor of the Henley-Milner family. Learn Haskell. Then learn Idris. Then learn Coq.
Why does their logo have the general look of a dromedary camel, but has two humps like a bactrian camel?
Also camels are really neat animals so I like that they have one as their logo.
Absolutely abhorrent syntax though.
i was taught it at uni. seems better than (((lisp))) with less jews. f# is microsofts ocaml clone
Microsofts ocaml clone with actual good parallel programming, unsigned ints, and monads. But without functors
monads but no functors ???
ML functors
SML*
>actually implying ML family is better than Lisp
Suck my cock
Was good enough to write the Rust compiler before it became self-hosted, so I say yes.
I'm really interested in lisp/scheme but it feels kind of "dirty"
THough I'm sick of Haskell's strict rules all the time
lisp is ancient, strict static typing is the only way to go
Learn you a Haskell, real good
OCaml it's the fucking goat, learn how to tail recursion and you'll be fine
>Is it worth learning?
No, Scala implements literally every single good idea of OCaml, so just learn Scala.
except that scala has a shit syntax, really using OO is retarded anyway even in O(kek)cmal
Great language, extremely sane and successful community. Only for big dick chads working in banking and hanging out with rich scholmos in fifth avenue
What makes it better than lisp.
Should I learn SML NOW???
Ml family has less industry than lisp.
not true, between F# and Haskell, you make good money
Haskell isn't real ML come on
>lisp is dirty
???
And ml isn't ancient ???
it's ML but better, who needs modules
What has been going in with lisp research since then from now? Haskell has improved ML for quite some time, and even now with the linear types proposal Haskell keeps evolving.
Lisp is stuck in the past.
But Lisp is about real programming .
I mean
Lain uses Lisp
Or get a job
the ML family of languages are the best functional languages, ML was originally designed as an automated theorem prover,they have extremely strong typing, its highly optimizeable and run extremely fast.
Lisp>Algol>Ml
If I want to get into ML is ocaml the best option
Why does the ml change from meta language to machine language in ml to ocaml
>meme language thread
Learn C
nobody in their right mind would learn C in 2018 unless he wanted to work coding drivers, OSs, or very low level algorithms
What's wrong with that
he's a web """"developer""""
Bad thread
>Scala implements literally every single good idea of OCaml
Scala user here
nigga u tarded, go back to your fanboi squabbles.
>Is it worth learning?
ML family is good shit. OCaml is the most pragmatic proper member of it (F# is ML the same way that Clojure is LISP). Especially since they got (some of) their shit together with RWO and opam.
But it's still got a lot of downsides for real world use, and don't expect to learn it and have a good chance of getting a job in it.
There's Jane Street, some internal Facebook stuff (see also ReasonML), the OCamlLabs lads, MirageOS and shit.
However it's still straddling the fence between academic wankery and real-world useful shit.
Scala is more used in the industry, but has different trade-offs, it's less elegant and powerful in certain ways.
Haskell is in the opposite direction.
I'd say learn it for the educational value, if you've got the time to spare. skim realworldocaml.org
Can you cite a single good thing about OCaml that Scala doesn't do?
Literally a single one.
FFTW
Spawning new process is valid way to handle parallel processing. The runtime initialization is marginal overhead and with process message passing you can be sure there are no data races.
Ocaml doesn't need multithreading support.
This is a very silly solution.
Spawning multiple processes means that you have to come up with farely convoluted solution to share the application state (in case the application is stateful).
This is the same bullshit the people of python and nodejs tell you to do, while languages like Haskell, Scala and Clojure figure out sane ways to implement both parallelism and concurrency.
>what is HM type inference
compile times
resource consumption
(bloatedness)
ease of deployment
non-toxic community
actually usable for hypervisor and unikernel related work
not being useless for command line utilities
dude write once and run everywhere lmao
dumb sjw poster
Can you cite a single thing that the HM type system does that the Scala's typesystem with traits and classes can't do?
Protip: You can't
dumb fuck
I'm talking about the "Haskell on the JVM" fucks shitting up the language ecosystem.
non-shit type inference
Does anyone actually use this language? I never heard of it before Jow Forums. Haskell has more of a presence.
They used to use it a lot for teaching kids how to program in france.
Nowadays they probably use Python or Java.
does OCaml has cute 2d girl?
They still use OCaml.
Ocaml is more used than Haskell in the real world.
why OCaml is not more popular?
I thought the consensus was that OCaml needed a better parallelization/concurrency system, but that spawning a new process was "good enough" so reworking OCaml to "properly" support parallelization/concurrency is low priority?
Opinion on F#?
Discount OCaml on .NET, so IIRC plenty of limitations hence my clojure/lisp analogy.
The only reason to pick MS tech is if you're in it for the money and don't mind the vendor lock in
>inb4 net core - yeah nah
Seeing as learning OCaml is less about getting a job with it, and more about the educational benefits, it seems like F# is a bad choice if coming from that direction.
OTOH if you're already in the .NET gilded cage, F# is a nice cocktease.
ocamllex/ocamlyacc
TL: they can't figure out how to do it.
It's literally a port of ocaml to the .net runtime. It has a several great IDEs with non-shit debuggers (Visual Studio on Windows, .Net Code and JetBrains Rider on multiple platforms), and you can use the .net libraries if you want.
It's also had multicore support since forever. It's hilarious as fuck that the easiest way to get multicore support in ocaml turned out to be to port it into the evil M$ world.
>OCaml is less about getting a job with it, and more about the educational benefits, it seems like F# is a bad choice if coming from that direction.
Can confirm - OCaml is only good for educational toylike stuff, it isn't good for actual work, unless you want to work for Jane Street.
F# on the other hand is great for getting things done, and will get you a job, precisely because it is a first-class member of the .Net world instead of a special snowflake only used by one mid-sized financial institution.
>inb4 net core - yeah nah
lol. .net core is less microsoft than ocaml is jane street. enjoy your jane street lock-in ocamltard.
>F# will get you a job
hm
>jane street lock-in
one of the reasons why I'm not putting my eggs in the ML basket