devaul.net

SolProgrammingLanguage
Edit the text of this page
Print SolProgrammingLanguage
configure DeVaul.net

There are no restrictions on content or expression at devaul.net; '''you may discover offensive material on this site''' (then again, you may not). If 1st Amendment freedoms bother you, don't read any further.

DevaulDotNet

Read the FAQ
View Recent Changes
Meet DeVaulDotNet People
Answer What is the Wiki?
Search by keyword


Search by Keyword


People

RichardWayne
JonathanEdelson
ThomasColthurst
MegMuckenhoupt
ScottStuart
EbEth
OligarchyBob
BarbEllison
TheWitAndWisdomOfAidanWhite
ChewToy
FriarPuck
AdamKessel
StoryWords
BenWolfe

DotNetPeople


Organizations

ActiveList
SevenThursdays
FreakHavenAndor
FullyInformedJuryAssociation
TheAlchemindSociety
FreeNet
ThinkCycle
BavarianIlluminati
ScUl
OpenMind
ColumbiaMemorial

DotNetOrganizations


Services

BulkBuy
ReUse
MiscCommercialVentures
AvailableDomainNames
DotNetUsage
ExpungedWikiSpam - dump annoying adds here.

DotNetServices


Topics

WikiTextFormatting - formating info
WikiTestPage - a test page
RantOfTheDay
MessagesOfTheDay
CollaborativeWriting
FunAndGames
SevenThursdaysRecipes
TheBunnyPage
DeVaulDotDrock
WikiDesignCommentary
DotNetManifesto
AddingNewPages
DotNetVisitors

DotNetTopics

The Sol Programming Language

Sol procedural logo

I developed the Sol programming language while working on my Master's degree at the MIT Media Lab. I was (and still am) fascinated by the way language structures thought, and was interested in creating a maximally elegant language to think about computation and graphical design in. The result is Sol, which has some interesting features but was implemented in a somewhat kludgy way.

The core of Sol is R4R Scheme (R5R wasn't really done when I started), to which I added some ideas from set and category theory. Sol is scheme with sets; Sol uses sets for type expressions and concurancy, and the present implementation compiles to Java byte code. There are even Sol applets you can view if you don't mind waiting to download the entire language implementation along with each applet.

I also created a very limited Sol-to-C++ compiler for the purpose of high-performance video processing; This allowed sol to be used for interactive genetic programming for evolving image filters. This implementation could run dozens of non-trivial image filters in real-time on a low-res video stream using an SGI Octane; I expect I could do much better on modern PC hardware. (You can see some of the results of this system on the ProceduralImageFiltering page.)

In retrospect I wish I had done more to make Sol an independent project, but the complexities of dealing with advisors and MIT open-source licensing at the time thwarted my dreams of a true open-source implementation. I don't think anyone but me cares about this projct now, but if you are interested in breathing some life into Sol let me know.

Cheers,
RichardWayne

Edit SolProgrammingLanguage