Gravel.st aim to be a fully ANSI compliant Smalltalk implementation with modern language enhancements as optional typing, namespaces and traits.
Gravel Smalltalk is developed in Smalltalk itself, in the spirit of Squeak's Slang. It's core functionality is then transformed to java source code which is then used to compile smalltalk code and bootstrap the system.
- Optional typing
- Patching compiler
- Full block closures
- Resumable exceptions
- Mirror based reflection facilities
We aim to provide an interactive development environment in the Smalltalk philosophy as well as a stable and fast runtime platform. To facilitate interactive development we've developed the so-called patching compiler which can add or change running class and method definitions in the JVM.
Gravel Smalltalk uses the jsr-292 (aka invokedynamic) language and VM enhancements in the JVM. So you need Oracle Java 7 or OpenJDK Java 7 or up.
Gravel Smalltalk is very alpha. We have enough code in the base library to boot the Gravel IDE and to run SUnit. Work is currently being done on the online debugger, IDE and base library. The typed Smalltalk to Java translation is not yet ported from VisualWorks Smalltalk since we have a dependency on our Pegon Type System (http://sourceforge.net/projects/pegon
Gravel Smalltalk is licensed under the very liberal Apache-2.0 License, except for parts of the Gravel IDE where we redistribute code from semantic-ui and codemirror.net
. These are licensed under the compatible MIT License and CodeMirror licence. We also use code in the base library from Squeak, this is also licensed under the Apache-2.0 License or MIT License.