Geoffrey Knauth wrote on 04/01/2018 01:05 PM:
On Sunday, April 1, 2018 at 12:57:46 PM UTC-4, Stephen Smith wrote:
It's been a long tough road as to which implementation language to
choose for it. I'm down to two now after much experimenting -
Racket of course, and Smalltalk.
Now you have me wondering which is harder, implementing Smalltalk in
Racket, or the other way around.
Implementing the Smalltalk-80 language alone in Racket seems pretty
easy, and could be a really fun hobby project.
You can make it non-easy by going for performance optimizations, while
keeping it fully dynamic. But, remember, we used to run Smalltalk on
hardware that's very slow compared to today, so you might be pleasantly
surprised with the performance of an unoptimized implementation for
traditional Smalltalk-80 applications.
The Smalltalk-80 GUI environment would be fun to write from scratch, or
you could look for an open source implementation atop Smalltalk GUI
primitives, and implement those primitives atop Racket GUI. You might
want to go retro chic, and not use Racket GUI widgets (pop-up menus,
lists, text, scrollbars, etc.), except perhaps for the top-level windows.
Once you have your standard Smalltalk-80 browsers, you can then build
upon it with non-standard, like "http://www.neilvandyke.org/smalltalk-chg/".
A program in `#lang smalltalk` could boot the environment, and then
you're no longer dealing with `#lang`, but with live Smalltalk objects,
created and manipulated through environment browsers.
A bonus of reading old Smalltalk-80 stuff is that you get exposed to a
bit of some of the best and most optimistic visionary thinking about
information technology, when people had grand ideas for how computers
could elevate everyone (spoilers: it wasn't about a couple billionaire
'social' dotcom founders seizing power over everyone, and CS students
weren't thinking like startup MBAs).
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.