[squeak-dev] What are environments for

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Wed Sep 28 21:02:30 UTC 2016


Environment carry great promise and potential...
But for now, it's only that.

I recently read "let's fix environments".
+1 too to that generous idea.
But what does it mean?

Without clear goals or vision, fixing could essentially mean "let
Environment be transparent", that is let it remain a promise, a potential,
whithout too many side effects... Not exactly YAGNI, just a bit of
over-engineered nice piece of code that might serve later. OK this sounds
like a mandatory first step.

But then, what feature are we after?
I have read bootstrapping, sandboxing, letting concurrent packages and/or
versions co-exist, stop prefixing class names with pseudo namespace...
So environment are about reducing global variable scope.

For me, the essential decisions are in these questions:
- how will environments and source-code-management interfere?
- how are we going to specify reproducible artifacts (images)?

Are we going to use environment "statically" like in VW, just like
namespaces are in many languages? That somehow means that the SCM will have
to be environment aware.

Or are we going to transfer this responsibility at a higher level, like
Metacello for example? In this later case, we have greater flexibility, but
assembling an image means telling which package is installed into which
environment, then which import are necessary for each environment.
But it's even more complex than that, because the way we create classes: by
subclassing another class. So we don't need one environment, we need at
least two, one source environment for picking the super class, one
destination environment for hosting the subclass. Hmm, the metacello
configuration is going to be verbose...
OK, OK, but how would we designate an environment in the configuration, is
it by name in a sort of Environment registry?

All this is strongly related to Newspeak mechanisms for contructing a
module, http://bracha.org/newspeak-modules.pdf. Newspeak was conceived with
solid foundations. Can we reach a solid design by small iterations? Will we
converge to the same economy of concepts? I just wonder, or should I say
wander?

That's very interesting. So who has a vision?
No urge to asnwer this, let's rather make environment transparent ;)

Nicolas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20160928/04b9893d/attachment.htm


More information about the Squeak-dev mailing list