Beyond SmallTalk

This project is most likely going to be a never ending one, and there is a good chance it will evolve into a different name. But for now this will due.

In summary BST is a programming language (environment) loosley based on Smalltalk-80. There are enough major modifications, however, that this can in no way be considered a Smalltalk implementation... even if that is what I start with.

Keep in mind, there has been absolutely nothing started on this project as of this time (8/24/1999). On the off chance that I decide to keep the world posted, this is where it will be (or a link to where it will be will be placed here maybe).


Basic Concepts / Features / Ideas
  • Object Oriented
    • Basic OOP concepts.
    • Multiple inheritance.
  • Compile Time Deallocation
    • (Recently re-named from CTGC)
    • Memory allocation and deallocation is the compiler's job, but of course the programmer gets divine intervention when needed.
    • This will kill tons of overhead.
    • This will also keep most of the benifits of GC, since for the most part it will eliminate the errors associated with memory (de)allocation.
  • Based on Smalltalk
    • Everything is an object.
    • Message passing... named parameters...
    • Basicaly the same syntax.
    • I will use a good portion of the Smalltalk class heiarchy. Things like dictionaries and sets and such. They are such a vital part of the smalltalk language that leaving them out would not be a good idea at all.
  • Partialy interpreted, partialy compiled
    • Methods in smalltalk have a CompiledMethod, but it is all in bytecode.
    • In BST there will be the option of having CompiledMethod be native code.
    • Distribution images will have more compiled code than development images.
  • Widget sets
    • A wrapper will be placed around native widget sets.
    • One program will compile to GTK+, MFC, Motif, etc.


I think I will start out with a core without a GUI, like GNU did with their Smalltalk. The main thing will be a read-eval-print loop just like LISP. Then I will teach it how to file-in and things like that. Note that the reason I have decided not to start out with GNU's Smalltalk and go from there is because I can't get it to compile. Besides... I'm so picky I would probably end up re-writing most of their code anyway.

Talked to Adam. The project is currently under an LGPL, though there has been absolutely no code produced yet. Just keep that in mind for future reference.

199911170951
What about making the Object Memory a journaling memory system? How would this help/hinder the scheme? hmm... research.

199912062103
I changed my mind. It will be GPL.


See also...

www.stic.org