[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 &lt;<a \
href="mailto:laurent@moldus.org">laurent@moldus.org</a>&gt; \
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&#39;m not thinking of using Slang \
directly. I&#39;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&#39;d rather write it \
in Rlang (equivalent of Slang for Ruby) and transpile to WebAssembly (WAT \
format).</div><div><br></div><div>So I&#39;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&#39;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 &lt;<a href="mailto:eliot.miranda@gmail.com" \
target="_blank">eliot.miranda@gmail.com</a>&gt; 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 &lt;<a \
href="mailto:laurent@moldus.org" target="_blank">laurent@moldus.org</a>&gt; \
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&#39;t a formal definition. It&#39;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&#39;ve also extended it to support \
literal block arguments to a limited extent.   One can&#39;t enumerate over objects, \
but one can supply blocks to iterators.</div><div><br></div><div>I&#39;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