I’ve added multi threading support to MyLisp today. The earlier implementation of the callstack was not up to the task, so I had to rewrite it completely. The new callstack is based on stack frames which can hold local symbols. So behold! :-) , the first multi threaded application in MyLisp (func FooBar () …More
Lazy evaluation
My Lisp now supports Lazy evaluation. I’ve made it possible to define per function if it should use lazy or eager evaluation. (The next step will be to decide that through code analysis.) For those who don’t know what lazy evaluation is about, the purpose of lazy evaluation is to avoiding unnecessary calculations. Take the…More
Updated personal info
Added an “About me” AKA. “meet the geek” page on this blog. http://rogeralsing.com/about/More
Lisp operators
I just got home from a conference with my new job, a little bit tipsy and couldn’t sleep. So I decided to add some new features to my Lisp clone. I’ve made it possible to set operator priority for functions. Eg. (operator-priority + 1) (operator-priority – 1) (operator-priority * 2) (operator-priority / 2) This will make the engine…More
Lisp Debugger
I’m still working on my Lisp language clone. Today I started to add debugging support to it. I made the AST aware of the original source code, so each node can reference back to the place it was parsed from, and I also added a bit of call stack features. I’m pretty satisfied with it…More