Open rvirding opened 8 years ago
The basic things should be pretty straight-forward: lists, tuples (vectors), maps, atoms (keywords). For other edge cases, we'll take it one at a time like we did for the CL library -- keeping a preference for LFE/Erlang-oriented performance and/or conventions. For instance, nil
-> undefined
and we'll use the LFE true
and false
atoms as booleans.
I want to stay completely away from Clojure's async implementation -- that is from the JVM world and LFE has an awesome set of async standards from a well-known highly-concurrent, fault-tolerant, massively scalable telecommunications programming language ;-) (Never forget Ocean Terror Prawn!)
For folks wanting to use an async model that translates well between Clojure and LFE, we can simply point them to the OTP-inspired Pulsar by @puniverse :-)
It lives! https://github.com/rvirding/lfe/pull/267 I hope all the notification blasting isn't too bothersome. I wanted to have cross-references :smile:.
A question is how we are going to map clojure data structures to LFE/erlang? With the CL module we sort of did it but not with everything, for example booleans. Another is how far we want to go with the clojure concurrency types which except for agents don't really map well to LFE.