UK Smalltalk User Group meeting - 30 November 2022

Giovanni Corriga <[email protected]> Tue, 29 Nov 2022 09:04:21 +0000
Newsgroups gmane.comp.lang.self,gmane.comp.lang.smalltalk.gnu.general
Message-ID <CAJ3_Vgae5nEO4jvXmW-8=-q3RNnv0-5ET_Q6rKG5O8SYs3r_QQ@mail.gmail.com>
--===============8524697855775869625==
Content-Type: multipart/alternative; boundary="000000000000c0fa8905ee984603"

--000000000000c0fa8905ee984603
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

For this month's UKSTUG meeting, Dave Mason will talk about Zag Smalltalk,
a new Smalltalk VM written in Zig.

Dave Mason ( http://sarg.ryerson.ca/dmason/ ) has been a professor of
Computer Science at Toronto Metropolitan University (previously known as
Ryerson) for 41 years. He has done research on operating systems, software
reliability and programming languages. Current research is mostly around
Smalltalk and other dynamic languages. If forced to program very low level
projects such as virtual machines, he is willing to use Zig or Rust, but
for any other purpose, he insists on using higher productivity languages -
primarily Smalltalk.

Zag Smalltalk ( https://github.com/dvmason/Zag-Smalltalk ) is a
principle-based Smalltalk VM. "Principled" means that the only 3 operations
are: message send, assignment, and return.

1) it is designed from the ground up to use multi-processing, to leverage
multi-core systems.
2) There is no special-casing of methods like ifTrue:ifFalse or whileTrue:,
although of course some methods are implemented by primitive methods. It
does aggressive inlining of methods and blocks.
3) =E2=80=9CSource=E2=80=9D code is maintained as ASTs.
4) Compiled code runs in a dual form of threaded code and JIT=E2=80=99ed ma=
chine
code that seamlessly interoperate.
5) It has a partially-copying and partially-non-moving garbage collector.
6) It keeps many more values as immediate, including symbols.
7) It uses a single-level dispatch mechanism to implement Smalltalk
dispatch semantics

The research question is, "Can this be made fast enough to be competitive?=
=E2=80=9D
Preliminary results are encouraging.

This will be an online meeting from home.

If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/ukstug/events/290036186 ) to receive the
meeting details.

--000000000000c0fa8905ee984603
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">For this month&#39;s UKSTUG meeting, Dave Mason will talk =
about Zag Smalltalk, a new Smalltalk VM written in Zig.<br><br>Dave Mason (=
=C2=A0<a href=3D"http://sarg.ryerson.ca/dmason/">http://sarg.ryerson.ca/dma=
son/</a> ) has been a professor of Computer Science at Toronto Metropolitan=
 University (previously known as Ryerson) for 41 years. He has done researc=
h on operating systems, software reliability and programming languages. Cur=
rent research is mostly around Smalltalk and other dynamic languages. If fo=
rced to program very low level projects such as virtual machines, he is wil=
ling to use Zig or Rust, but for any other purpose, he insists on using hig=
her productivity languages - primarily Smalltalk.<br><br>Zag Smalltalk ( <a=
 href=3D"https://github.com/dvmason/Zag-Smalltalk">https://github.com/dvmas=
on/Zag-Smalltalk</a> ) is a principle-based Smalltalk VM. &quot;Principled&=
quot; means that the only 3 operations are: message send, assignment, and r=
eturn.<br><br>1) it is designed from the ground up to use multi-processing,=
 to leverage multi-core systems.<br>2) There is no special-casing of method=
s like ifTrue:ifFalse or whileTrue:, although of course some methods are im=
plemented by primitive methods. It does aggressive inlining of methods and =
blocks.<br>3) =E2=80=9CSource=E2=80=9D code is maintained as ASTs.<br>4) Co=
mpiled code runs in a dual form of threaded code and JIT=E2=80=99ed machine=
 code that seamlessly interoperate.<br>5) It has a partially-copying and pa=
rtially-non-moving garbage collector.<br>6) It keeps many more values as im=
mediate, including symbols.<br>7) It uses a single-level dispatch mechanism=
 to implement Smalltalk dispatch semantics<br><br>The research question is,=
 &quot;Can this be made fast enough to be competitive?=E2=80=9D Preliminary=
 results are encouraging.<br><br>This will be an online meeting from home.<=
br><br>If you&#39;d like to join us, please sign up in advance on the meeti=
ng&#39;s Meetup page (=C2=A0<a href=3D"https://www.meetup.com/ukstug/events=
/290036186">https://www.meetup.com/ukstug/events/290036186</a> ) to receive=
 the meeting details.<br></div>

--000000000000c0fa8905ee984603--

--===============8524697855775869625==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KU2VsZi1pbnRl
cmVzdCBtYWlsaW5nIGxpc3QKU2VsZi1pbnRlcmVzdEBsaXN0cy5zZWxmbGFuZ3VhZ2Uub3JnCmh0
dHA6Ly9saXN0cy5zZWxmbGFuZ3VhZ2Uub3JnL21haWxtYW4vbGlzdGluZm8vc2VsZi1pbnRlcmVz
dAo=

--===============8524697855775869625==--