Skip to main content

MyLisp: Callstack and threading

· One min read
Founder, Asynkron Systems

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 ()   (   (let i 0      (for i 0 1000000         (print (format "thread 0" i))))))

(= thread (new-thread FooBar)) (call thread Start) (for i 0 1000000   (print (format "main 0" i)))

Sure , the “new-thread” function is a bit of cheating, I dont have any generic code for .NET delegate <-> MyLisp delegate yet.
So I have to use hard coded methods to cast from and to delegates for now.

OK, this was not much of a real post, more of a “yay, it works!” shout 🙂