[prev in list] [next in list] [prev in thread] [next in thread]
List: squeak-vm-dev
Subject: Re: [Vm-dev] Slang definition?
From: Eliot Miranda <eliot.miranda () gmail ! com>
Date: 2019-10-17 18:05:22
Message-ID: CAC20JE2rfXSr-0sjVdq55ojnK+qa+nXdHkK+9c5eQLr+c81-pQ () mail ! gmail ! com
[Download RAW message or body]
[Attachment #2 (text/plain)]
[Attachment #3 (multipart/alternative)]
Hi Laurent,
On Tue, Oct 15, 2019 at 11:45 PM Laurent Julliard <laurent@moldus.org>
wrote:
>
> Hi all,
>
> Thank you for your answers. yes I read the
> http://wiki.squeak.org/squeak/slang page but suspected that may be
> changes had been made to Slang over time. Whic Eliot confirmed.
>
> Actually I'm not thinking of using Slang directly. I'm on a personal
> project right to write a VM in Web Assembly to run Ruby. And rather than
> writing the VM in WebAssembly directly i'd rather write it in Rlang
> (equivalent of Slang for Ruby) and transpile to WebAssembly (WAT format).
>
> So I'm trying to understand all the features that you had to support in
> Slang to make writing a VM possible/easier.
>
It's a lot more than just Slang, although something like Sang is an
essential enabler; necessary but not sufficient :-). The best overview we
have for our development process is here, in the 2018 section of
https://squeak.org/research/.
Eliot Miranda, Clément Béra, Elisa Gonzalez Boix, and Dan Ingalls. "Two
Decades of Smalltalk VM Development: Live VM Development Through Simulation
Tools." In Proceedings of the 10th ACM SIGPLAN International Workshop on
Virtual Machines and Intermediate Languages, 57–66. VMIL 2018. New York,
NY, USA: ACM, 2018. http://doi.acm.org/10.1145/3281287.3281295. [BibTeX]
Does that help ?
>
yes. I hope that the paper above helps. LMK...
>
> Laurent
>
> On Wed, Oct 16, 2019 at 4:00 AM Eliot Miranda <eliot.miranda@gmail.com>
> wrote:
>
>>
>> Hi Laurent,
>>
>> On Tue, Oct 15, 2019 at 11:10 AM Laurent Julliard <laurent@moldus.org>
>> wrote:
>>
>>>
>>> Hi everyone,
>>>
>>> Is there some place I can find a document describing what subset of
>>> Smalltalk is supported in Slang in its current state?
>>>
>>
>> As others have said there isn't a formal definition. It's also a moving
>> target. I had to add significant type inference facilities to be able to
>> express both a 64-bit and a 32-bit VM with the same set of sources. I've
>> also extended it to support literal block arguments to a limited extent.
>> One can't enumerate over objects, but one can supply blocks to iterators.
>>
>> I'm curious what you want to use Slang for. Answering this might help
>> Slang users/maintainers/extenders to help you.
>>
>>
>>> Thank you.
>>>
>>> Laurent
>>>
>>
>> _,,,^..^,,,_
>> best, Eliot
>>
>
--
_,,,^..^,,,_
best, Eliot
[Attachment #6 (text/html)]
<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi \
Laurent,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On \
Tue, Oct 15, 2019 at 11:45 PM Laurent Julliard <<a \
href="mailto:laurent@moldus.org">laurent@moldus.org</a>> \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> \
<div dir="ltr">Hi all,<div><br></div><div>Thank you for your answers. yes I read the \
<a href="http://wiki.squeak.org/squeak/slang" \
target="_blank">http://wiki.squeak.org/squeak/slang</a> page but suspected that may \
be changes had been made to Slang over time. Whic Eliot \
confirmed.</div><div><br></div><div>Actually I'm not thinking of using Slang \
directly. I'm on a personal project right to write a VM in Web Assembly to run \
Ruby. And rather than writing the VM in WebAssembly directly i'd rather write it \
in Rlang (equivalent of Slang for Ruby) and transpile to WebAssembly (WAT \
format).</div><div><br></div><div>So I'm trying to understand all the features \
that you had to support in Slang to make writing a VM \
possible/easier.</div></div></blockquote><div><br></div><div>It's a lot more than \
just Slang, although something like Sang is an essential enabler; necessary but not \
sufficient :-). The best overview we have for our development process is here, in \
the 2018 section of <a \
href="https://squeak.org/research/">https://squeak.org/research/</a>.</div><div><br></div><div>Eliot \
Miranda, Clément Béra, Elisa Gonzalez Boix, and Dan Ingalls. "Two Decades of \
Smalltalk VM Development: Live VM Development Through Simulation Tools." In \
Proceedings of the 10th ACM SIGPLAN International Workshop on Virtual Machines and \
Intermediate Languages, 57–66. VMIL 2018. New York, NY, USA: ACM, 2018. <a \
href="http://doi.acm.org/10.1145/3281287.3281295">http://doi.acm.org/10.1145/3281287.3281295</a>. \
[BibTeX] </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px \
0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
dir="ltr"><div>Does that help ?<br></div></div></blockquote><div><br></div><div>yes. \
I hope that the paper above helps. LMK...</div><div> </div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
dir="ltr"><div></div><div><br></div><div>Laurent</div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Oct 16, 2019 at 4:00 AM \
Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com" \
target="_blank">eliot.miranda@gmail.com</a>> wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> \
<div dir="ltr"><div dir="ltr">Hi Laurent,<br></div><br><div class="gmail_quote"><div \
dir="ltr" class="gmail_attr">On Tue, Oct 15, 2019 at 11:10 AM Laurent Julliard <<a \
href="mailto:laurent@moldus.org" target="_blank">laurent@moldus.org</a>> \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"> \
<div dir="ltr">Hi everyone,<div></div><div><br></div><div>Is there some place I can \
find a document describing what subset of Smalltalk is supported in Slang in its \
current state?</div></div></blockquote><div><br></div><div>As others have said there \
isn't a formal definition. It's also a moving target. I had to add \
significant type inference facilities to be able to express both a 64-bit and a \
32-bit VM with the same set of sources. I've also extended it to support \
literal block arguments to a limited extent. One can't enumerate over objects, \
but one can supply blocks to iterators.</div><div><br></div><div>I'm curious what \
you want to use Slang for. Answering this might help Slang \
users/maintainers/extenders to help you.</div><div> </div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div \
dir="ltr"><div>Thank you.<br></div><div><br></div><div>Laurent</div></div> \
</blockquote></div><div><br></div><div dir="ltr"><div dir="ltr"><div><span \
style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, \
Eliot</div></span></div></div></div></div> </blockquote></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" \
class="gmail_signature"><div dir="ltr"><div><span \
style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, \
Eliot</div></span></div></div></div></div></div></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic