Slate is a prototype-based object-oriented programming language based on Self, CLOS, and Smalltalk. Slate syntax is Smalltalk-80-based, rather than trying to be clever and complex. However, the language semantics, environment, and run-time design are all much more powerful than in traditional Smalltalk systems. The design goal is to bring together many excellent existing ideas into one system, and to provide an environment where design decisions in one area don't constrain others.
| Tags | Software Development Interpreters Compilers |
|---|---|
| Licenses | MIT/X |
| Operating Systems | OS Independent |
| Implementation | Smalltalk Other C |
Recent releases


Changes: This release adds single-process event-loop concurrency with promises, a platform information/control plugin, online help for the REPL and Debugger, use of an extended define: form to replace the addPrototype:/addSlot: hassles, additional higher-order collection and stream manipulation facilities, slot-observer pattern support, and support for logical directory locations such as the home or current directory, resolved dynamically on use.


Changes: Improved debugging, better cross-platform support, optimized space-usage of delegation slots and code blocks, added protocols to numeric, string, sequence, stream libraries, and the extensible AutoLoader facility for transparent loading of commonly-added features. Many bugs were fixed and much code was cleaned up, clarified, and documented.


Changes: Better REPL features and SmartREPL support, SDL support, improved macro semantics, more data types, more safety checks, support for persistent connections to external facilities (files, sockets, and external libraries) via startup/shutdown hooks, and more intuitive cascade semantics.


Changes: This release adds improved dynamic C library access for all data types and records, smart console-based editing, improved Unicode support, asynchronous socket access, and greater support for functional-style programming. There is also greater control over inheritance issues, beyond basic multiple inheritance graph control.


Changes: This release is a stable launching point for some intense development that is forthcoming. Support for message cascading, introspection on method signatures, and object paths and searches were added. Collection iteration protocols were improved, and several areas where the system was sensitive to bugs were hardened to avoid recursive bug activation. Image saves can be performed on the fly. An internationalization framework is also available.