Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Joel Shellman
Last updated at 1:30 am UTC on 17 January 2006
Newcomer to Smalltalk and Squeak but jumping right in. Currently working on a real time ray tracing engine. I'm crazy enough to think it's possible (lots of ideas), and we'll see what happens.

I've been doing lots of Java development for the past 6 years or so. Currently in Philomath, Oregon, but relocating to northern Virginia Sept. 2003.

I hope it's okay if I use this Swiki for my random ramblings. They aren't all Squeak specific, but they do have to do with software development in general and I plan on using Squeak for these projects.

Of course, I'm going to need to use plugins to get sufficient speed to do the ray tracing, so I'm writing up what I hope will be an up to date and useful Joel Shellman

Okay, I'm going to be jumping around, now I'm working on some knowledge modelling/machine learning/hard to describe at this point stuff. So here are some of my machine learning ramblings.

Here's my generic Q&A as I learn things and maybe I'll categorize them as I go:

Q: How do I programmatically create a class?

A: Execute the following code anywhere:

Object subclass: #YourNewClassName
	instanceVariableNames: 'instanceVariableNames delimited by spaces'
	classVariableNames: 'Class vars'
	poolDictionaries: 'Pool Dictionaries'
	category: 'Category this class will end up in'



Q: How do I add a method to an existing class:

A1: To add instance methods:

| selector methodDefinition |
methodDefinition _ 'newMethod | temp | temp _ ''blue''. ^temp.'.
selector _ (Parser new parseSelector: methodDefinition).
selector := TestClass
	compile: methodDefinition
	classified: 'testing'.



A2: To add class methods:

| selector methodDefinition |
methodDefinition _ 'newMethod | temp | temp _ ''blue''. ^temp.'.
selector := TestClass
	compile: methodDefinition
	classified: 'testing'.