[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is GNU Smalltalk dead?
From: |
Piotr Klibert |
Subject: |
Re: Is GNU Smalltalk dead? |
Date: |
Sat, 13 Nov 2021 19:41:23 +0100 |
User-agent: |
Cyrus-JMAP/3.5.0-alpha0-1371-g2296cc3491-fm-20211109.003-g2296cc34 |
On Sat, Nov 13, 2021, at 08:26, Sam Lee wrote:
> Is GNU Smalltalk abandoned?
Not exactly. There are a few maintainers around, so they will probably accept
patches. But nothing new happened in the last few years, as you say.
> The most recent release was from 2013 (version 3.2.5) [2].
I think the git repo version is more up to date, with the last commit in 2018
IIRC.
> VisualGST, the GNU Smalltalk browser no longer compiles on current systems.
I was able to compile it on Fedora (28 - 33). I also found a few bugs in VGST,
I posted one patch here IIRC, but, in general, I can testify that it still
works. I don't remember at the moment what I did exactly to make it compile and
work though, I'll need to check.
> Is GNU Smalltalk dead? Should I move to other Smalltalk implementations?
The problem is - there are no other Smalltalk implementations with strong
command-line support and a "bring your own editor" philosophy. I checked out
all implementations I could find this spring, and only Smalltalk/X seemed to
have good command-line/console support, but that one IIRC works by compiling to
native code via compilation to C++, which makes it a much more complex beast
than GST. All the other implementations either derive from Squeak (and shove
the various kinds of graphical browsers right in front of you whether you want
it or not), cost a lot (with the open-source version crippled, without support
for SSL), don't work on Linux, don't have any support for working without a
GUI, or are too complex to the point I don't feel comfortable using them
without a lot of studying before.
GST may be slow and buggy and without libraries, but it's also stable (the
other side of the "no development" coin), small, simple, and has one thing I
really appreciate: the STInST, ie. the Smalltalk parser implemented in
Smalltalk, that you can extend and modify as you need. Being command-line
focused turned out to not be a big deal: the default REPL implementation uses
readline and it blocks at the C level (Coroutines don't run then). So I had to
write a little socket server and connect to it via rlwrapped telnet - works
quite well in reality.
Anyway, back to VisualGST and why I'm writing this - I managed to make it work,
but my project was going to be mostly CLI-based anyway, so I didn't want to
rely on it. Instead, I implemented some of the browser functionality as a bunch
of helpers you can use in the REPL, including searching for message sends,
implementors, methods, classes, namespaces, and so on. I was forced to stop
working on it at some point, so it's far from complete, but it proved quite
usable when I was exploring STInST. It's not the full replacement for the GUI
browser, because you need to set up a separate editor, but once you do, you can
open and edit a method definition and have it automatically reloaded.
The code is on GH if you want to take a look (with some screenshots, too!):
https://github.com/piotrklibert/stshell
I think the next thing I'll be touching once I can get back to the project will
be the console debugger. For debugging, I still resorted to the GUI one,
because the implementation for the console is incredibly buggy and limited in
comparison. I'd like to make both support the same functionalities, and
preferably be on par with Smalltalk/X console debugger, which is really good.
Anyway, to finally answer your main question: GST *is dying slowly* of old age
and bit rot, but *it's still alive* for now, and there are a handful of people
who work on its life support. Unless we get a "killer app" in the next few
years, I think we can say goodbye to GST, sadly.
--
Best regards,
Piotr Klibert
Re: Is GNU Smalltalk dead?,
Piotr Klibert <=