[Grace-core] SPLASH, Grace, etc

James Noble kjx at ecs.vuw.ac.nz
Mon Nov 1 00:28:25 PDT 2010


Hi Doug

so a quick email, since I was hoping to catch up
with you at SPLASH a little more than I did.

partly to say thanks for talking at ECOOP (again)
it was certainly a fruitful conversation:

also to ask for a bit about one of those fruits - the Grace effort.

Currently, we're planning on *not* addressing concurrency or  
parallelism in the "base language"
with the idea that we don't really know what to do, so different  
options (actors, locks, STMs, CASes)
would be supported by a library.  I'm wondering how feasible that  
approach really is:
I'm hoping it is at least reasonably sensible...

Assuming it is: what other language features should we emphasize in  
the core language
that may not directly support concurrency but will be useful later on?
- value objects ("deeply immutable")
- Eiffel "once" /Scala style "lazy" variables (lazy initialisation)
- lambdas  (good for libraries)

those three are currently in the list. Things that aren't include:  
uniqueness
or ownership, real pass by reference, "value semantics" (C++ style)...

Alternatively, what features are we going for that may make things  
more difficult?
  - arbitrary number types rather than neat machine ints and floats?
  - everything boxed by default
  - lambdas? (the current design has Grace using it's lambdas pretty  
much
           where Smalltalk uses blocks. That is, almost everywhere)

We hope to start updating the grace blog with notes on some language
design features in the next few days (i.e. once

James


More information about the Grace-core mailing list