Improve Slang? (was Re: [Vm-dev] RE: To FFI or not to FFI)

Casey Ransberger casey.obrien.r at
Tue Oct 5 16:04:44 UTC 2010

If you could make Slang suck less, what would you change?

On Oct 4, 2010, at 8:47 PM, Eliot Miranda <eliot.miranda at> wrote:

> On Mon, Oct 4, 2010 at 1:04 PM, Colin Putney <colin at> wrote:
> On Mon, Oct 4, 2010 at 11:56 AM, Andreas Raab <andreas.raab at> wrote:
> > In practice, there is a *huge* advantage for porting if all you need is a C
> > compiler and a bit of knowledge about the underlying OS support.
> This brings up a question that I've been wondering about for a while.
> How useful is Slang these days?
> I can totally see how it would have been faster to get the new VM up
> and running in Apple Smalltalk in the first place, but I'm wondering
> if these days it's more trouble than it's worth. Most dynamic
> languages (eg, Ruby, Python, Perl, Javascript) are implemented in
> straight, idiomatic C and benefit a lot from the fact that many, many
> people already have the skills needed to work with the language and
> toolchain.
> In contrast, the Squeak VM is written in a language that almost nobody
> knows, using tools that almost nobody understands. Outside of the
> current maintainers it's a very short list, and many of the people on
> it aren't active in the community anymore. "Implemented in its self"
> is kind of neat, but as a practical matter, Slang is not Smalltalk,
> and a developer skilled in both C and Smalltalk still has a lot to
> learn before he can contribute to the VM.
> So here's a question to the folks that are actively hacking on the VM:
> is Slang still beneficial in your day-to-day work? Do you write and
> debug using the simulator? Is it worth the high barriers to entry for
> the uninitiated?
> Slang sucks. Developing in Smalltalk is great.  I like using Slang to being continually hit over the head by an ungiving guru; plenty of pain but no enlightenment.  The problem is you write Smalltalk that works, push it out and when it doesn't work due to some internal Slang issue you're in a lot of pain.  Do you try and fix Slang, do you mangle your Smalltalk to function within its limitations (and forget to comment why, e.g. ::  
> loadNewPlugin: pluginString
> 	| plugin plugins simulatorClasses |
> 	transcript cr; show: 'Looking for module ', pluginString.
> 	"but *why*??"
> 	(#('FloatArrayPlugin' 'Matrix2x3Plugin') includes: pluginString) ifTrue:
> 		[transcript show: ' ... defeated'. ^nil].
> Seriously, if anyone knows why these two are disabled *please* let me know.
> Yes I write and debug using the simulator.  Yes it is worth the high barriers.  But Slang is still a massive, fragile hack.
> Eliot
> Colin
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Vm-dev mailing list