Introspector/LanguageTools/SilverScheme
SilverScheme is a Scheme like OO language that uses introspection heavily. The rather unedited doc is here: Introspector/LanguageTools/SilverScheme/Doc. The ontology used is here: Introspector/LanguageTools/SilverScheme/Ontology.
In Silverscheme the class system is implemented on top of the prototype system. The prototype system is pretty easy: every object is a (changed) copy of another object. The object that it's a copy of is it's prototype.
A few important concepts:
* Extending: copying an object and entering the scope of the new object to add/change/delete some stuff. Usually done with (define new-obj (old-obj.extend)). * Inheriting: if object A extends object B and the field C in A is the same as the field C in B then A is said to have inherited C from B.
SilverScheme will have a built-in KnowledgeInterchangeFormat reasoner for logic programming.
Knowledge Interchange Format (KIF) is a way of representing knowledge in computers. It's also a quite simple logic language that's useful for reasoning about knowledge. At the moment KIF resources are rather spread across the web, here are a few links:
* http://www.csee.umbc.edu/kse/kif/ * http://logic.stanford.edu/kif/
Ideas for libraries and tools go at Introspector/LanguageTools/SilverScheme/Projects.
A list of projects that will be needed to support SilverScheme and/or make it more fun.
Needed:
* A simple make system. * Interface to a GUI toolkit (preferably FOX, good test for the C++ invocation mechanism)
Fun:
* SilverSchemeSourcery
Usually languages have small examples that aren't really fun. SilverScheme has a big fun example however, a full blown board/card game named Sourcery. Sourcery will be a good example of the logic capabilities of SilverScheme since it will use KIF to determine what is allowed and what not in a dynamic way.