-No GC, purely RAII based resource management.
-Awesome ownership with first-class support for move semantics.
-Great functional constructs(Sum Types, Pattern Matching and map()/filter()/etc).
-Compiles down to native code via LLVM.
-No GC, purely RAII based resource management.
-Awesome ownership with first-class support for move semantics.
-Great functional constructs(Sum Types, Pattern Matching and map()/filter()/etc).
-Compiles down to native code via LLVM.
Moon patiently told the student the following story:
“One day a student came to Moon and said: ‘I understand how to make a better garbage collector...:-P
In my experience, this is not however a significant concern.
edit: this of course implies an easy program with 65 conditionally moved boxes that can't be encoded under your system.
Someday, long from now, I'd like to do a crater run with eager drop and see if anything actually breaks.
It's not a forced requirement :).
> GC is technically optional in C++, because you can stick pretty much anything in a reference-counted pointer (shared_ptr<T>).
Unfortunately it was pushed out by MIT's cartography-oriented zealots, and we know how well that paradigm worked out!
(Note that all of these GCs use RAII under the hood, but not in the simple delete-when-destructor way)