I’m been on the JVM for 20+ years, but an opportunity came up to leverage some of my other experience to get some CLR work… and I dove in.
Fairly seasoned generalist, mostly writing Go these days. Lots of plumbing with LLMs etc.
Would love to learn something new but am driven by a goal in mind (ie OCaml exposes me to "X industry")
Is that a thing?
You can see a list on the OCaml website of companies using it, or read some success stories (https://ocaml.org/industrial-users).
- https://signalsandthreads.com/
(It's one of three programming podcasts I consistently listen to these days, the others being On The Metal and Developer Voices.)
imagine everything that's good about Rust tooling but significantly less good or non-existent instead
(the VS Code plugin for OCaml is actually decent though)
It is a very good alternative to memory safe language such as Rust and Swift. It is just NOT backed by big corporations. Which some might see it as a disadvantage, IMHO it is an advantage. Look at Perl, Linux, Hono all initially made by one guy.
With out a big group, golden handcuffs and corporate politics, things might actually gets done.
At one point, I believe KDE[0] had OCaml integrations and/or community support.
0 - https://kde.org/
Having seen "A tour of Elm,"[0] I really prefer that style. The left-hand side (what English readers read first) is an explanation of the concept, then the right side is the code, and the explanation gives you enough details to complete the code.
This introduction doesn't really explain anything, as I guess it assumes you've learned OCaml elsewhere and are just here to practice.
I tried the first exercise, and it felt more like a math problem than an exercise to teach a programming concept:
>Suppose that a variable x exists and is an integer.
>Define a variable x_power_8 that uses three multiplications to calculate x to the power of 8. The only function you are allowed to call is the (*) operator.
>Hint: use auxiliary variables.
So, at first I thought I was supposed to just call multiply eight times, and then I realized that they said you can only call multiply three times. So, you're supposed to do let a = x * x; let b = a * a; let x_power_8 = b * b. But that feels really contrived to me and not like anything I'd write in a real application, even a toy one. If the idea is teaching variables, why not just ask me to declare a variable that represents x plus 1?
a, b variables are just used for computing x_power_8, you don't need them outside of this scope. I think the point of the exercise is to use variable binding, though I agree the website doesn't explain much
Context is needed... at least some explanation or bridge examples, like... why and what do I need to navigate this particular web landing page.
Website feels like an author exercise in ocaml for js web plugin.
At Rust Chipotle, they have strict rules about the ingredients for your burrito. "White rice with medium salsa, sir? Absolutely not!". You see, medium salsa only goes with brown rice, and you also need to have beans or nothing works. Under no circumstances will they allow you to construct the burrito you think you want, no matter how much you think you want it.
Meanwhile, at OCaml Chipotle you can have whatever you like, and it always turns out awesome. But once a month you go for lunch and they'll refuse to make you a bowl, refuse to tell you why, and refuse to let you leave. And when you try to get help from a passerby after being trapped in the store, you realize there's nobody nearby who you can ask.
b0a04gl•5h ago