[squeak-dev] re: Environment declarations vs bindings

Chris Muller asqueaker at gmail.com
Tue Oct 4 22:03:32 UTC 2016

Hi Craig, you mentioned making each class responsible for its own name
literal, which is fine for when you have a reference to a class and
want to know its name.

How about the use-case when all you have is a name String, but want to
get the (correct) Class object?  Are your suggesting to
enumerate all classes (which wouldn't take long) and selecting
the ones with the referenced name, instead of always only doing a
Dictionary lookup (which assumes one name--> to one Class).  You
mentioned using other fields for disambiguation, so enumerate all
classes, selecting the ones whose names match the string, and if there
are any other disambiguating clues, use them to auto-select.  Is this
a correct jist of what you mean?

I'm looking forward to your release!

On Tue, Oct 4, 2016 at 4:14 AM, Craig Latta <craig at blackpagedigital.com> wrote:
> Hi--
>      We don't need a system dictionary at all. We can make each class
> responsible for its own name literal, use subclass/metaclass references
> for reachability, and make all other globals the responsibility of some
> class. Every class can have any name; the execution machinery doesn't
> care. Other metadata about classes (e.g., author) can be used to
> disambiguate their names when compiling sources. We can store all that
> metadata in a module system, to manage the history of all versions of
> all classes and methods in the system.
>      The Naiad module system that I wrote[1] implements this. I've
> adapted it to the latest Squeak and plan to release it this month.
> -C
> [1] http://thiscontext.com/naiad
> --
> Craig Latta
> Black Page Digital
> Amsterdam | San Francisco
> craig at blackpagedigital.com
> +31 6 2757 7177 (SMS ok)
> + 1 415 287 3547 (no SMS)

More information about the Squeak-dev mailing list