If you have followed Smalltalk history (or some of the posts in this blog) you might already know about the Strongtalk system.
It is a Smalltalk environment with optional static typing support. Strongtalk can make some compile time checks, and offer stronger type safety guarantees; this is the source of its name. It is non-commercial, though
it was originally a commercial project developed by a small startup company named LongView Technologies (trading as Animorphic Systems).
Strongtalk is freely available on http://www.strongtalk.org
Programmers of the Strongtalk VM were later responsible at Sun Microsystems to make Java running faster by implementing the so called Java HotSpot virtual machine.
The HotSpot VM (now owned by Oracle) was primarily a Java only virtual machine - thats why it is called "JVM".
But the work continued to provide a new polyglot virtual machine called "GraalVM" which is able to host and run other programming languages (like JavaScript, Python and even C) on a new single virtual machine too.
You can find more informations about GraalVM on https://www.graalvm.org
All this is based on a Graal compiler and Truffle language implementation framework as well as a language interop framework called Polyglot that allows Truffle languages to call each other.
Now the Software Architecture Group at HPI provides even a Smalltalk on the GraalVM which is primarily using Squeak as the hosted Smalltalk environment.
Using the Polyglot functionality of the GraalVM you can interoperate easily from Smalltalk with other languages of the GraalVM as it can be seen in this demo video:
Tuesday, January 07, 2020
Practical Agile AI with Pharo
Apress seems to have already a page on upcoming book "Practical Agile AI with Pharo" which will be available in 2020
Docker and Pharo
Smalltalk / Web Camp Lake Constance
Nice summary report from Joachim about the Smalltalk / Web Camp Lake Constance test run - a meeting of some companies using Smalltalk for web development.
Cuis-Smalltalk-Chip8 in Cuis Smalltalk
A Chip 8 emulator (interpreter) written in Cuis Smalltalk:
https://github.com/thiagoslino/Cuis-Smalltalk-Chip8
https://github.com/thiagoslino/Cuis-Smalltalk-Chip8
SQLite3 for Pharo updated and moved
In the past PierceNG and me were maintaining SQLite3 driver for Pharo. As in 2019 another Pharo community member (Julien Delplanque) contributed to the project it was better to align and move the project to a more community owned location.
So SQLite3 for Pharo was reworked to be fully standalone and it was moved to community owned "pharo-rdbms" location:
https://github.com/pharo-rdbms/Pharo-SQLite3
Additional Docu and CI support was added with green builds for Pharo 6.1, Pharo 7 and Pharo 8.
The old locations were marked deprecated.
So SQLite3 for Pharo was reworked to be fully standalone and it was moved to community owned "pharo-rdbms" location:
https://github.com/pharo-rdbms/Pharo-SQLite3
Additional Docu and CI support was added with green builds for Pharo 6.1, Pharo 7 and Pharo 8.
The old locations were marked deprecated.
MoreVMs 2020
In 2020 there is a workshop on Modern Language Runtimes, Ecosystems, and VMs in Portugal. Maybe the topic is interesting for you. Read more here.
Grouper for Pharo
Grouper is a nice package to group data in Pharo:
- Read more here
- load the code from https://github.com/juliendelplanque/Grouper
ReStore for Pharo
ReStore - an object relational database framework originally available for Dolphin Smalltalk was ported to Pharo.
Nice - I should give it a try.
Nice - I should give it a try.
Pharo XML support packages moved to GitHub
In November 2019 some time was spend to move the XML Support for Pharo from old SmalltalkHub to a community managed location on GitHub:
https://github.com/pharo-contributions
For the detailed packages this means
Additionally some more cleanups were applied and a continuous integration (CI) was established.
https://github.com/pharo-contributions
For the detailed packages this means
- BitmapCharacterSet moved to GitHub
- XMLWriter moved to GitHub
- OrderPreservingDictionary was updated to 1.5.0
- XMLParser moved to GitHub
- XMLParserHTML moved to GitHub
- XMLParserStAX moved to GitHub
- XPath moved to GitHub
- Pastell moved to GitHub
Fortunately there is a nice tool from Peter Uhnak called "git-migration" that helped a lot in this transition and preserved original commit history as much as possible.
The move to GitHub should help to better maintain contributions to these projects and also verify that the XML support runs on newer Pharo versions.
TF-Login for Seaside 3.3.x on Pharo 7
Pierce ported TF-Login to latest Seaside 3.3.x on Pharo 7. Read more here.
Run PierCMS in Pharo 7
You want to use PierCMS with latest stable Pharo release Pharo 7? Then check out this resource from John Borden. I guess this also works for Pharo 8.
Hunter - Hunter Useful and Nice Tool for ECMAScript Reengineering
Hunter (standing for Hunter Useful and Nice Tool for ECMAScript Reengineering) is a tool to help understanding JavaScript applications via interactive visualizations.
Project page is here: https://github.com/dorellang/hunter
It runs on top of Pharo.
Project page is here: https://github.com/dorellang/hunter
It runs on top of Pharo.
SplitMix64
SplitMix64: This is an implementation of the SplitMix64 pseudo-random number generator. It is very fast, has a period of 2^64 and passes the Big Crush (160 tests).
Currently only an simple fileout ST file on the GitHub page - maybe BenoƮt St-Jean (the author) can in the future provide it as a properly packaged Pharo git project.
Currently only an simple fileout ST file on the GitHub page - maybe BenoƮt St-Jean (the author) can in the future provide it as a properly packaged Pharo git project.
ESUG 2019 Videos
All ESUG 2019 conference videos are uploaded and available in "ESUG 2019 Playlist" on Youtube
MaterialDesignLite v2.2.0
Old news from October I only shared via my twitter account - but nonetheless now also here on the blog:
MaterialDesignLite v2.2.0 is available as a release.
Some more details here.