Redline: Talking Runtime basics ...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Redline: Talking Runtime basics ...

James Ladd
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

kilon.alios
I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

monty-3
In reply to this post by James Ladd
> Sent: Thursday, December 29, 2016 at 6:51 PM
> From: "James Ladd" <[hidden email]>
> To: [hidden email]
> Subject: [Pharo-dev] Redline: Talking Runtime basics ...
>
> Hi Pharo People,
>
> I have continued work on Redline Smalltalk and I'm wanting to discuss what

Nice to hear Redline is still under development.

> the absolute minimum
> set of Classes and method should be included in the Redline Runtime.

Have you looked at Cuis?

> Would anyone here like to participate in that discussion?
>
> - James.
> Redline Smalltalk <http://redline.st>  
>
>
>
> --
> View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Tim Mackinnon
In reply to this post by kilon.alios
Actually I think James is on to something and we should try and support him.

Having recently played with AWS Lambda and written a few Alexa services in JS,  I was intrigued how you would approach such end points in Smalltalk and whether it would be a productive language and environment to run them in. (Btw - the lambda environment is very interesting - scalable infrastructure that is peanuts to run).

To try this, the basic building blocks provided by these services are either JS or Java - so for Smalltalkers that sounds like Smalltalk running on Amber or Redline.

I find Amber and all the JS infrastructure very daunting - gulp, amd etc. And for Lambda you also get caught into this world of package management and loading up JS dependencies.

I'm intrigued how a jvm Smalltalk might approach this problem (as well as many others I'm sure). We seem to achieve a lot with quite a small image of building blocks.

As pharo is a research community, can we help James explore this a bit more? Certainly there is a drive to a minimal Smalltalk image - so that work can immediately feed into this.

To add to the research'y side context - these service infrastructures seem to feel a lot like callable blocks of code. We are used to thinking in this way in our image - we use blocks everywhere. How might they run in a scaleable environment vs straight function call languages?

Tim

Sent from my iPhone

On 30 Dec 2016, at 09:31, Dimitris Chloupis <[hidden email]> wrote:

I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

kilon.alios
The problem for an open source community as this one is time and money

As Stef says "give me a million dollars and I will give you a Pharo million times better"

that's the dream world

in real world we all have very limited time that we focus on the sides of Pharo that interest us the most. Obviously we are here to help people use Pharo under any condition and requirement. As such I think and hope that I speak for everyone that we are more than happy to offer advice to help Pharo extend its influence on other platforms.

To actually contribute code will need Pharo developers that are experienced Java developers too (I am not).

Problem is that neither Java nor Javascript have good reputation and as such people who can avoid them do so.

For example even though we can justify the freeze of a project like Redline Smalltalk because of the tiny size of the Smalltalk community but take something huge in popularity like Python, the official release of Python is CPython with an estimate of over 2 million developers world wide ,  Jython which is the port of Python in JVM has actually smaller community than we have at least last time I checked few gears ago. Just think about it for a minute.

Its super hard to convince a python developer to switch to jython and so is for a java developer.

This applies for all languages, I think the reasoning is that each language is not just a tool but an entire culture and people pick them for specific reasons,

Javascript situation is more or less the same, python has no actively supported javascript equivelant.

Again I am using Python as an example, different languages same or similar scenario.

This is why I suggested to bring Redline closer to Pharo rather than porting some Pharo classes to JVM.

Amber failed to gain traction because it did the opposite of what I am suggesting , tried to convince people to give up Pharo and move completely to Amber (for the JS part) which is why it implemented its own IDE etc. Obviously it did not work and Amber is barely alive.

PharoJS seem on the right path , at least for me, so maybe there is still hope.

In any case its not hard to use libraries from other programming language in Pharo with some form of IPC, I do this for using python libraries from Pharo and I making something similar for C++. Took me only a few hundred lines of code to do it for both and works pretty well. IPC can work with pretty much any language and as many languages at the same time as you want or your processor can handle.

There are a ton of projects out there that use multiple languages that work together as one unit. Problem is that you can approach this through a billion diffirent angles and it will depend on the specific problem you want to solve. I build my own IPC tools to fit my specific needs which are Unreal (game engine) and Blender (3d application).

There was a cool idea from a presentation a Smalltalker once gave about moving a DigiTalk implementation to JVM whithout changing a thing inside the image. Instead they ported the bytecode from smalltalk to JVM and used JNI for the C libraries. Sound too good to be true, they supposed to release it open source ages ago but that turned out to be another vaporware.

I also agree that Cuis is a very good start to find the most essential libraries for Pharo. There is also a minimal image for pharo on the dowload section of the website which should give a good idea. But as it is to be expected its impossible to predict what is essential for each Pharo user and there lies the challenge.

On Fri, Dec 30, 2016 at 1:59 PM Tim Mackinnon <[hidden email]> wrote:
Actually I think James is on to something and we should try and support him.

Having recently played with AWS Lambda and written a few Alexa services in JS,  I was intrigued how you would approach such end points in Smalltalk and whether it would be a productive language and environment to run them in. (Btw - the lambda environment is very interesting - scalable infrastructure that is peanuts to run).

To try this, the basic building blocks provided by these services are either JS or Java - so for Smalltalkers that sounds like Smalltalk running on Amber or Redline.

I find Amber and all the JS infrastructure very daunting - gulp, amd etc. And for Lambda you also get caught into this world of package management and loading up JS dependencies.

I'm intrigued how a jvm Smalltalk might approach this problem (as well as many others I'm sure). We seem to achieve a lot with quite a small image of building blocks.

As pharo is a research community, can we help James explore this a bit more? Certainly there is a drive to a minimal Smalltalk image - so that work can immediately feed into this.

To add to the research'y side context - these service infrastructures seem to feel a lot like callable blocks of code. We are used to thinking in this way in our image - we use blocks everywhere. How might they run in a scaleable environment vs straight function call languages?

Tim

Sent from my iPhone

On 30 Dec 2016, at 09:31, Dimitris Chloupis <[hidden email]> wrote:

I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Tim Mackinnon
I think we've gone off topic -  James would simply like advice on what a minimal image could/should be composed of.

That doesn't sound like a lot of work to help with that.

I know there is a minimal image project in Pharo, but I'm not sure how minimal it got. I recall Marcus once telling me that the trick might be to get things to a place where you could bootstrap metacello and load in whatever you needed. I'm not sure if that is still the goal? But that would strike me as the core library he's interested in?

Equally there was some work around having a scripting language using a command line Pharo for build type things. I don't recall its name - but again I'm sure it relies on a core set of classes that are used to bootstrap stuff as well.

If someone can point to either of those two things that might help James enough.

I know his actual project is hosted in GitHub and doesn't really distract anything going on here. It's on my todo list to check it out.

Tim

Sent from my iPhone

On 30 Dec 2016, at 13:49, Dimitris Chloupis <[hidden email]> wrote:

The problem for an open source community as this one is time and money

As Stef says "give me a million dollars and I will give you a Pharo million times better"

that's the dream world

in real world we all have very limited time that we focus on the sides of Pharo that interest us the most. Obviously we are here to help people use Pharo under any condition and requirement. As such I think and hope that I speak for everyone that we are more than happy to offer advice to help Pharo extend its influence on other platforms.

To actually contribute code will need Pharo developers that are experienced Java developers too (I am not).

Problem is that neither Java nor Javascript have good reputation and as such people who can avoid them do so.

For example even though we can justify the freeze of a project like Redline Smalltalk because of the tiny size of the Smalltalk community but take something huge in popularity like Python, the official release of Python is CPython with an estimate of over 2 million developers world wide ,  Jython which is the port of Python in JVM has actually smaller community than we have at least last time I checked few gears ago. Just think about it for a minute.

Its super hard to convince a python developer to switch to jython and so is for a java developer.

This applies for all languages, I think the reasoning is that each language is not just a tool but an entire culture and people pick them for specific reasons,

Javascript situation is more or less the same, python has no actively supported javascript equivelant.

Again I am using Python as an example, different languages same or similar scenario.

This is why I suggested to bring Redline closer to Pharo rather than porting some Pharo classes to JVM.

Amber failed to gain traction because it did the opposite of what I am suggesting , tried to convince people to give up Pharo and move completely to Amber (for the JS part) which is why it implemented its own IDE etc. Obviously it did not work and Amber is barely alive.

PharoJS seem on the right path , at least for me, so maybe there is still hope.

In any case its not hard to use libraries from other programming language in Pharo with some form of IPC, I do this for using python libraries from Pharo and I making something similar for C++. Took me only a few hundred lines of code to do it for both and works pretty well. IPC can work with pretty much any language and as many languages at the same time as you want or your processor can handle.

There are a ton of projects out there that use multiple languages that work together as one unit. Problem is that you can approach this through a billion diffirent angles and it will depend on the specific problem you want to solve. I build my own IPC tools to fit my specific needs which are Unreal (game engine) and Blender (3d application).

There was a cool idea from a presentation a Smalltalker once gave about moving a DigiTalk implementation to JVM whithout changing a thing inside the image. Instead they ported the bytecode from smalltalk to JVM and used JNI for the C libraries. Sound too good to be true, they supposed to release it open source ages ago but that turned out to be another vaporware.

I also agree that Cuis is a very good start to find the most essential libraries for Pharo. There is also a minimal image for pharo on the dowload section of the website which should give a good idea. But as it is to be expected its impossible to predict what is essential for each Pharo user and there lies the challenge.

On Fri, Dec 30, 2016 at 1:59 PM Tim Mackinnon <[hidden email]> wrote:
Actually I think James is on to something and we should try and support him.

Having recently played with AWS Lambda and written a few Alexa services in JS,  I was intrigued how you would approach such end points in Smalltalk and whether it would be a productive language and environment to run them in. (Btw - the lambda environment is very interesting - scalable infrastructure that is peanuts to run).

To try this, the basic building blocks provided by these services are either JS or Java - so for Smalltalkers that sounds like Smalltalk running on Amber or Redline.

I find Amber and all the JS infrastructure very daunting - gulp, amd etc. And for Lambda you also get caught into this world of package management and loading up JS dependencies.

I'm intrigued how a jvm Smalltalk might approach this problem (as well as many others I'm sure). We seem to achieve a lot with quite a small image of building blocks.

As pharo is a research community, can we help James explore this a bit more? Certainly there is a drive to a minimal Smalltalk image - so that work can immediately feed into this.

To add to the research'y side context - these service infrastructures seem to feel a lot like callable blocks of code. We are used to thinking in this way in our image - we use blocks everywhere. How might they run in a scaleable environment vs straight function call languages?

Tim

Sent from my iPhone

On 30 Dec 2016, at 09:31, Dimitris Chloupis <[hidden email]> wrote:

I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Ben Coman
In reply to this post by James Ladd
On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:

> Hi Pharo People,
>
> I have continued work on Redline Smalltalk and I'm wanting to discuss what
> the absolute minimum
> set of Classes and method should be included in the Redline Runtime.
>
> Would anyone here like to participate in that discussion?
>
> - James.
> Redline Smalltalk <http://redline.st>
Nice to hear you are continuing.
I'm not very knowledgable on this, but I'll show you how to pull some
data from the work on producing a minimal image.

1. From PharoLauncher > Templates > Pharo 6.0(beta)
    download/create an image of build "60334-minimal".
2. Right-click on the image and choose [Copy pathname]
3. In a shell, change to that directory, and execute the following
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses size"
        ==> 2801
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
allSubclasses size"
        ==> 1399.
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt

I've attached the output of that last one.

4. For comparison, in a standard 60334 image,
    Object allSubclasses size "==>11923".
    Object class allSubclasses size "==>5959".

Now in Pharo 6, the minimal image starts with a standard image and
strips these things out...
https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt

In Pharo 7, there will be a new build system that it will start with a
minimal image and build it up to a normal image.  So this may provide
a better way to understand the order that things need to be
implemented.

cheers -ben

60334-minimal-class-hierarchy.txt (69K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

philippe.back@highoctane.be
Amber took a bunch of classes and this could be a nice starting point for fundamentals.

Phil

Le 30 déc. 2016 18:14, "Ben Coman" <[hidden email]> a écrit :
On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:
> Hi Pharo People,
>
> I have continued work on Redline Smalltalk and I'm wanting to discuss what
> the absolute minimum
> set of Classes and method should be included in the Redline Runtime.
>
> Would anyone here like to participate in that discussion?
>
> - James.
> Redline Smalltalk <http://redline.st>

Nice to hear you are continuing.
I'm not very knowledgable on this, but I'll show you how to pull some
data from the work on producing a minimal image.

1. From PharoLauncher > Templates > Pharo 6.0(beta)
    download/create an image of build "60334-minimal".
2. Right-click on the image and choose [Copy pathname]
3. In a shell, change to that directory, and execute the following
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses size"
        ==> 2801
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
allSubclasses size"
        ==> 1399.
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt

I've attached the output of that last one.

4. For comparison, in a standard 60334 image,
    Object allSubclasses size "==>11923".
    Object class allSubclasses size "==>5959".

Now in Pharo 6, the minimal image starts with a standard image and
strips these things out...
https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt

In Pharo 7, there will be a new build system that it will start with a
minimal image and build it up to a normal image.  So this may provide
a better way to understand the order that things need to be
implemented.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Pavel Krivanek-3
In reply to this post by Ben Coman
It is better to use smaller bootstrapped image without Monticello but it is still quite big.

-- Pavel

2016-12-30 18:13 GMT+01:00 Ben Coman <[hidden email]>:
On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:
> Hi Pharo People,
>
> I have continued work on Redline Smalltalk and I'm wanting to discuss what
> the absolute minimum
> set of Classes and method should be included in the Redline Runtime.
>
> Would anyone here like to participate in that discussion?
>
> - James.
> Redline Smalltalk <http://redline.st>

Nice to hear you are continuing.
I'm not very knowledgable on this, but I'll show you how to pull some
data from the work on producing a minimal image.

1. From PharoLauncher > Templates > Pharo 6.0(beta)
    download/create an image of build "60334-minimal".
2. Right-click on the image and choose [Copy pathname]
3. In a shell, change to that directory, and execute the following
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses size"
        ==> 2801
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
allSubclasses size"
        ==> 1399.
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt

I've attached the output of that last one.

4. For comparison, in a standard 60334 image,
    Object allSubclasses size "==>11923".
    Object class allSubclasses size "==>5959".

Now in Pharo 6, the minimal image starts with a standard image and
strips these things out...
https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt

In Pharo 7, there will be a new build system that it will start with a
minimal image and build it up to a normal image.  So this may provide
a better way to understand the order that things need to be
implemented.

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
In reply to this post by monty-3
Monty I'll have a look at Cuis thanks

Sent from my Commodore 64

On 30 Dec 2016, at 9:16 pm, monty <[hidden email]> wrote:

>> Sent: Thursday, December 29, 2016 at 6:51 PM
>> From: "James Ladd" <[hidden email]>
>> To: [hidden email]
>> Subject: [Pharo-dev] Redline: Talking Runtime basics ...
>>
>> Hi Pharo People,
>>
>> I have continued work on Redline Smalltalk and I'm wanting to discuss what
>
> Nice to hear Redline is still under development.
>
>> the absolute minimum
>> set of Classes and method should be included in the Redline Runtime.
>
> Have you looked at Cuis?
>
>> Would anyone here like to participate in that discussion?
>>
>> - James.
>> Redline Smalltalk <http://redline.st>  
>>
>>
>>
>> --
>> View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
In reply to this post by Tim Mackinnon
Hi Tim,

Thank you for the support.

With Redline you will be able to deploy Smalltalk to AWS Lambda 

Smalltalk source can be packaged into a STar (Smalltalk archive) which is actually a Java jar and deployed.

See jaws-maven-plugin for an approach to getting Java code deployed easily as a Lambda 

Sent from my Commodore 64

On 30 Dec 2016, at 10:25 pm, Tim Mackinnon <[hidden email]> wrote:

Actually I think James is on to something and we should try and support him.

Having recently played with AWS Lambda and written a few Alexa services in JS,  I was intrigued how you would approach such end points in Smalltalk and whether it would be a productive language and environment to run them in. (Btw - the lambda environment is very interesting - scalable infrastructure that is peanuts to run).

To try this, the basic building blocks provided by these services are either JS or Java - so for Smalltalkers that sounds like Smalltalk running on Amber or Redline.

I find Amber and all the JS infrastructure very daunting - gulp, amd etc. And for Lambda you also get caught into this world of package management and loading up JS dependencies.

I'm intrigued how a jvm Smalltalk might approach this problem (as well as many others I'm sure). We seem to achieve a lot with quite a small image of building blocks.

As pharo is a research community, can we help James explore this a bit more? Certainly there is a drive to a minimal Smalltalk image - so that work can immediately feed into this.

To add to the research'y side context - these service infrastructures seem to feel a lot like callable blocks of code. We are used to thinking in this way in our image - we use blocks everywhere. How might they run in a scaleable environment vs straight function call languages?

Tim

Sent from my iPhone

On 30 Dec 2016, at 09:31, Dimitris Chloupis <[hidden email]> wrote:

I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
In reply to this post by kilon.alios
Dimitris,

To contribute you do not need to code Java at all, never, period.

Sent from my Commodore 64

On 30 Dec 2016, at 11:49 pm, Dimitris Chloupis <[hidden email]> wrote:

The problem for an open source community as this one is time and money

As Stef says "give me a million dollars and I will give you a Pharo million times better"

that's the dream world

in real world we all have very limited time that we focus on the sides of Pharo that interest us the most. Obviously we are here to help people use Pharo under any condition and requirement. As such I think and hope that I speak for everyone that we are more than happy to offer advice to help Pharo extend its influence on other platforms.

To actually contribute code will need Pharo developers that are experienced Java developers too (I am not).

Problem is that neither Java nor Javascript have good reputation and as such people who can avoid them do so.

For example even though we can justify the freeze of a project like Redline Smalltalk because of the tiny size of the Smalltalk community but take something huge in popularity like Python, the official release of Python is CPython with an estimate of over 2 million developers world wide ,  Jython which is the port of Python in JVM has actually smaller community than we have at least last time I checked few gears ago. Just think about it for a minute.

Its super hard to convince a python developer to switch to jython and so is for a java developer.

This applies for all languages, I think the reasoning is that each language is not just a tool but an entire culture and people pick them for specific reasons,

Javascript situation is more or less the same, python has no actively supported javascript equivelant.

Again I am using Python as an example, different languages same or similar scenario.

This is why I suggested to bring Redline closer to Pharo rather than porting some Pharo classes to JVM.

Amber failed to gain traction because it did the opposite of what I am suggesting , tried to convince people to give up Pharo and move completely to Amber (for the JS part) which is why it implemented its own IDE etc. Obviously it did not work and Amber is barely alive.

PharoJS seem on the right path , at least for me, so maybe there is still hope.

In any case its not hard to use libraries from other programming language in Pharo with some form of IPC, I do this for using python libraries from Pharo and I making something similar for C++. Took me only a few hundred lines of code to do it for both and works pretty well. IPC can work with pretty much any language and as many languages at the same time as you want or your processor can handle.

There are a ton of projects out there that use multiple languages that work together as one unit. Problem is that you can approach this through a billion diffirent angles and it will depend on the specific problem you want to solve. I build my own IPC tools to fit my specific needs which are Unreal (game engine) and Blender (3d application).

There was a cool idea from a presentation a Smalltalker once gave about moving a DigiTalk implementation to JVM whithout changing a thing inside the image. Instead they ported the bytecode from smalltalk to JVM and used JNI for the C libraries. Sound too good to be true, they supposed to release it open source ages ago but that turned out to be another vaporware.

I also agree that Cuis is a very good start to find the most essential libraries for Pharo. There is also a minimal image for pharo on the dowload section of the website which should give a good idea. But as it is to be expected its impossible to predict what is essential for each Pharo user and there lies the challenge.

On Fri, Dec 30, 2016 at 1:59 PM Tim Mackinnon <[hidden email]> wrote:
Actually I think James is on to something and we should try and support him.

Having recently played with AWS Lambda and written a few Alexa services in JS,  I was intrigued how you would approach such end points in Smalltalk and whether it would be a productive language and environment to run them in. (Btw - the lambda environment is very interesting - scalable infrastructure that is peanuts to run).

To try this, the basic building blocks provided by these services are either JS or Java - so for Smalltalkers that sounds like Smalltalk running on Amber or Redline.

I find Amber and all the JS infrastructure very daunting - gulp, amd etc. And for Lambda you also get caught into this world of package management and loading up JS dependencies.

I'm intrigued how a jvm Smalltalk might approach this problem (as well as many others I'm sure). We seem to achieve a lot with quite a small image of building blocks.

As pharo is a research community, can we help James explore this a bit more? Certainly there is a drive to a minimal Smalltalk image - so that work can immediately feed into this.

To add to the research'y side context - these service infrastructures seem to feel a lot like callable blocks of code. We are used to thinking in this way in our image - we use blocks everywhere. How might they run in a scaleable environment vs straight function call languages?

Tim

Sent from my iPhone

On 30 Dec 2016, at 09:31, Dimitris Chloupis <[hidden email]> wrote:

I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
In reply to this post by Tim Mackinnon
Thanks Tim.

I even tried to find the old Potatoe Smalltalk which was a port of an old Smalltalk-80 image as it had a working ide and yet the smallest count of classes.



Sent from my Commodore 64

On 31 Dec 2016, at 1:01 am, Tim Mackinnon <[hidden email]> wrote:

I think we've gone off topic -  James would simply like advice on what a minimal image could/should be composed of.

That doesn't sound like a lot of work to help with that.

I know there is a minimal image project in Pharo, but I'm not sure how minimal it got. I recall Marcus once telling me that the trick might be to get things to a place where you could bootstrap metacello and load in whatever you needed. I'm not sure if that is still the goal? But that would strike me as the core library he's interested in?

Equally there was some work around having a scripting language using a command line Pharo for build type things. I don't recall its name - but again I'm sure it relies on a core set of classes that are used to bootstrap stuff as well.

If someone can point to either of those two things that might help James enough.

I know his actual project is hosted in GitHub and doesn't really distract anything going on here. It's on my todo list to check it out.

Tim

Sent from my iPhone

On 30 Dec 2016, at 13:49, Dimitris Chloupis <[hidden email]> wrote:

The problem for an open source community as this one is time and money

As Stef says "give me a million dollars and I will give you a Pharo million times better"

that's the dream world

in real world we all have very limited time that we focus on the sides of Pharo that interest us the most. Obviously we are here to help people use Pharo under any condition and requirement. As such I think and hope that I speak for everyone that we are more than happy to offer advice to help Pharo extend its influence on other platforms.

To actually contribute code will need Pharo developers that are experienced Java developers too (I am not).

Problem is that neither Java nor Javascript have good reputation and as such people who can avoid them do so.

For example even though we can justify the freeze of a project like Redline Smalltalk because of the tiny size of the Smalltalk community but take something huge in popularity like Python, the official release of Python is CPython with an estimate of over 2 million developers world wide ,  Jython which is the port of Python in JVM has actually smaller community than we have at least last time I checked few gears ago. Just think about it for a minute.

Its super hard to convince a python developer to switch to jython and so is for a java developer.

This applies for all languages, I think the reasoning is that each language is not just a tool but an entire culture and people pick them for specific reasons,

Javascript situation is more or less the same, python has no actively supported javascript equivelant.

Again I am using Python as an example, different languages same or similar scenario.

This is why I suggested to bring Redline closer to Pharo rather than porting some Pharo classes to JVM.

Amber failed to gain traction because it did the opposite of what I am suggesting , tried to convince people to give up Pharo and move completely to Amber (for the JS part) which is why it implemented its own IDE etc. Obviously it did not work and Amber is barely alive.

PharoJS seem on the right path , at least for me, so maybe there is still hope.

In any case its not hard to use libraries from other programming language in Pharo with some form of IPC, I do this for using python libraries from Pharo and I making something similar for C++. Took me only a few hundred lines of code to do it for both and works pretty well. IPC can work with pretty much any language and as many languages at the same time as you want or your processor can handle.

There are a ton of projects out there that use multiple languages that work together as one unit. Problem is that you can approach this through a billion diffirent angles and it will depend on the specific problem you want to solve. I build my own IPC tools to fit my specific needs which are Unreal (game engine) and Blender (3d application).

There was a cool idea from a presentation a Smalltalker once gave about moving a DigiTalk implementation to JVM whithout changing a thing inside the image. Instead they ported the bytecode from smalltalk to JVM and used JNI for the C libraries. Sound too good to be true, they supposed to release it open source ages ago but that turned out to be another vaporware.

I also agree that Cuis is a very good start to find the most essential libraries for Pharo. There is also a minimal image for pharo on the dowload section of the website which should give a good idea. But as it is to be expected its impossible to predict what is essential for each Pharo user and there lies the challenge.

On Fri, Dec 30, 2016 at 1:59 PM Tim Mackinnon <[hidden email]> wrote:
Actually I think James is on to something and we should try and support him.

Having recently played with AWS Lambda and written a few Alexa services in JS,  I was intrigued how you would approach such end points in Smalltalk and whether it would be a productive language and environment to run them in. (Btw - the lambda environment is very interesting - scalable infrastructure that is peanuts to run).

To try this, the basic building blocks provided by these services are either JS or Java - so for Smalltalkers that sounds like Smalltalk running on Amber or Redline.

I find Amber and all the JS infrastructure very daunting - gulp, amd etc. And for Lambda you also get caught into this world of package management and loading up JS dependencies.

I'm intrigued how a jvm Smalltalk might approach this problem (as well as many others I'm sure). We seem to achieve a lot with quite a small image of building blocks.

As pharo is a research community, can we help James explore this a bit more? Certainly there is a drive to a minimal Smalltalk image - so that work can immediately feed into this.

To add to the research'y side context - these service infrastructures seem to feel a lot like callable blocks of code. We are used to thinking in this way in our image - we use blocks everywhere. How might they run in a scaleable environment vs straight function call languages?

Tim

Sent from my iPhone

On 30 Dec 2016, at 09:31, Dimitris Chloupis <[hidden email]> wrote:

I think what most people would want is to use Java libraries from inside Pharo. You seem to want to bring Pharo classes to Redline Runtime .

I have the opposite idea of bringing Redline Runtime inside Pharo and give us Pharo developers an easy way to use Java libraries and mix pharo with java code. I think also Pharo would serve great as an IDE for Redline Smalltalk.

I already have JNIPort thats does that but none will complain to have another tool around, I am sure it will come very handy.

On Fri, Dec 30, 2016 at 2:08 AM James Ladd <[hidden email]> wrote:
Hi Pharo People,

I have continued work on Redline Smalltalk and I'm wanting to discuss what
the absolute minimum
set of Classes and method should be included in the Redline Runtime.

Would anyone here like to participate in that discussion?

- James.
Redline Smalltalk <http://redline.st>



--
View this message in context: http://forum.world.st/Redline-Talking-Runtime-basics-tp4928375.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
In reply to this post by Ben Coman
This is very helpful thank you.

Maybe I can rephrase things to help capture what I'm trying to do.

In the Smalltalk-80 blue book there is a set of Kernel-Object/Kernel-Classes defined and I'm trying to find a full running implementation of these classes in a Smalltalk environment OR recreate

Sent from my Commodore 64

> On 31 Dec 2016, at 4:13 am, Ben Coman <[hidden email]> wrote:
>
>> On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:
>> Hi Pharo People,
>>
>> I have continued work on Redline Smalltalk and I'm wanting to discuss what
>> the absolute minimum
>> set of Classes and method should be included in the Redline Runtime.
>>
>> Would anyone here like to participate in that discussion?
>>
>> - James.
>> Redline Smalltalk <http://redline.st>
>
> Nice to hear you are continuing.
> I'm not very knowledgable on this, but I'll show you how to pull some
> data from the work on producing a minimal image.
>
> 1. From PharoLauncher > Templates > Pharo 6.0(beta)
>    download/create an image of build "60334-minimal".
> 2. Right-click on the image and choose [Copy pathname]
> 3. In a shell, change to that directory, and execute the following
>    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses size"
>        ==> 2801
>    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
> allSubclasses size"
>        ==> 1399.
>    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
> printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt
>
> I've attached the output of that last one.
>
> 4. For comparison, in a standard 60334 image,
>    Object allSubclasses size "==>11923".
>    Object class allSubclasses size "==>5959".
>
> Now in Pharo 6, the minimal image starts with a standard image and
> strips these things out...
> https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt
>
> In Pharo 7, there will be a new build system that it will start with a
> minimal image and build it up to a normal image.  So this may provide
> a better way to understand the order that things need to be
> implemented.
>
> cheers -ben
> <60334-minimal-class-hierarchy.txt>

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
In reply to this post by philippe.back@highoctane.be
I have been looking at Amber :)

Sent from my Commodore 64

On 31 Dec 2016, at 6:26 am, [hidden email] <[hidden email]> wrote:

Amber took a bunch of classes and this could be a nice starting point for fundamentals.

Phil

Le 30 déc. 2016 18:14, "Ben Coman" <[hidden email]> a écrit :
On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:
> Hi Pharo People,
>
> I have continued work on Redline Smalltalk and I'm wanting to discuss what
> the absolute minimum
> set of Classes and method should be included in the Redline Runtime.
>
> Would anyone here like to participate in that discussion?
>
> - James.
> Redline Smalltalk <http://redline.st>

Nice to hear you are continuing.
I'm not very knowledgable on this, but I'll show you how to pull some
data from the work on producing a minimal image.

1. From PharoLauncher > Templates > Pharo 6.0(beta)
    download/create an image of build "60334-minimal".
2. Right-click on the image and choose [Copy pathname]
3. In a shell, change to that directory, and execute the following
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses size"
        ==> 2801
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
allSubclasses size"
        ==> 1399.
    $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt

I've attached the output of that last one.

4. For comparison, in a standard 60334 image,
    Object allSubclasses size "==>11923".
    Object class allSubclasses size "==>5959".

Now in Pharo 6, the minimal image starts with a standard image and
strips these things out...
https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt

In Pharo 7, there will be a new build system that it will start with a
minimal image and build it up to a normal image.  So this may provide
a better way to understand the order that things need to be
implemented.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Ben Coman
In reply to this post by Pavel Krivanek-3
So for curiosity...

$  $PHARO bootstrap.image eval "Object allSubclasses size"
1677

$  $PHARO bootstrap.image eval "Object allSubclasses size"
837

$  $PHARO bootstrap.image eval "Object class printHierarchy" >
/tmp/60334-bootstrap-hierarchy.txt
(see attached)

cheers -ben


On Sat, Dec 31, 2016 at 4:42 AM, Pavel Krivanek
<[hidden email]> wrote:

> It is better to use smaller bootstrapped image without Monticello but it is
> still quite big.
>
> https://ci.inria.fr/pharo/view/6.0-SysConf/job/Pharo-6.0-Step-01-00-Bootstrap/lastSuccessfulBuild/artifact/bootstrap.zip
>
> -- Pavel
>
> 2016-12-30 18:13 GMT+01:00 Ben Coman <[hidden email]>:
>>
>> On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:
>> > Hi Pharo People,
>> >
>> > I have continued work on Redline Smalltalk and I'm wanting to discuss
>> > what
>> > the absolute minimum
>> > set of Classes and method should be included in the Redline Runtime.
>> >
>> > Would anyone here like to participate in that discussion?
>> >
>> > - James.
>> > Redline Smalltalk <http://redline.st>
>>
>> Nice to hear you are continuing.
>> I'm not very knowledgable on this, but I'll show you how to pull some
>> data from the work on producing a minimal image.
>>
>> 1. From PharoLauncher > Templates > Pharo 6.0(beta)
>>     download/create an image of build "60334-minimal".
>> 2. Right-click on the image and choose [Copy pathname]
>> 3. In a shell, change to that directory, and execute the following
>>     $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses
>> size"
>>         ==> 2801
>>     $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
>> allSubclasses size"
>>         ==> 1399.
>>     $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
>> printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt
>>
>> I've attached the output of that last one.
>>
>> 4. For comparison, in a standard 60334 image,
>>     Object allSubclasses size "==>11923".
>>     Object class allSubclasses size "==>5959".
>>
>> Now in Pharo 6, the minimal image starts with a standard image and
>> strips these things out...
>>
>> https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt
>>
>> In Pharo 7, there will be a new build system that it will start with a
>> minimal image and build it up to a normal image.  So this may provide
>> a better way to understand the order that things need to be
>> implemented.
>>
>> cheers -ben
>
>

60334-bootstrap-hierarchy.txt (40K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

philippe.back@highoctane.be
Isn't there a typo in the first exptession?

Also the list contains a lot of RB things. What purpose do they have in a bootstrap image?

Same for RelationSlot and X11 something.

Is there a scope and purpose statement for the bootstrap somewhere?

Phil

Le 31 déc. 2016 05:47, "Ben Coman" <[hidden email]> a écrit :
So for curiosity...

$  $PHARO bootstrap.image eval "Object allSubclasses size"
1677

$  $PHARO bootstrap.image eval "Object allSubclasses size"
837

$  $PHARO bootstrap.image eval "Object class printHierarchy" >
/tmp/60334-bootstrap-hierarchy.txt
(see attached)

cheers -ben


On Sat, Dec 31, 2016 at 4:42 AM, Pavel Krivanek
<[hidden email]> wrote:
> It is better to use smaller bootstrapped image without Monticello but it is
> still quite big.
>
> https://ci.inria.fr/pharo/view/6.0-SysConf/job/Pharo-6.0-Step-01-00-Bootstrap/lastSuccessfulBuild/artifact/bootstrap.zip
>
> -- Pavel
>
> 2016-12-30 18:13 GMT+01:00 Ben Coman <[hidden email]>:
>>
>> On Fri, Dec 30, 2016 at 7:51 AM, James Ladd <[hidden email]> wrote:
>> > Hi Pharo People,
>> >
>> > I have continued work on Redline Smalltalk and I'm wanting to discuss
>> > what
>> > the absolute minimum
>> > set of Classes and method should be included in the Redline Runtime.
>> >
>> > Would anyone here like to participate in that discussion?
>> >
>> > - James.
>> > Redline Smalltalk <http://redline.st>
>>
>> Nice to hear you are continuing.
>> I'm not very knowledgable on this, but I'll show you how to pull some
>> data from the work on producing a minimal image.
>>
>> 1. From PharoLauncher > Templates > Pharo 6.0(beta)
>>     download/create an image of build "60334-minimal".
>> 2. Right-click on the image and choose [Copy pathname]
>> 3. In a shell, change to that directory, and execute the following
>>     $ ../../VMs/spur/pharo 60334-minimal.image eval "Object allSubclasses
>> size"
>>         ==> 2801
>>     $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
>> allSubclasses size"
>>         ==> 1399.
>>     $ ../../VMs/spur/pharo 60334-minimal.image eval "Object class
>> printHierarchy" > /tmp/60334-minimal-class-hierarchy.txt
>>
>> I've attached the output of that last one.
>>
>> 4. For comparison, in a standard 60334 image,
>>     Object allSubclasses size "==>11923".
>>     Object class allSubclasses size "==>5959".
>>
>> Now in Pharo 6, the minimal image starts with a standard image and
>> strips these things out...
>>
>> https://ci.inria.fr/pharo/job/Pharo-6.0-Update-Step-3.2-Minimal/ws/output.txt
>>
>> In Pharo 7, there will be a new build system that it will start with a
>> minimal image and build it up to a normal image.  So this may provide
>> a better way to understand the order that things need to be
>> implemented.
>>
>> cheers -ben
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Stefan Marr-3
In reply to this post by James Ladd
Hi James:

> On 30 Dec 2016, at 22:50, James Ladd <[hidden email]> wrote:
>
> I even tried to find the old Potatoe Smalltalk which was a port of an old Smalltalk-80 image as it had a working ide and yet the smallest count of classes.

Did you find it?
https://news.squeak.org/2008/07/07/potato-version-of-jsqueak-from-hpi/

Best regards
Stefan


--
Stefan Marr
Johannes Kepler Universität Linz
http://stefan-marr.de/research/




Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

James Ladd
I'll check it out.
The version I remember was black n white.


Sent from my Commodore 64

> On 31 Dec 2016, at 9:04 pm, Stefan Marr <[hidden email]> wrote:
>
> Hi James:
>
>> On 30 Dec 2016, at 22:50, James Ladd <[hidden email]> wrote:
>>
>> I even tried to find the old Potatoe Smalltalk which was a port of an old Smalltalk-80 image as it had a working ide and yet the smallest count of classes.
>
> Did you find it?
> https://news.squeak.org/2008/07/07/potato-version-of-jsqueak-from-hpi/
>
> Best regards
> Stefan
>
>
> --
> Stefan Marr
> Johannes Kepler Universität Linz
> http://stefan-marr.de/research/
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Redline: Talking Runtime basics ...

Stephane Ducasse-3
James,

Nice to hear that you are still pushing. I would love to be able to developed in Pharo and deployed on red. 
Noury is working on the same scenario for PharoJS. 

May be we should organise a skype with Guille because we can use his infrastructure (hespel) to create out of Pharo automatically 
a kernel for Red. 

Guille has an infrastructure Hespel (check his phd) to 
- bootstrap different kernels such as Candlelight, microsqueak.. 
- tailor application (you give a seed expression and it collects all the mandatory methods and classes) probably like spoon

He bootstrapped different small kernels during his phd. 
In tornado the tailoring version of Hespel we can create imae that are as small as 12k :)

We put a list of the class in a techreport. https://hal.inria.fr/hal-00996908

In Pharo 70 we will use in production a bootstrap kernel: basically Pharo core with some better handled mechanisms (such as the startup)
We should remove the traits from class/metaclasses to gain some space. 
Now our goal for this version is not to have the smallest core but a full process based on a bootstrap image. 
We shuffled/repackaged many classes around and we will continue to cut spurious dependencies. 

Stef




On Sat, Dec 31, 2016 at 12:50 PM, James Ladd <[hidden email]> wrote:
I'll check it out.
The version I remember was black n white.


Sent from my Commodore 64

> On 31 Dec 2016, at 9:04 pm, Stefan Marr <[hidden email]> wrote:
>
> Hi James:
>
>> On 30 Dec 2016, at 22:50, James Ladd <[hidden email]> wrote:
>>
>> I even tried to find the old Potatoe Smalltalk which was a port of an old Smalltalk-80 image as it had a working ide and yet the smallest count of classes.
>
> Did you find it?
> https://news.squeak.org/2008/07/07/potato-version-of-jsqueak-from-hpi/
>
> Best regards
> Stefan
>
>
> --
> Stefan Marr
> Johannes Kepler Universität Linz
> http://stefan-marr.de/research/
>
>
>
>


12