(I hope this doesn't violate any forum rules.)
Hi,
I have an SBCL crowdfunding campaign up at IndieGoGo. If you use SBCL, go take a look.
Cheers,
-- Nikodemus
SBCL Crowdfunding at IndieGoGo
Introducing MADEIRA (Re: SBCL Crowdfunding at IndieGoGo)
So, the campaign has been a roaring success -- all initial goalposts have been hit in 3 days out of 19.
This means it was time for a new goal.
If the campaign reaches $12k, in addition to the SBCL specific work I will also implement Madeira, a new portability layer for Common Lisp implementations, focusing on threading and parts not covered by CFFI or USOCKET.
The current plan is for Madeira to support:
Even if the full goal for Madeira is not be reached, any funds over $8k will be used towards implementing at least parts of it.
Gentle hacker, spread the word: it's not just SBCL users who stand to benefit now.
Thank You again, Everyone.
This means it was time for a new goal.
If the campaign reaches $12k, in addition to the SBCL specific work I will also implement Madeira, a new portability layer for Common Lisp implementations, focusing on threading and parts not covered by CFFI or USOCKET.
The current plan is for Madeira to support:
- Basic things like access to command-line arguments, environment, EXIT, etc.
- Bordeaux-Threads -like functionality, but better defined, with sharper edges.
- CAS. Remains to be seen how general I can make the support, though.
- Running external programs. (Probably somewhere between TRIVIAL-SHELL and SBCL's RUN-PROGRAM in functionality.)
Even if the full goal for Madeira is not be reached, any funds over $8k will be used towards implementing at least parts of it.
Gentle hacker, spread the word: it's not just SBCL users who stand to benefit now.
Thank You again, Everyone.
Re: SBCL Crowdfunding at IndieGoGo
Sorry, what does CAS stand for in this context?
Re: SBCL Crowdfunding at IndieGoGo
CAS = compare and swap
This is an atomic operation supported by most hardware.
Rather than "(when (= x 4) (setf x 5))", you write "(cas x 4 5)". This allows the test and set to occur without interference from other threads/processes but also without locking a mutex (which could block indefinitely).
This is an atomic operation supported by most hardware.
Rather than "(when (= x 4) (setf x 5))", you write "(cas x 4 5)". This allows the test and set to occur without interference from other threads/processes but also without locking a mutex (which could block indefinitely).
Re: SBCL Crowdfunding at IndieGoGo
Now taking a final run at the final goalpost! If $16k funding is reached, it's time to kiss the big compiler lock goodbye.
Again, Thank You Everyone,
-- Nikodemus
Again, Thank You Everyone,
-- Nikodemus