Several people have asked me when Newspeak will be released. Well, I still don’t know, but at least now I know it will be released. Cadence has generously agreed to make Newspeak available as open source software under the Apache 2.0 license.
We will be publishing a draft spec for Newspeak soon; I say draft because I expect Newspeak to continue to evolve substantially for the next year at least, and because the initial spec will necessarily be incomplete.
It will be a while before we are ready to make a proper public release of Newspeak. In the meantime, I’ve gathered some information on my personal web site. We plan to set up an official Newspeak web site in the near future.
Tuesday, May 06, 2008
The Future of Newspeak
Subscribe to:
Post Comments (Atom)
9 comments:
Wow, that's exciting news!
Bravo! I'm looking forward to your first release. Will it be based on Squeak?
Saludos,
Víctor Rodríguez.
Victor,
The release is still a ways off, as we have a lot of work to do, but I expect it will be based upon a modified Squeak VM.
Neat. So I made it through the whole video@HPI and was puzzled by the security model. One the one hand you say "objects as capabilities" but then point to public/protected/private. Sounds contradictory. Do you translate the latter to the former? You also mentioned required VM support.
Matthias
Matthias,
I'm not sure why you see a contradiction between the access control and capabilities. Remember that the access control is per object, not per class.
And, yes, implementing this properly should be done at the byte code level, so that there is no way to write code that gets around it. You don't want to pay a cost for checking it - it needs to be done via the context-free syntax.
This probably doesn't help - but explaining the implementation will wait for another time.
Hi Gilad,
Very exciting news. You say you are evolving the language as you are using it to building stuff.
Sounds like a great way to do things. Is this approach working well?
Thanks,
Paul
Paul,
There are pros and cons. We have users, small in number but very real. This forces us to get things to really work. On the other hand, it requires a lot of time and energy. Overall, I'm sure it's a win.
So the capability model says "If you want that a client not be able to use something -instead of checking at the point of usage- don't even hand him the reference to it".
If a client has a reference to an instance of a class with a 'private' method in it, are you saying that you make the method _lookup_ fail if it is not an unqualified self send instead of the actual _invocation_ ?
Matthias
Matthias,
The short answer is 'yes'. It's a bit more involved because of class nesting and protected, but basically as you say.
So a normal send (one with an explicit receiver) by definition only looks up public methods. This doesn't require checking per se.
Post a Comment