thardus
Re:Advent of Code 2018, in Coq
on Tuesday February 19, 2019 @08:07AM (#19198646)
Trying to have this discussion without IPA for multiple dialects is pretty tough with "long o" and "short o." I've only ever heard Coq pronounced like /kɑk/, but I'm from the Western US. I know Brits and Americans from the NE have the round low back vowel for /kɔk/. Coke sounds like /kouk/.
Re:Railway-Oriented Programming (2015)
on Monday June 18, 2018 @08:46AM (#17337772)
I've had a guy come in on an F# project that used exceptions in a relatively data intensive workflow and rewrite it to use Results like this.
The amount of boxing and unboxing as you go through the various switches actually can ultimately make this much less efficient than the exception based flow. The code was ultimately something like 8 times as slow, and topped out CPU on beastly boxes which was surprising to me.
Re:ReasonML – React as first intended
on Thursday May 24, 2018 @10:22AM (#17144208)
ppx (like `[%bs.raw ...`) are indeed tricky. They mostly seem to be used around the FFI. My experience has been that if you're going to use JS components from within Reason, you just type the portions of the JS interface that you'll actually use, and that's pretty much always a subset.
When you're outside the FFI, the language really shines in build speed and output. Support of ES Modules out of the box is nice too.
Re:Union Types in Flow and Reason
on Monday April 23, 2018 @02:34AM (#16900982)
The purescript example in the post shows one of Purescript’s biggest problems, and that’s non-optimal codegen.
The series of if checks (O(n)) it generates as opposed to a switch statement can really add up in loops with bigger enums.
Of the langs listed, ReasonML/OCaml have the best codegen/ffi story, it’s relatively easy to drop them into existing JS projects.