Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Smalltalk
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==List of implementations== === <!--If this subsection is renamed, leave an {{anchor|OpenSmalltalk}} to it -->OpenSmalltalk === [[OpenSmalltalk VM]] ('''OS VM''') is a relatively high-performance implementation of the Smalltalk virtual machine on which several modern open-source Smalltalk dialects are based.<ref>{{Citation| work=OpenSmalltalk |title=opensmalltalk-vm |date=2020-11-03|url=https://github.com/OpenSmalltalk/opensmalltalk-vm |publisher=Git hub|access-date=2020-11-08}}</ref><ref name="hal-01883380">{{cite report |author=Eliot Miranda |author2=Clément Bera |author3=Elisa Gonzalez Boix |author4=Dan Ingalls |title=Two Decades of Smalltalk VM Development: Live VM development through Simulation Tools; Virtual Machines and Language Implementations VMIL 2018, Boston, United States |publisher=hal.archives-ouvertes.fr |doi=10.1145/3281287.3281295 |date=2018 |url=https://hal.archives-ouvertes.fr/hal-01883380/document|archive-url=https://web.archive.org/web/20221105011044/https://hal.archives-ouvertes.fr/hal-01883380/document |archive-date=2022-11-05}}</ref> The OS VM derives from the original Back-to-the-Future<ref>{{cite journal|first1=Dan |last1=Ingalls |first2=Ted |last2=Kaehler |first3=John |last3=Maloney |first4=Scott |last4=Wallace |first5=Alan |last5=Kay |year=1997 |title=Back to the Future: the story of Squeak, a practical Smalltalk written in itself |journal=ACM SIGPLAN Notices |publisher=ACM Digital Library |volume=32 |issue=10 |pages=318–326 |doi=10.1145/263700.263754 |doi-access=free}}</ref> (BTTF) Squeak interpreter implemented by Dan Ingalls, Ted Khaeler, John Maloney and many other contributors. As with the BTTF VM, OS VM is [[Source-to-source compiler|transpiled]] from the Smalltalk system in which it is developed (using a subset of Smalltalk named Slang) to native [[C (programming language)|C]] language source code,<ref>{{Cite web|title= Slang |url= http://wiki.squeak.org/squeak/slang |access-date=2020-11-08|website= Squeak}}</ref> which is in turn compiled against specific platform and architecture of the hardware practically enabling cross-platform execution of the Smalltalk images. The OS VM differs from the BTTF VM in * introducing a JIT compiler to native machine code, including sophisticated machine-code method cacheing techniques * using "context-to-stack-mapping" to vastly reduce the overheads of context objects * supporting both the original BTTF object representation, and Spur, a much more efficient and native 32-bit and 64-bit scheme with a much improved garbage collector, object pinning, and lazy become The notable Smalltalk dialects based on the OS VM <ref name="EliotMirand2018">{{Cite web |last1=Miranda |first1=Eliot |last2=Bera |first2=Clément |last3=Gonzalez Boix |first3=Elisa |last4=Dan |first4=Ingalls |date=October 8, 2018 |title=Two Decades of Smalltalk VM Development: Live VM development through Simulation Tools |url=https://hal.archives-ouvertes.fr/hal-01883380/document |format=PDF}}</ref> are: *[[Squeak]], the original open source Smalltalk that the OpenSmalltalk VM was built for{{R|name=EliotMirand2018|page=2}}, that derives from Xerox PARC's Smalltalk-80 v1 *[[Pharo]] Smalltalk, an open-source [[cross-platform]] language, that derives from Squeak *[[Croquet Project#Virtual machine|Croquet]], a replicating distributed Smalltalk for the [[Croquet Project]] *[[Cuis Smalltalk]] that derives from Squeak === Others === *[[Amber Smalltalk]], runs on [[JavaScript]] via transpiling *[[Dolphin Smalltalk]] from Object Arts *[[Etoys (programming language)|Etoys]], a visual programming system for learning built in Squeak *[[Gemstone (database)|GemStone/S]] from GemTalk Systems *[[GNU Smalltalk]], headless (lacks GUI) implementation of Smalltalk *[[Smalltalk MT]] Smalltalk for Windows from Object Connect *[[ObjectStudio]] from [[Cincom]] *[[Scratch (programming language)|Scratch]] a visual programming system (only versions before 2.0 are Smalltalk-based) *[[Smalltalk/X]] from exept.de, a descendant of the original Xerox PARC Smalltalk-80 *[[StepTalk]], GNUstep scripting framework uses Smalltalk language on an [[Objective-C]] runtime *[[Strongtalk]], an open-source (since 2006) Windows-only version, offers optional [[Strong and weak typing|strong typing]]; initially created at [[Oracle Labs|Sun Microsystem Labs]].<ref>{{Cite web |title=Strongtalk: A High-Performance Open Source Smalltalk With An Optional Type System|url=http://www.strongtalk.org/ |access-date=2021-11-25}}</ref> *[[IBM VisualAge|VisualAge]] Smalltalk from IBM *[[Visual Smalltalk Enterprise]], and family, including Smalltalk/V *[[VisualWorks]] from [[Cincom]], a descendant of the original Xerox PARC Smalltalk-80 v2
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Smalltalk
(section)
Add topic