Introspector/LanguageTools/SilverScheme

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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/

Introspector/KifTutorial

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.