other-languages

here be heresies and things we have to use for work
2018-09-13T14:16:16.000100Z

ha, yep. ^ May be of interest to @john and @andy.fingerhut who were asking related questions the other day in #off-topic?

borkdude 2018-09-13T14:17:53.000100Z

I wonder how the situation is in OCaml, same I guess

2018-09-13T14:18:14.000100Z

no idea! Now I have to go research it…haha

borkdude 2018-09-13T14:18:45.000100Z

Antonio Monteiro (lumo) just gave a talk on #clojutre about full stack OCaml development.

2018-09-13T14:18:47.000100Z

there is significant effort put into tooling and friendliness via ReasonML

2018-09-13T14:19:03.000100Z

https://reasonml.github.io/

borkdude 2018-09-13T14:19:25.000100Z

@dev964 yes, it’s reason. what do you know about: 1) row polymorphism 2) hot code reloading 3) the multithreading issue in ReasonML

john 2018-09-13T14:19:45.000100Z

I know a good few clj devs that are into/professionally program ocaml/reasonML

2018-09-13T14:20:42.000100Z

Nope, haven’t played with it a lot

borkdude 2018-09-13T14:21:41.000100Z

Maybe @anmonteiro can give more information on this

2018-09-13T14:23:49.000100Z

@borkdude from this it looks like they are more flexible than in Haskell at least: you can apparently use a record without defining all the fields, and tweak the compiler to simply warn you: https://v1.realworldocaml.org/v1/en/html/records.html

2018-09-13T14:24:29.000100Z

oh, or maybe that’s just pattern matching? Not sure

john 2018-09-13T14:25:38.000100Z

@gtrak also works in the ocaml space

john 2018-09-13T14:27:14.000100Z

What's the "multithreading issue"?

borkdude 2018-09-13T14:28:30.000100Z

@john I read things like this: https://www.reddit.com/r/ocaml/comments/4c91rp/multicore_support/ dunno the current status

borkdude 2018-09-13T14:29:11.000100Z

no parallelism

mpenet 2018-09-13T14:29:13.000100Z

it's super early days for multicore, not sure I'd rely on it or plan to do so in the near future

mpenet 2018-09-13T14:29:46.000100Z

I meant about the ocaml-multicore project

john 2018-09-13T14:30:14.000100Z

hmm

john 2018-09-13T14:30:27.000100Z

not bad as a thing that compiles to js though

john 2018-09-13T14:30:39.000100Z

mostly single threaded anyway

mpenet 2018-09-13T14:32:39.000100Z

ocaml is a beautiful language, but it's platform dev is arguably super slow and the community not so big and generally a bit fragmented (multiple "core" libraries, tooling is so so, etc etc)

borkdude 2018-09-13T14:33:11.000100Z

what is FB would massively push this language?

borkdude 2018-09-13T14:33:48.000100Z

and what do you mean with platform dev super slow? I heard they have a very fast compiler, much faster than GHC. A common complaint about GHC is that it’s slow for big projects

mpenet 2018-09-13T14:33:50.000100Z

sure, but right now appart from Jane's Street there's not much pushing happening

mpenet 2018-09-13T14:34:05.000100Z

I meant the advancement of the language/compiler

mpenet 2018-09-13T14:34:18.000100Z

multicore for instance has been in the works for an eternity

borkdude 2018-09-13T14:34:49.000100Z

maybe they should compile to the JVM or BEAM then 😉

mpenet 2018-09-13T14:35:15.000100Z

there are already some ml flavors for BEAM: alpaca-lang

john 2018-09-13T14:35:28.000100Z

From what I heard, some changes to the core language renders large swaths of written code broken

john 2018-09-13T14:35:52.000100Z

And lib maintainers are constantly trying to catch up with core to keep things unbroken

mpenet 2018-09-13T14:36:32.000100Z

ocaml is fine, if you think about it the situation is not worse than python's GIL, but that's something to be aware of

2018-09-13T14:37:29.000100Z

I don’t know much about Python--is the GIL single-threaded or something? I vaguely remember hearing about that

mpenet 2018-09-13T14:37:32.000100Z

I'd be more worried about the ecosystem/tooling. Last time I used it it did require quite a lot of effort to have a decent env/routine

mpenet 2018-09-13T14:39:07.000100Z

but maybe Reason solves some of that now and also "dune", but that last one didn't exist back then

john 2018-09-13T14:41:08.000100Z

@ddellacosta yeah, python has green multi-threading, which requires the GIL thing, so not true parallelism by default, IIUC.

borkdude 2018-09-13T14:43:27.000100Z

on the other hand, the JVM doesn’t really have green threads I guess

borkdude 2018-09-13T14:45:46.000100Z

hmm, can’t reach any site on project Loom… did they pull the plug 😉

2018-09-13T14:46:16.000100Z

yet

2018-09-13T14:46:21.000100Z

gotcha, thanks

2018-09-13T14:47:15.000100Z

whole https://openjdk.java.net/ seems down?

john 2018-09-13T14:47:19.000100Z

Upon further research, I'm reading that python can spin up OS threads, but the GIL locks them in turn to prevent inconsistency.

john 2018-09-13T14:47:35.000100Z

They're on their way

2018-09-13T14:54:31.000100Z

there is a fairly recent talk from Oracles JVM languages summit: https://www.youtube.com/watch?v=J31o0ZMQEnI

2018-09-13T14:54:47.000100Z

the site of the summit is also down for the same reason 😕

2018-09-13T14:56:05.000100Z

“We’re sorry, the http://java.net site has closed. ”

borkdude 2018-09-13T15:02:16.000100Z

hmm, hard to find that loom site now

borkdude 2018-09-13T15:02:22.000100Z

but thanks for the talk, might watch it soon

2018-09-13T17:37:50.000100Z

omg 😂

jsa-aerial 2018-09-13T19:57:47.000100Z

Not sure how you could pull that off while still requiring full static typing...

jsa-aerial 2018-09-13T20:04:02.000100Z

What's even nicer is that fibers will make this totally transparent across os threads. Basically, this is a case of the 'best of both worlds'.