other-languages

here be heresies and things we have to use for work
anmonteiro 2018-09-17T17:55:50.000100Z

https://clojurians.slack.com/archives/C16LEKSLT/p1536848365000100 1) OCaml / Reason have it – look into OCaml objects. A simple example would be:

type 'a x = < foo: string; .. > as 'a
where 'a is the row variable (therefore the object is “extensible”) 2) Depends on the target. There’s this really cool demo where you have hot code reload when compiling to bytecode: https://www.youtube.com/watch?v=5aD3aPvNpyQ . For JS there’s basic code reload powered e.g. by Webpack but probably nothing as powerful as Figwheel (which I will argue people are not even aware – I’m not aware of anyone actually writing reloadable code for Figwheel – where you keep local state) 3) Multi-threading is available (think POSIX threads), as well as green threads (libraries Lwt and Async). The multi-core project is about reasoning about thread synchronization (i.e. algebraic effects)

anmonteiro 2018-09-17T17:56:00.000100Z

@borkdude hope that answers your questions

borkdude 2018-09-17T17:58:31.000100Z

@anmonteiro cool! Thanks.

borkdude 2018-09-17T17:59:08.000100Z

I’ll check out the video. It’s good to hear it has extensible records…

anmonteiro 2018-09-17T18:04:33.000200Z

@borkdude it doesn’t have extensible records. Records are another thing in the language, and they’re not extensible. Objects are