Fork me on GitHub
#other-languages
<
2018-09-17
>
anmonteiro17:09:50

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)

anmonteiro17:09:00

@borkdude hope that answers your questions

borkdude17:09:08

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

anmonteiro18:09:33

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