The only way to implement the future is to avoid having to predict it. -- Piumarta
Fighting entropy one day at a time...
Moving my computing work over to http://devdriven.com/.
Please visit and comment!
Should Combined-Object-Lambda-Architecture really be Combined-Lambda-Object-Architecture?
Ian Piumarta’s IDST bootstraps a object-system, then a compiler, then a lisp evaluator. Maru bootstraps a lisp evaluator, then crafts an object system, then a compiler. Maru is much smaller and elegant than IDST.
Are object systems necessarily more complex than lambda evaluators? Or is this just another demonstration of how Lisp code/data unification is more powerful?
If message send and function calls are decomposed into lookup() and apply(), the only difference between basic OO message-passing and function calling is lookup(): the former is late-bound, the latter is early bound (in the link-editor, for example). Is OO lookup() the sole complicating factor? Is a lambda-oriented compiler fundamentally less complex than a OO compiler?
Brain simulation research is more important than putting a man on Mars or starting wars.
We will see exoscale computers simulating raw human bandwidth in within 10-15 years.
“We perceive because we decide.”
We can take his ideas to the stars and back again.
50th anniversary of Objects? – Alan Kay
It still hasn’t happened.
Dr. Kay said “The Art of the Metaobject Protocol”
Joe Damato drills deep into the implied contracts of the MRI/C API:http://timetobleed.com/the-broken-promises-of-mrireeyarv/
The need for RB_GC_GUARD(v) is probably due to faulty register spilling in the MRI eval/thread/GC machinery; the PRE_GETCONTEXT() and POST_GETCONTEXT() macros in MRI eval.c might be the real problem.
In contrast, the Boehm-Demers-Weiser (BDW) GC library manages to scan registers without demanding client code to explicitly flush pointers to the stack.
However, in general, it is problematic, in language design practice to make GC contracts completely transparent to API client code. This difficultly is explicitly solved in the design of Lua:
Interesting post over at http://lambda-the-ultimate.org/node/4222
Wasn’t familiar with Rule 110, but this caught my attention: