Brian Rice | 10 Oct 2006 06:47
Favicon

Strongtalk VM docs (was Re: Strongtalk VM now open sourced)

I have posted Doxygen-generated Strongtalk VM documentation to:
http://tunes.org/~water/strongtalk/vm-doc/
http://tunes.org/~water/strongtalk/vm-doc.tgz (for download and  
offline viewing)

Also, Strongtalk now has a website:
http://www.strongtalk.org/

It is using Google project hosting:
http://code.google.com/p/strongtalk/
http://groups.google.com/group/strongtalk-general
http://groups.google.com/group/strongtalk-commit

On Sep 22, 2006, at 8:47 PM, Bill Sun wrote:

> Brian,
>
> From Strongtalk's mailing list, it seems that they plan to focus on  
> ironing out the VM first.  That said, you might be able to fish  
> someone with the qualifying skills to help improve Slate's VM from  
> there.
>
> Strongtalk's developer, David Griswold, mentioned that he's not  
> sure there's enough man power to sustain another Smalltalk variant,  
> and that he doesn't like the idea of having multiple Smalltalk  
> implementations.  But he will get the VM up and polished so that it  
> may be adopted by Squeak or other projects.  After that, it may be  
> up to the Strongtalk community to decide.
>
> http://tech.groups.yahoo.com/group/strongtalk/
(Continue reading)

John Leuner | 11 Oct 2006 09:26

Slate interpreter written in Lisp

Is the original Slate interpreter written in Lisp still available?

Thanks
John

David Gilmore | 11 Oct 2006 10:53

Re: Slate interpreter written in Lisp

Hello,

I have an archive of the original Slate interpreter written in Lisp  
and have sent it offlist to John.  If anyone else is interested, I  
can send it as well.

I have been working on a few changes to get it to compile the current  
sources and run in lispworks environment.  The only thing which  
prevents this from working at the current time is handling a "message  
send" with only optional keyword parameters (eg.   doSomething  
&key1:  x).  This requires adding another token of lookahead to the  
function which handles  the unary messages.

Sincerely,

David Gilmore

On Oct 11, 2006, at 9:26 AM, John Leuner wrote:

> Is the original Slate interpreter written in Lisp still available?
>
> Thanks
> John
>

Brad Watson | 11 Oct 2006 22:22
Picon
Favicon

Re: Slate interpreter written in Lisp

Could you send me a copy as well please ?

TIA,

Brad Watson

----- Original Message ----
From: David Gilmore <davgil <at> taosys.com>
To: jewel <at> subvert-the-dominant-paradigm.net; Slate project discussion <slate <at> tunes.org>
Sent: Wednesday, October 11, 2006 1:53:35 AM
Subject: Re: Slate interpreter written in Lisp

Hello,

I have an archive of the original Slate interpreter written in Lisp  
and have sent it offlist to John.  If anyone else is interested, I  
can send it as well.

I have been working on a few changes to get it to compile the current  
sources and run in lispworks environment.  The only thing which  
prevents this from working at the current time is handling a "message  
send" with only optional keyword parameters (eg.   doSomething  
&key1:  x).  This requires adding another token of lookahead to the  
function which handles  the unary messages.

Sincerely,

David Gilmore

On Oct 11, 2006, at 9:26 AM, John Leuner wrote:
(Continue reading)

Brian Rice | 11 Oct 2006 23:20
Favicon

Re: Slate interpreter written in Lisp

How about if you send me a copy and I make another publicly-available  
darcs repository? :)

On Oct 11, 2006, at 1:22 PM, Brad Watson wrote:

> Could you send me a copy as well please ?
>
> TIA,
>
> Brad Watson
>
> ----- Original Message ----
> From: David Gilmore <davgil <at> taosys.com>
> To: jewel <at> subvert-the-dominant-paradigm.net; Slate project  
> discussion <slate <at> tunes.org>
> Sent: Wednesday, October 11, 2006 1:53:35 AM
> Subject: Re: Slate interpreter written in Lisp
>
> Hello,
>
> I have an archive of the original Slate interpreter written in Lisp
> and have sent it offlist to John.  If anyone else is interested, I
> can send it as well.
>
> I have been working on a few changes to get it to compile the current
> sources and run in lispworks environment.  The only thing which
> prevents this from working at the current time is handling a "message
> send" with only optional keyword parameters (eg.   doSomething
> &key1:  x).  This requires adding another token of lookahead to the
> function which handles  the unary messages.
(Continue reading)

Mark Haniford | 13 Oct 2006 02:35
Picon

Strongtalk VM?

I've seen Brian on the Strongtalk mailinglist, but I thought I would bring up the Strongtalk VM here.  My question is if it could be used for Slate?  Are the semantics of Slate to foreign for a Smalltalk VM?   I noticed that a couple people wanted the Lisp interpreter for Slate.  Does anybody have any specific plans for working on Slate?

Jecel Assumpcao Jr | 13 Oct 2006 03:00
Favicon
Gravatar

Re: Strongtalk VM?

Mark Haniford wrote:
> I've seen Brian on the Strongtalk mailinglist, but I thought I would bring up
> the Strongtalk VM here.  My question is if it could be used for Slate?  Are
> the semantics of Slate to foreign for a Smalltalk VM?   I noticed that a couple
> people wanted the Lisp interpreter for Slate.  Does anybody have any
> specific plans for working on Slate? 

The most visible feature of Slate, the multiple dispatch, can be
reasonably emulated on a Smalltalk VM either by generating extra methods
without any changes to the VM (a bit like Squeak now implements Traits)
or more efficiently by a reasonably simple change to the VM. It took a
while for me to convince myself that this was the case since I didn't
know about some restrictions on Slate's dispatch. Then I posted the
extra method solution here, but I can go into it and the other one again
if there is interest.

Other things like optional arguments and multiple viewpoints are much
more complicated.

--Jecel

Brian Rice | 16 Oct 2006 13:03
Favicon

Re: Strongtalk VM?


On Oct 12, 2006, at 5:35 PM, Mark Haniford wrote:

> I've seen Brian on the Strongtalk mailinglist, but I thought I  
> would bring up the Strongtalk VM here.  My question is if it could  
> be used for Slate?

Strongtalk has several issues. I'll try to give a quick overview:
1) It is not portable at all, designed only for mid-to-late-90s  
Windows on x86 processors. It needs work just to compile with a  
modern MS Visual C++ compiler. The compilation code only deals with  
x86, not just in the dirty details, but in the protocols as well.
2) The compiler is built into the VM instead of above it.
3) Not enough people understand the VM mechanics yet that make all of  
this work.

Strongtalk does have the benefit that it was designed with proper  
block-closure semantics in mind. It does not have excellent floating- 
point infrastructure or thought given to FFI beyond the very basics  
that their in-development prototype needed.

>   Are the semantics of Slate to foreign for a Smalltalk VM?

Yes, to a reasonable extent. Smalltalk-80 hackers do enjoy pointing  
out how multi-dispatch and prototypes/delegation can be implemented  
atop their VM's. This is a bit glib, because the overheads are real,  
just as real as if we were to blithely assert that everything that  
Haskell compiles well could certainly be compiled for the Slate VM,  
that PMD gets most of pattern-matching done easily enough. It's true,  
but disingenuous - by using primitives that suit a certain level of  
abstraction, it frees the programmer from the economic burden of  
having to count the cost of that abstraction.

That said, the hotspot-style inlining benefit would be much greater,  
I'm guessing; for the same reasons, since Slate was *created* with  
the economic goal in mind that the Strongtalk developers gave the  
Smalltalk community a glimpsed vision of.

>    I noticed that a couple people wanted the Lisp interpreter for  
> Slate.  Does anybody have any specific plans for working on Slate?

Don't expect people to commit to such things publicly in an open- 
source community - it engenders a sense of owing and expectation  
which is discouraging.

I would still like to encourage new approaches, ones that might give  
us a lot simpler road forward than what we had. I think the threaded- 
code interpreter idea has merit, but the Strongtalk idea is much  
better when discussing conceptual merges rather than concrete ones.  
If you doubt me, try reading and grokking the Strongtalk VM code and  
present evidence (or working code) that supports your ideas.

--
-Brian
http://tunes.org/~water/brice.vcf

Mark Haniford | 16 Oct 2006 18:03
Picon

Re: Strongtalk VM?



On 10/16/06, Brian Rice <water <at> tunes.org> wrote:


Strongtalk has several issues. I'll try to give a quick overview:
1) It is not portable at all, designed only for mid-to-late-90s
Windows on x86 processors. It needs work just to compile with a
modern MS Visual C++ compiler. The compilation code only deals with
x86, not just in the dirty details, but in the protocols as well.

    These days, x86 only (as an initial cut) is not as problematic as Windows only.
 

2) The compiler is built into the VM instead of above it.
3) Not enough people understand the VM mechanics yet that make all of
this work.

   Not enough time, and not enough technical chops (me included).   At the time they probably didn't know or care if it was going to go open source, but I think that C++ tends to obfuscate something like a VM and raise the barrier to entry.  Straight C probably would have been better for something like that.  But of course the big hurdle are people that have willing time and strong VM experience to actually work on it.


>   Are the semantics of Slate to foreign for a Smalltalk VM?

Yes, to a reasonable extent. Smalltalk-80 hackers do enjoy pointing
out how multi-dispatch and prototypes/delegation can be implemented
atop their VM's. This is a bit glib, because the overheads are real,
just as real as if we were to blithely assert that everything that
Haskell compiles well could certainly be compiled for the Slate VM,
that PMD gets most of pattern-matching done easily enough. It's true,
but disingenuous - by using primitives that suit a certain level of
abstraction, it frees the programmer from the economic burden of
having to count the cost of that abstraction.

That said, the hotspot-style inlining benefit would be much greater,
I'm guessing; for the same reasons, since Slate was *created* with
the economic goal in mind that the Strongtalk developers gave the
Smalltalk community a glimpsed vision of.

That's what I figured.  You not only would have to have strong knowledge of the Strongtalk VM, but also of how to adapt it to Slate

 

>    I noticed that a couple people wanted the Lisp interpreter for
> Slate.  Does anybody have any specific plans for working on Slate?

Don't expect people to commit to such things publicly in an open-
source community - it engenders a sense of owing and expectation
which is discouraging.

I agree.  It would be great if someday someone would just drop a note saying they have a fast performing Slate compiler/VM.  I think open source in general tends to have a over-hyping effect.

--
-Brian
http://tunes.org/~water/brice.vcf




Slom | 18 Oct 2006 21:40
Picon
Picon

Re: Slate interpreter written in Lisp

John Leuner <jewel <at> subvert-the-dominant-paradigm.net> writes:

> 
> Is the original Slate interpreter written in Lisp still available?
> 
> Thanks
> John
> 
> 

Have a look at Lee Salzmans Directory:
http://tunes.org/~eihrul/

some very early PMD implementations available here ...


Gmane