19 ms·
Try OCaml
- galfarragem 8y agoWhat is the probability of Ocaml/Reason becoming mainstream?
- xor1 8y ago23%
- k__ 8y agoI say 30%! I have no idea, Reason is pretty rad, but I have the feeling since 3.0 it lost steam. I mean they still didn't add async/await
- TheAsprngHacker 8y agoTo my knowledge, Reason is just an alternate syntax over OCaml and the two can be converted to each other. Thus, Reason should have the same semantics as OCaml. As OCaml isn’t just targeted at JavaScript, IMO adding async/await sugar for Reason wouldn’t make sense. (I assume that you mean syntax that desugars to JS promises. Correct me if I misunderstood.) Although, it would be pretty cool if OCaml got some kind of do-notation (like Haskell), a generalization of async/await sugar for any monad structure...
- thedufer 8y agoI think you're looking for let syntax (https://github.com/janestreet/ppx_let https://github.com/janestreet/ppx_let). It is syntactic sugar for monads and applicatives.
- rezeroed 8y agoI don't see why these two are being lumped together. I see ReasonML needs OCaml, but not that OCaml needs ReasonML. OCaml I expect will become increasingly mainstream - I've started using it instead of rust on personal projects. ReasonML would increase exposure to OCaml, but OCaml in no way needs it to succeed.
- dudul 8y agoInteresting, I really like OCaml myself but see it mostly as a fringe language as of today. What makes you think it will become more mainstream?
- rezeroed 8y agoI think it hits a sweet spot. Not as boring as Go, not as obstinate and distracting as Rust ("I'm sorry, Dave"), not purely functional for those who don't want to go all the way in that direction. I expect people who try those languages and decide "not quite" might try OCaml and find it more flexible and elegant. It's appearing more often in the "who's hiring" posts. There are the characteristics such as compilation speed vs others which could do with being, ahem, compiled into a post somewhere, if not already.
- joshmarlow 8y ago> not purely functional for those who don't want to go all the way in that direction That's why I first loved it. I liked what I knew of Haskell but was skeptical of the Monadic IO system (I've since warmed to the idea). OCaml was in a perfect sweet spot in my opinion. Also it feels a bit less abstract in some difficult to define way - I don't think Monads really clicked for me until I was using Options in OCaml. I'll also second the opinion that as a _language_ OCaml is more ergonomic than Rust. However, I find that Rust is more _community ergonomic_ - it's easier to find libraries and contribute to them. Related to that - the build process is just spot-on. With OCaml, I found myself tripping over obscure errors in my build process about every month or so. For me, OCaml is a bit like the one that got away. But I'm excited about the momentum behind the Reason project!
- gmfawcett 8y agoIt doesn't seem odd to me to lump them together. Reason is just an alternate syntax for Ocaml, and because of this the "Reason toolchain" is usable with Ocaml code as well, and with mixed Reason/Ocaml projects.
- hajile 8y ago
- pome 8y agoIt's mainstream in compiler writing - Hack, Haxe, WebAssembly (Interpreter and Parser), Rust before self-hosting. :-))
- icc97 8y agoReason calls itself Javascript 2030. That's not a completely unreasonable time line for ML languages to go from the small percentage that they have now to being in the top say 5-10 languages used. React has made the probability much higher. Reason is kinda like JS the good parts + Immutable JS + Typescript + Redux. Plus it works well with React. If your team is using React there's a good chance you'd get a benefit from implementing Reason in a few places with little risk.
- snaky 8y agoIt depends on very random factors and events, like with (almost) any other programming language. How could anybody rate a probability of some experimental language from Sun research lab - the tiny, fast, garbage-collected, object-oriented language for embedded systems to become mainstream - before the language was renamed from Oak to Java?
- xvilka 8y agoFor a different materials and useful libraries for OCaml there is an "Awesome OCaml" [1] repository. [1] https://github.com/rizo/awesome-ocaml https://github.com/rizo/awesome-ocaml
- amelius 8y agoNice. But it should explain float arithmetic, i.e., why can I do 1+1 but not 1.0+1.0.
- djtango 8y agoIt was a surprising language decision to find out that OCaml didn't do implement polymorphic behaviour for common operations and opted to stress static types for things like print_int or 1.0 +. 1.0...
- k__ 8y agoDoes this mean, it has a special function/operator for adding ints to floats?
- masklinn 8y agoIt doesn't have any way to add ints to floats directly. You have to convert one to the other then perform the addition. Haskell or Rust are the same incidentally: while the same "lexical" operator is used all the time (`+`), numeric additions are defined for two values of the exact same concrete type e.g. in Haskell you can add two Int or to Float or two Integer, but not an Int and an Integer, or an Int and a Float: Prelude> (1::Int) + (1::Int) 2 Prelude> (1::Integer) + (1::Integer) 2 Prelude> (1::Float) + (1::Float) 2.0 <interactive>:6:15: error: • Couldn't match expected type ‘Float’ with actual type ‘Int’ • In the second argument of ‘(+)’, namely ‘(1 :: Int)’ In the expression: (1 :: Float) + (1 :: Int) In an equation for ‘it’: it = (1 :: Float) + (1 :: Int)
- watshn 8y agoWhile true, that issue arose because you restricted their types. Without the type annotations it would have worked just fine, because the (+) function is polymorphic in the Num typeclass, and because literals are overloaded such that the literal 1 will have type Fractional a when type inference calls for it. So in ghci: Prelude> let x = 1 + 1.0 Prelude> :t x x :: Fractional a => a Prelude> x 2.0
- sandGorgon 8y agoCould someone from the ocaml world comment on Typescript vs Ocaml ? Is Typescript as close you get to Ocaml world... without writing a "ml" ?
- rainygold 8y agoNo. Reason would be the closest you can get without using OCaml itself.
- masklinn 8y agoReason's actual name is Reason ML, and is just a different syntax for regular OCaml. Clean or Purescript or Haskell or Rust would be the closest you can get to the OCaml world without writing the word ML.
- musha68k 8y agoIIRC it was simply called Reason at first but then the slightly more descriptive ML was added for better searchability. People call it both Reason and Reason ML now. That seems fine to me :) You are right it mostly is just a different syntax for OCaml but like in the Erlang/Elixir case there is a bit more to the story (js interop, js ecosystem, new ideas here and there, more diverse community as a result, etc). I still call it reason, especially when I talk about it with other js developers ;)
- reycharles 8y agoNo, Reason's actual name is Reason. The Reason ML name is similar to Go's "golang" name -- to work around the SEO nightmare the choice of the name really is. Your comment is otherwise correct in that Reason is an alternative syntax for good 'ole OCaml.
- galfarragem 8y agoProbably Typescript is as close you get to Java world using web technologies.
- seanhunter 8y agoI would highly recommend Jon Harrop's "OCaml for Scientists" if you're interested in learning OCaml. It's a really awesome book. http://www.ffconsultancy.com/products/ocaml_for_scientists/ http://www.ffconsultancy.com/products/ocaml_for_scientists/ When I was learning OCAML and bought the book, Jon actually found some code I had posted on my website and sent me some advice about how to make it more idiomatic. He even rewrote the first one of my functions to show me how.
- amelius 8y agoInteresting. What makes this book specifically "for scientists"?
- fsloth 8y agoNot OP but it explains why Ocalm is really good for the sort of code numerical science would turn to C++ or Fortran more stereotypically. I.e instead of focusing on programming for programming's sake (as introductory programming books sometimes tend to do) it actually digs into real applications, specifically, where a non-trivial problem is solved with elegant, short, readable and correct code. Seconded, it's an awesome book!
- seanhunter 8y agoIf memory serves (I don't have my copy to hand) it focuses particularly on analysis and visualisation, and a lot of the examples are scientific in nature.
- Syzygies 8y agoThe book is unusually expensive, and scientists have grants.
- 3rdAccount 8y agoThat book is ancient, but probably still pretty relevant. John Harrop himself posted on reddit awhile back that he hadn't personally used OCaml in a long time when someone asked about the book on the OCaml sub reddit. His username starts with jdh I think. Honestly though, scientific computing seems to be going Julia. Really good numeric, optimization, charting, linear algebra, parallel & distributed computing...etc. It's all free and open source. Julia Computing was founded to provide enterprise support and services including auditing and affordable cloud computing. This is the direction I'm moving towards. You should check out the case studies on Julia Computing.
- Drup 8y agoI'm not sure why this is linked. This online toplevel is very old. People who want a more modern version, with more exercises should follow the online MOOC [1] or use this website [2]. People who just want an online OCaml/Reason interpreter to play with should use https://sketch.sh/ml https://sketch.sh/ml 1: https://www.fun-mooc.fr/courses/course-v1:parisdiderot+56002+session03/about https://www.fun-mooc.fr/courses/course-v1:parisdiderot+56002... 2: https://try.ocamlpro.com/learn-ocaml-demo/ https://try.ocamlpro.com/learn-ocaml-demo/
- rezeroed 8y agoThere's also an ocaml toplevel for android, not the easiest to use, I keep an eye out for it arriving on termux.
- shikoba 8y agoYou can compile OCaml in termux if you want. https://ygrek.org.ua/p/ocaml-termux.html https://ygrek.org.ua/p/ocaml-termux.html
- petercooper 8y agoBecause this is all on a single page and is a nice introduction to language people might not have coded in before (like me). That MOOC has a login wall and the other interpreter has no instructions, so I'm glad OP posted.
- dna_polymerase 8y agoWell I did only discover this one today. I found it to be a nice little introduction, just enough to be interesting for others as well, hence the submission. Also, you and others submitted so many more great links in this discussion, so I think all of this might be useful for others.
- edwintorok 8y agoShould this site have a link to [2]?
- emmelaich 8y ago
- 7474747 8y agoshouldnt ["[test]"] work?
- seanhunter 8y agoIt should and it does for me (ie it defines a one item string list, containing "[test]"). What were you expecting it to do?
- garkin 8y agoI tried ReasonML an year ago. It was __very__ amusing to play with Variants, Pattern Matching and Units. If programm compiles - it almost always just works. It's an indispensable tool to play around and get more ideas how to write a better programs. And it was disastrous in __everything__ else. Installation and compiler bugs. Terrible tooling. Terrible code packaging. Terrible Javascript interop. Painfully archaic syntax. Sometimes extremely esoteric compiler errors. After a week i thrown out all the code and rewritten it using Typescript. Won't ever use new languages on projects with deadlines, no matter how sweet evangilists talks are.
- PascalW 8y agoI would encourage you to try it again. There were some big changes in ReasonML in the last year. I've picked up ReasonML about 3 months ago and experienced almost none of the issues you described. It's still a little rough around the edges compared to for example Elm, but the tooling, packaging, Javascript interop etc are really good IMO.
- jasim 8y agoWe have built a design-to-code tool (Sketch to clean HTML & CSS) in Reason[1], and it has been the best experience ever in my 10 years of programming. We even used Reason for writing ObjectiveC/Cocoa through CocoaScript (a Javascript-to-ObjC bridge), thanks to Reason/BuckleScript's excellent Javascript interop. The language and compiler is rock solid - it has to be because it has been worked on for over 40 years from the days of ML. For the last three years a team of people including Hongbo Zhang, Jordan Walke, Cheng Lou and others have been actively working on Javascript tooling for OCaml, and it is an absolute pleasure to use today. [1] Protoship Codegen - https://youtu.be/hdww16KK8S8 https://youtu.be/hdww16KK8S8
- chrisseaton 8y ago> If programm compiles - it almost always just works. I can never understand this claim when people make it about languages like Haskell and ReasonML. How is the compiler catching your logic bugs? If you write 'a + b' and you should have written 'a - b' the compiler isn't going to catch that in either of those languages. It'll compile but it won't work. Do you never make these kind of logic bugs?
- w1nt3rmu4e 8y agoI know cryptocurrency is contentious in this community so apologies for injecting it here: OCamlPro is heavily involved in the development of Tezos and a big part of the reason I invested in it. One of the main selling points of Tezos is formal verification, which OCaml (being a pure-ish functional language) was instrumental for. Regardless of the future of crypto (fad or world changing) if it's handling money or other assets it should be done safely. This is step in that direction. OCaml is also used at Bloomberg and Jane Street.
- sshine 8y agoThat's also why I bought some tezzies, or what they're called. It's a pity that functional programming and formal verification aren't enough to overcome selfish and destructive founder behavior.
- dbrgn 8y agoIt's complicated. Here is a huge Wire story about Tezos: https://www.wired.com/story/tezos-blockchain-love-story-horror-story/ https://www.wired.com/story/tezos-blockchain-love-story-horr...
- village-idiot 8y agoNo thanks. I’m tired of trying to get shit done in MLs and then giving up and working in react or rails.
- jklein11 8y agoOther than satisfying curiosity, why should I learn OCaml?
- jnordwick 8y agoThere is none. OCaml is a kitchen sink of a language that has grown by accretion. I remember playing with it years ago, but today there are many more modern and better designed languages that cover the same ground, such as rust - and I'm not even a rust fanboy to say this. Unless you're into historic languages for their own sake, I wouldn't waste my time. It would be like learning BASIC.
- wadkar 8y agoCould you please tell us how rust is better at functional programming than OCaml? Your comment appears unsubstantiated to me. I am not sure how you reached the conclusion of equating learning OCaml with learning BASIC, but I would be happy to know your reasoning.
- gaius 8y agoIt would be like learning BASIC. If I had an opportunity to do Real Work in BBC BASIC I would jump on it
- fsloth 8y agoPrograms written in ML dialects tend to have the astounding property that once they compile, they are correct. And this is only a slight exaggeration. This property alone is worthwhile to learn one, if for nothing else then to be able to apply the same succesfull patterns in other languages. I didn't know how to write proper strongly typed code until I learnt Ocaml - I had several years of experience in C++ and knew Java, but, they really don't go out of their way to expose the patterns that allow write the best code possible. With the lens of Ocaml under my belt I could better discern the shiny patterns that were buried all that ugly dirt of multiple inheritance and such bollocks. Which ML language should you learn? Any of them is good as the next if it's for education - a modern tooling, support and community is a nice bonus. ML languages in production nowadays include Ocaml, F# and, to some extent given it has so much isomorphism with its kin, Scala. Scala can be considered an ML dialect, although with the weirdest syntax of them all. Unless you are quite certain Ocaml is the exact language you want to learn, F# is a good alternative.
- karmakaze 8y agoWhat's the current state of F# on non-MS platforms? How does it compare to OCaml or F# on Windows? I've always wanted to get into it but for some reason (jvm ecosystem?) thought a cross-platform, multilang env would have advantages.
- sergimansilla 8y agoIt's very good right now, especially with .NET core the new dotnet command, and VSCode's great support it's easier than ever to develop in F# on any platform.
- hajile 8y agoWhen is F# getting native compilation? MS has been promising it for years now. Last I heard, they still had zero progress toward handling tail calls.
- phillipcarter 8y agoNote: there's a very big difference between "native compilation" and the product known as ".NET Native". .NET Native is a proprietary, Windows-only backend compiler toolchain for statically linking and tree-shaking compiled IL, used only for UWP apps on Windows 10 devices. It is this toolchain that does not support F#. Beyond that, there are no toolchains for compiling to a single, native binary that are a shipping part of the .NET product. We are not prioritizing .NET Native for F# at this time (from the F# team perspective), as we feel that .NET Core gives us more reach for F#.
- atombender 8y agoAs someone who's interested in F#, but has zero interest in ".NET", I hope for F# to someday become available as an independent language with native compilation and minimal runtime -- no Mono, no CLR, native platform support on Linux and Mac, and so on. But it sounds like that's not the direction things are going in?
- zeroname 8y agoWalked into OCaml back in the day. Saw floating point operators. Slowly backed out of the room, never to return.
- dean177 8y agoWhy was that a dealbreaker for you?
- zeroname 8y agoIt looks horrible to me. I use a lot of FP math, and I'm not going to pick up the habit of sprinkling these dots everywhere. The fact that the language designers would even seriously consider this solution tells me it's not for me. YMMV, of course.
- Labo333 8y agoI made those notebooks that can execute OCaml locally in-browser: https://louisabraham.github.io/domical/ https://louisabraham.github.io/domical/ What do you think?
- thangngoc89 8y agoOh hey. I think we should collaborate somehow. I'm building https://sketch.sh/ml https://sketch.sh/ml which does the same thing (execute OCaml locally in-browser)
- nikhilsimha 8y agoThis is the most constructive comment thread on HN in a long time!
- Labo333 8y agoI discovered Sketch on the OCaml forum just after I finished the alpha version of domical. I'll publish domical after some issues coming from iodide are corrected. Sketch is really awesome, and serves different purposes. Domical is just an interpreter for the iodide notebooks, which are designed to be portable and execute all kind of languages: js, python (those crazy folks compiled the full interpreter and f numpy in WASM) and now OCaml. I can see that sketch has really a lot more features. A key feature of iodide is its simplicity and portability: the whole notebook is written in a readable format looking like markdown and called jsmd. Take a look at the source code of the page to better understand. So definitely we have a lot to share on our respective projects, even if I am not one of the main contributors of iodide (I just did the OCaml part). If you want to continue this discussion, my email is on my homepage :)
- xfer 8y ago> Performance: better than native `ocaml` Maybe you could word it as native `ocaml` interpreter instead? Ocaml can compile to machine code.
- igouy 8y agohttps://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/ocaml.html https://benchmarksgame-team.pages.debian.net/benchmarksgame/... "The OCaml native-code compiler, version 4.07.0"
- jimmy1 8y agoI am usually not one for dismissing a language for syntax alone, but, the syntax for arrays versus lists feels very cumbersome. Can an experienced OCaml developer tell me how common it is to use lists versus arrays? I can only imagine how many bugs I would type at this stage of my career after being used to [] for arrays but forgetting the pipe, and getting a list instead. It's also very difficult to type.
- chillee 8y agoWell, any bugs you would get are very immediate (due to the strong static typing). As for your other point, lists are fairly rare. You only need arrays when you need arbitrary indexing into a list. Most of the time, however, you're simply iterating through the list in some fashion.
- hyperhopper 8y agoDo you mean arrays are rare?
- chillee 8y agoWhups, my bad. Arrays are rare, lists are very common.
- jallmann 8y ago> I can only imagine how many bugs I would type at this stage of my career after being used to [] for arrays but forgetting the pipe, and getting a list instead. Luckily, the compiler would catch this anywhere you tried to use a list where an array was expected. > how common it is to use lists versus arrays? Lists are far more common in day-to-day usage. The language even has native syntax for list consing and destructuring, which is useful for pattern matching. OCaml arrays do have their place though, if you have a fixed number of items and need random access. Float arrays are also specialized, their elements are unboxed and contiguous which helps with performance for certain types of number-crunching applications.
- 8y ago
- kxyvr 8y agoWhat's the current state of OCaml on Windows? I'd love to use OCaml on more of my projects, but this has been a roadblock for me. What I'm looking for is the ability to produce native binaries without Cygwin. I just checked without installing anything and it appeared as though OCPWin was still the choice, but it's been stuck on OCaml version 4.01.0, which was released five years ago. I know that OPAM is pushing toward a 2.0 release very soon and I didn't know if that was going to coincide with a stable OCaml/OPAM release on Windows, which would fix my problems. Does anyone have an idea?
- nikofeyn 8y agowhy don't you just use f#?
- krylon 8y agoNow that you mention it, can somebody recommend some good starting points for learning F#? That language has been on my bucket list for far too long.
- phillipcarter 8y agoHere's a good place to start: https://docs.microsoft.com/en-us/dotnet/fsharp/ https://docs.microsoft.com/en-us/dotnet/fsharp/ In addition to linking to other parts of the documentation, it links out to other third-party learning sources.
- markdoubleyou 8y agoThe "F# for fun and profit" site by Scott Wlaschin is a great jumping-off point: https://fsharpforfunandprofit.com/ https://fsharpforfunandprofit.com/ I discovered it when I was reading a lot about domain driven design, and I stumbled upon a talk by the author that kind of blew my mind: "Domain Modeling Made Functional" https://www.youtube.com/watch?v=Up7LcbGZFuo https://www.youtube.com/watch?v=Up7LcbGZFuo
- fsloth 8y ago"Expert F#" by Don Syme et. all. is a great starting point. It explains how to get started and contains lots of non-trivial code to type in and try out yourself. Don Syme designed F# as a no-nonsense industrial language and this book is a great introduction from that point of view. Then there is "Programming language Concepts" by Sestoft - which, while being a language book, at the same time exposes lot of beautiful patterns how to exactly use F# for data munching. Then, thirdly, Jon Harrop's "F# for scientist" is a great introduction for us that have a penchant foe writing numerical code (graphics or whatever). It's a great companion for the Expert F# as it shows how to use F# effectively in place of sonething like C++ or fortran.
- deleted 8y ago[deleted]
- coderchimp 8y agodamn, semicolons damn semicolons
- parabx 8y agoHi, lifelong python developer here. Is OCaml a good fit to do REST application servers? I've took a look a year ago but couldn't find well maintained libraries and it seems that the community is not so focused in general development. Am I wrong? OCaml seems really nice, I've been dabbling with rust for a while, and it feels great working with it but I'd like to try some purer functional languages too. My needs are basically a web container, some way to interface with SQL (ORM or a query builder, with support to PostGIS), some redis, some elasticsearch, nothing too fancy.
- prosses 8y agoYou can look at https://ocsigen.org https://ocsigen.org and more particularly at https://ocsigen.org/tuto/6.2/manual/rest https://ocsigen.org/tuto/6.2/manual/rest .
- specializeded 8y agoNot particularly imo, no. A great (albeit maybe not as great as OCaml ;) alternative for web usage would be F# with .NET Core, which has become a joy to work with over the past year or so on macos.
- edwintorok 8y agoYou could look at these: https://github.com/rgrinberg/opium https://github.com/rgrinberg/opium https://github.com/inhabitedtype/ocaml-webmachine https://github.com/inhabitedtype/ocaml-webmachine https://github.com/inhabitedtype/ocaml-session https://github.com/inhabitedtype/ocaml-session https://github.com/arenadotio/pgx https://github.com/arenadotio/pgx (there are a few other as well, not sure which one would support PostGIS) https://github.com/Leonidas-from-XIV/slacko https://github.com/Leonidas-from-XIV/slacko When in doubt head over to https://discuss.ocaml.org/ https://discuss.ocaml.org/ and show an example if you run into any trouble.
- joelthelion 8y agoIf you already know Haskell, how useful is it to look at OCaml?
- Barrin92 8y agoit's a fairly different language. Haskell is lazy by default, Ocaml isn't. The Haskell type system makes use of side-effects explicit, and Ocaml does not. They're only similar in the sense that they're both functional languages. Ocaml's module system is definitely worth looking at especially in contrast to Haskell's typeclass approach if you want to compare both languages.
- eindiran 8y agoThere are some features in OCaml that are interesting if you're coming from a Haskell background. In particular, polymorphic variants don't have an obvious analog in Haskell and can be used very expressively. Certain problems can be reasoned about more easily (at least for me) with strict evaluation, so some problems are easier to deal with/debug in OCaml.
- snaky 8y agoIt might be quite useful to look at BER MetaOCaml[1] at least. And maybe at some other ways to deal with some problems - like OCaml DSL instead of Haskell monad[2]. [1] http://okmij.org/ftp/ML/MetaOCaml.html http://okmij.org/ftp/ML/MetaOCaml.html [2] http://okmij.org/ftp/tagless-final/nondet-effect.html http://okmij.org/ftp/tagless-final/nondet-effect.html
- edwintorok 8y agoA nice MetaOCaml example: https://strymonas.github.io/ https://strymonas.github.io/
- mrloop68 8y agoI like OCaml, but sorry, I can't take it seriously until it gets proper support for Unicode.
- laylomo2 8y agoCan you provide an example of something you would want to be able to do with proper unicode support that is not currently possible? This is an honest question, not trying to troll you.
- edwintorok 8y agohttp://erratique.ch/software/uucp/doc/Uucp.html#uminimal http://erratique.ch/software/uucp/doc/Uucp.html#uminimal https://caml.inria.fr/pub/docs/manual-ocaml/libref/Uchar.html https://caml.inria.fr/pub/docs/manual-ocaml/libref/Uchar.htm...
- tlamponi 8y agoAll nice and dandy, but please, for the sake of everything, can this site just stop auto advancing on steps?! I click the last one and advance a step before I can comprehend what this command did or read any context. Breaks flow completely... And I'm just able to be fine advancing manually once I feel I'm done with the current step. Other nits: * show the ;; in the step code snippets, at least at the beginning - else you may be confused fast if you hack around in the "terminal" * add a 'run this snippet now' button to the code snippets, a small green triangle or whatever those IDEs are using nowadays, allows to copy of examples either modifying before execution or - like me - paste them in a "real" OCAML REPL I have on my desktop. don't get me wrong, the site and idea is nice, those things just irritate me, almost irrationally, from an UX POV.
- sshine 8y agoExercism.io has an Ocaml track with mentor feedback!
- pressurefree 8y agotry walmart claws & baby boomer pow pow powder. i want total war against these nurse witches. their heroes are torturing me they aint heroes. fuck the law i want infer no . tell hugh jackman that movie was an act of war. calling me a fat bitch its not black & white. its full technicolor. these jews & niggers have peace for dirt cheap, but ruined my body. kill them. you cowards. thats an order.
- pressurefree 8y agohttps://www.youtube.com/watch?v=96D_AxVKOnw https://www.youtube.com/watch?v=96D_AxVKOnw this aint 50th & melrose when these withc nurses are chargin the micro machines guy an arm & a leg. i want total war. fuck these nurse witches https://www.youtube.com/watch?v=96D_AxVKOnw https://www.youtube.com/watch?v=96D_AxVKOnw i have claws
- G4BB3R 8y agoHaskell and OCaml try their best to not be popular. Elm is very beginner friendly, docs, installation, great libs for each purpose and is like 5 years old. OCaml has more than 20 years old and for a beginner to install everything and make a REST API is a pain. Why that happens?
- ernst_klim 8y ago>OCaml has more than 20 years old and for a beginner to install everything and make a REST API is a pain. Why that happens? Nowadays things are quite neat with opam/dune/odig stuff. You can install packages, generate readable docs for them, just like in rust. For the rest api you could just take any existing framework, I think, e.g. [1] [2]. You should also consider that OCaml is a language, which for a long time was intended for a different kind of projects (yeah, webdev is not the only programming domain, shocking), so the direction was dictated by Coq and similar project devs rather then webdevs. Now facebook and other companies change the state of affairs. [1] http://opam.ocaml.org/packages/eliom/ http://opam.ocaml.org/packages/eliom/ [2] http://opam.ocaml.org/packages/webmachine/ http://opam.ocaml.org/packages/webmachine/