Update: Progress ...

Next Topic
 
classic Classic list List threaded Threaded
58 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Matt Selway
Cool. Didn't realise you managed to find some time.


On Sunday, 24 September 2017 16:11:25 UTC+9:30, jamesl wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="JGfo0HvlAgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mselw...@...> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="JGfo0HvlAgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
Not sure where I w find the time either but it's Sunday and I was up early 

Sent from my Commodore 64

On 24 Sep 2017, at 6:03 pm, Matt Selway <[hidden email]> wrote:

Cool. Didn't realise you managed to find some time.


On Sunday, 24 September 2017 16:11:25 UTC+9:30, jamesl wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="JGfo0HvlAgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">mselw...@...> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="JGfo0HvlAgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Apokalypse Software Corp
In reply to this post by James Ladd
I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
In reply to this post by Apokalypse Software Corp
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Matt Selway
Sounds good :-)
I just spent a while checking out what you were doing, wondering why it wasn't working, only to realise you're new ByteCodeEmitter is empty :-P

@Alfonso I'm also curious as to what you mean by "hacking the javac parser"

On Sunday, 24 September 2017 22:08:24 UTC+9:30, jamesl wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">apokalyps...@...> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ladd....@...> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mselw...@...> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Kevin Driedger-4
In reply to this post by James Ladd
Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <[hidden email]> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

kilon.alios
I see two problem with smalltalk running on JVM. 
a) JVM is a language graveyard
b) You dont need to run a language on JVM to be able to use Java libraries

About (a) , its easy to see why people would have very little interest about Smalltalk running on JVM , its afterall Smalltalk, we all know the community is too small.
Python on the other hand is not small, its HUGE. Rumors estimate python coders to be over a million and the language is growing more popular by the second. There is a complete project to port Python to JVM , called "Jython". Its very mature, very stable and even has the rare luxury of supporting many pure python libraries and even C Python libraries (c libraries wrapped for python). 

Do you know how much interest Jython gathers ? For the popularity of Python is actually close to zero. Same story with .NET , we have there Ironpython, a bit less stable and less mature but still quite decent Python implementation, the interest there is not zero is actually minus. Of course its not just Python. Its Ruby, JS, Scala , Groovy, Clojure etc. 

I am willing to risk an assumption is that people code Python and Smalltalk because they want to and they code in Java because they have to. That createst a vast gap that makes it near impossible for users to cross.

I toyed with Jython myself when I was learning Java, I even contacted the devs, very nice people and gave them a hand with the documentation and made music for their podcast. But in the end I find it extremely hard to justify Jython over CPython when it came down to ease of use and even power. I did want to deal with Java library or logic. 

Things also are made even worse with (b) option, which is basically IPC (Inter Process Communication) a weatlh of diffirent technicques to make languages talk to each other (as well as applications etc) which allows you to use the libraries of one language from inside another language. I made Atlas, a tiny library that uses sockets to allow the use of Cpython libraries from inside Pharo. Very limited, but if all you want is to call methods and functions , it does the job well. This effort provided inspiration for another project I called CPPBridge which allowed the use of C++ libraries from inside Pharo (Pharo FFI does not allow the use of C++ libraries because of name mangling that it does not support) . Both projects with full support for the usual live coding Smalltalk workflow.  CPPBridge in particular extended the Pharo image to include live C++ objects through its use of shared memory mapped files which work very similar to smalltalk image of course minus the vm bytecode.

In both cases those projects even though they may sound ambitious on paper they are jokes compared to what James has done. They never exceed a handful of hundrends lines of code and their design is super simple. 
In case of Java , Pharo has been lucky in the fact that already has such a tool, last time I checked some people used Java libraries through JNIPort library , a project started outside Pharo that offered support for both Squeak and Pharo. 

A language running on JVM obviously is more ideal than the quick IPC hacks , but because IPC can go much deeper than I did with it, I am pretty sure it can cover a huge array of scenarios that a JVM language would cover too, but with only a  very smalltalk fraction of the effort needed for implementing a language on JVM.

I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

I posted this here because my experience with my own IPC project taught me that most people , me included, are not aware how easy it to use libraries of another language through IPC. Generally small projects rarely use IPC unless their goal is IPC orientated  but very large project utilisiing multiple of languages usually do and there are some sophisticated IPC libraries out there like RabbitMQ etc. 

On Sun, Sep 24, 2017 at 6:17 PM Kevin Driedger <[hidden email]> wrote:
Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <[hidden email]> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Apokalypse Software Corp
In reply to this post by James Ladd
I'm looking to use the Smalltalk language in the toolchains for the platforms I'm currently working with: desktops, mobile, web. That way I can use the same source files across the board. The Amber compiler generates Javascript from Smalltalk, and I have a Smalltalk-based language for the desktop which I'll need to revive, but I'm almost there.

A compiler that will generate class files from Smalltalk that can call Swing, Hadoop or Android libraries would be very useful to me. So I'm changing some tokens and modifying the javac lexical analyzer and parser to accept the Smalltalk syntax instead of Java: lambdas, numbers, method calls, control flow statements, etc. The only thing done so far is I've replaced the "this" pseudovariable with "self". Commits will be coming soon.

The repo for the project is at JHagah — Bitbucket, and I'm tracking progress with a trello board.


Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Sun, Sep 24, 2017 at 6:23 AM, James Ladd <[hidden email]> wrote:
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
In reply to this post by Kevin Driedger-4
Reusing what makes sense to reuse - by sense if there is a part that from experience needs a rewrite in rewriting it

Sent from my Commodore 64

On 25 Sep 2017, at 1:17 am, Kevin Driedger <[hidden email]> wrote:

Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <[hidden email]> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
Note: I have added an Issue to Github to describe the work I am doing next.
I also describe the branch in the git repo that will contain the work.
When complete this branch will be merged into the main line.

On Mon, Sep 25, 2017 at 8:06 AM, James Ladd <[hidden email]> wrote:
Reusing what makes sense to reuse - by sense if there is a part that from experience needs a rewrite in rewriting it

Sent from my Commodore 64

On 25 Sep 2017, at 1:17 am, Kevin Driedger <[hidden email]> wrote:

Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <[hidden email]> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

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

>>I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

Thank you for the kind words. I'm not a better coder just a different one.

The compliment isn't the only thing I took away from what you have said.
I want to code in Smalltalk and I want to use the JVM so making Redline looks like my only path forward ;)

I hope you continue to follow along and make comment.

On Mon, Sep 25, 2017 at 1:48 AM, Dimitris Chloupis <[hidden email]> wrote:
I see two problem with smalltalk running on JVM. 
a) JVM is a language graveyard
b) You dont need to run a language on JVM to be able to use Java libraries

About (a) , its easy to see why people would have very little interest about Smalltalk running on JVM , its afterall Smalltalk, we all know the community is too small.
Python on the other hand is not small, its HUGE. Rumors estimate python coders to be over a million and the language is growing more popular by the second. There is a complete project to port Python to JVM , called "Jython". Its very mature, very stable and even has the rare luxury of supporting many pure python libraries and even C Python libraries (c libraries wrapped for python). 

Do you know how much interest Jython gathers ? For the popularity of Python is actually close to zero. Same story with .NET , we have there Ironpython, a bit less stable and less mature but still quite decent Python implementation, the interest there is not zero is actually minus. Of course its not just Python. Its Ruby, JS, Scala , Groovy, Clojure etc. 

I am willing to risk an assumption is that people code Python and Smalltalk because they want to and they code in Java because they have to. That createst a vast gap that makes it near impossible for users to cross.

I toyed with Jython myself when I was learning Java, I even contacted the devs, very nice people and gave them a hand with the documentation and made music for their podcast. But in the end I find it extremely hard to justify Jython over CPython when it came down to ease of use and even power. I did want to deal with Java library or logic. 

Things also are made even worse with (b) option, which is basically IPC (Inter Process Communication) a weatlh of diffirent technicques to make languages talk to each other (as well as applications etc) which allows you to use the libraries of one language from inside another language. I made Atlas, a tiny library that uses sockets to allow the use of Cpython libraries from inside Pharo. Very limited, but if all you want is to call methods and functions , it does the job well. This effort provided inspiration for another project I called CPPBridge which allowed the use of C++ libraries from inside Pharo (Pharo FFI does not allow the use of C++ libraries because of name mangling that it does not support) . Both projects with full support for the usual live coding Smalltalk workflow.  CPPBridge in particular extended the Pharo image to include live C++ objects through its use of shared memory mapped files which work very similar to smalltalk image of course minus the vm bytecode.

In both cases those projects even though they may sound ambitious on paper they are jokes compared to what James has done. They never exceed a handful of hundrends lines of code and their design is super simple. 
In case of Java , Pharo has been lucky in the fact that already has such a tool, last time I checked some people used Java libraries through JNIPort library , a project started outside Pharo that offered support for both Squeak and Pharo. 

A language running on JVM obviously is more ideal than the quick IPC hacks , but because IPC can go much deeper than I did with it, I am pretty sure it can cover a huge array of scenarios that a JVM language would cover too, but with only a  very smalltalk fraction of the effort needed for implementing a language on JVM.

I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

I posted this here because my experience with my own IPC project taught me that most people , me included, are not aware how easy it to use libraries of another language through IPC. Generally small projects rarely use IPC unless their goal is IPC orientated  but very large project utilisiing multiple of languages usually do and there are some sophisticated IPC libraries out there like RabbitMQ etc. 

On Sun, Sep 24, 2017 at 6:17 PM Kevin Driedger <[hidden email]> wrote:
Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <[hidden email]> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <[hidden email]> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
<a href="tel:(626)%20667-4285" value="+16266674285" target="_blank">(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
In reply to this post by Matt Selway
I'll try and make a commit to a branch tomorrow and if all goes well I'll merge to master - stay tuned

Sent from my Commodore 64

On 24 Sep 2017, at 10:55 pm, Matt Selway <[hidden email]> wrote:

Sounds good :-)
I just spent a while checking out what you were doing, wondering why it wasn't working, only to realise you're new ByteCodeEmitter is empty :-P

@Alfonso I'm also curious as to what you mean by "hacking the javac parser"

On Sunday, 24 September 2017 22:08:24 UTC+9:30, jamesl wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">apokalyps...@...> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">ladd....@...> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">mselw...@...> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="rAk73fb4AgAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Matt Selway
In reply to this post by Apokalypse Software Corp
Have you heard of Bistro before? I only came across it recently, but it looks like it compiles a Smalltalk-based language (it has some extensions for Java features such public, private, protected, etc.) into Java. Sounds like that is the type of thing you want.

I am interested in how easy it is to just hack the java compiler though. How does it support Smalltalk features like block closures (since Java's lambdas are not full closures)?

On Monday, 25 September 2017 03:11:24 UTC+9:30, Apokalypse Software Corp wrote:
I'm looking to use the Smalltalk language in the toolchains for the platforms I'm currently working with: desktops, mobile, web. That way I can use the same source files across the board. The Amber compiler generates Javascript from Smalltalk, and I have a Smalltalk-based language for the desktop which I'll need to revive, but I'm almost there.

A compiler that will generate class files from Smalltalk that can call Swing, Hadoop or Android libraries would be very useful to me. So I'm changing some tokens and modifying the javac lexical analyzer and parser to accept the Smalltalk syntax instead of Java: lambdas, numbers, method calls, control flow statements, etc. The only thing done so far is I've replaced the "this" pseudovariable with "self". Commits will be coming soon.

The repo for the project is at <a href="https://bitbucket.org/apokalypse_software/jhagah" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w&#39;;return true;">JHagah — Bitbucket, and I'm tracking progress with a trello board.


Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Sun, Sep 24, 2017 at 6:23 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="Le-Izn8JAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ladd....@...> wrote:
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="Le-Izn8JAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">apokalyps...@...> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="Le-Izn8JAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ladd....@...> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Matt Selway
In reply to this post by James Ladd
I want to code in Smalltalk and I want to use the JVM so making Redline looks like my only path forward ;)
That's the trick :-D

I've used JNIPort in the past (still am actually), but a more integrated solution would be better I think: less configuration difficulties, hopefully slightly better performance.

There are also some things lacking from Smalltalk implementations that you should be able to get 'for free' by having a JVM implementation. For example, native threads---not always a fan of doing multi-tasking by spinning up more instances of the image---and, hopefully, performance benefits from the JVM's runtime optimisation, among other things.

On Monday, 25 September 2017 08:00:11 UTC+9:30, jamesl wrote:
Hi Dimitris,

>>I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

Thank you for the kind words. I'm not a better coder just a different one.

The compliment isn't the only thing I took away from what you have said.
I want to code in Smalltalk and I want to use the JVM so making Redline looks like my only path forward ;)

I hope you continue to follow along and make comment.

On Mon, Sep 25, 2017 at 1:48 AM, Dimitris Chloupis <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">kilon...@...> wrote:
I see two problem with smalltalk running on JVM. 
a) JVM is a language graveyard
b) You dont need to run a language on JVM to be able to use Java libraries

About (a) , its easy to see why people would have very little interest about Smalltalk running on JVM , its afterall Smalltalk, we all know the community is too small.
Python on the other hand is not small, its HUGE. Rumors estimate python coders to be over a million and the language is growing more popular by the second. There is a complete project to port Python to JVM , called "Jython". Its very mature, very stable and even has the rare luxury of supporting many pure python libraries and even C Python libraries (c libraries wrapped for python). 

Do you know how much interest Jython gathers ? For the popularity of Python is actually close to zero. Same story with .NET , we have there Ironpython, a bit less stable and less mature but still quite decent Python implementation, the interest there is not zero is actually minus. Of course its not just Python. Its Ruby, JS, Scala , Groovy, Clojure etc. 

I am willing to risk an assumption is that people code Python and Smalltalk because they want to and they code in Java because they have to. That createst a vast gap that makes it near impossible for users to cross.

I toyed with Jython myself when I was learning Java, I even contacted the devs, very nice people and gave them a hand with the documentation and made music for their podcast. But in the end I find it extremely hard to justify Jython over CPython when it came down to ease of use and even power. I did want to deal with Java library or logic. 

Things also are made even worse with (b) option, which is basically IPC (Inter Process Communication) a weatlh of diffirent technicques to make languages talk to each other (as well as applications etc) which allows you to use the libraries of one language from inside another language. I made Atlas, a tiny library that uses sockets to allow the use of Cpython libraries from inside Pharo. Very limited, but if all you want is to call methods and functions , it does the job well. This effort provided inspiration for another project I called CPPBridge which allowed the use of C++ libraries from inside Pharo (Pharo FFI does not allow the use of C++ libraries because of name mangling that it does not support) . Both projects with full support for the usual live coding Smalltalk workflow.  CPPBridge in particular extended the Pharo image to include live C++ objects through its use of shared memory mapped files which work very similar to smalltalk image of course minus the vm bytecode.

In both cases those projects even though they may sound ambitious on paper they are jokes compared to what James has done. They never exceed a handful of hundrends lines of code and their design is super simple. 
In case of Java , Pharo has been lucky in the fact that already has such a tool, last time I checked some people used Java libraries through JNIPort library , a project started outside Pharo that offered support for both Squeak and Pharo. 

A language running on JVM obviously is more ideal than the quick IPC hacks , but because IPC can go much deeper than I did with it, I am pretty sure it can cover a huge array of scenarios that a JVM language would cover too, but with only a  very smalltalk fraction of the effort needed for implementing a language on JVM.

I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

I posted this here because my experience with my own IPC project taught me that most people , me included, are not aware how easy it to use libraries of another language through IPC. Generally small projects rarely use IPC unless their goal is IPC orientated  but very large project utilisiing multiple of languages usually do and there are some sophisticated IPC libraries out there like RabbitMQ etc. 

On Sun, Sep 24, 2017 at 6:17 PM Kevin Driedger <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">linu...@...> wrote:
Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ladd....@...> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">apokalyps...@...> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">ladd....@...> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mselw...@...> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
In reply to this post by Matt Selway
Yes I have looked extensively at Bistro.
Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version 

Sent from my Commodore 64

On 26 Sep 2017, at 5:19 pm, Matt Selway <[hidden email]> wrote:

Have you heard of Bistro before? I only came across it recently, but it looks like it compiles a Smalltalk-based language (it has some extensions for Java features such public, private, protected, etc.) into Java. Sounds like that is the type of thing you want.

I am interested in how easy it is to just hack the java compiler though. How does it support Smalltalk features like block closures (since Java's lambdas are not full closures)?

On Monday, 25 September 2017 03:11:24 UTC+9:30, Apokalypse Software Corp wrote:
I'm looking to use the Smalltalk language in the toolchains for the platforms I'm currently working with: desktops, mobile, web. That way I can use the same source files across the board. The Amber compiler generates Javascript from Smalltalk, and I have a Smalltalk-based language for the desktop which I'll need to revive, but I'm almost there.

A compiler that will generate class files from Smalltalk that can call Swing, Hadoop or Android libraries would be very useful to me. So I'm changing some tokens and modifying the javac lexical analyzer and parser to accept the Smalltalk syntax instead of Java: lambdas, numbers, method calls, control flow statements, etc. The only thing done so far is I've replaced the "this" pseudovariable with "self". Commits will be coming soon.

The repo for the project is at <a href="https://bitbucket.org/apokalypse_software/jhagah" target="_blank" rel="nofollow" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w';return true;">JHagah — Bitbucket, and I'm tracking progress with a trello board.


Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Sun, Sep 24, 2017 at 6:23 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="Le-Izn8JAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">ladd....@...> wrote:
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="Le-Izn8JAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">apokalyps...@...> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="Le-Izn8JAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">ladd....@...> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
In reply to this post by Matt Selway
Proper concurrency is available when using the Jvm and therefore Redline 

Sent from my Commodore 64

On 26 Sep 2017, at 5:30 pm, Matt Selway <[hidden email]> wrote:

I want to code in Smalltalk and I want to use the JVM so making Redline looks like my only path forward ;)
That's the trick :-D

I've used JNIPort in the past (still am actually), but a more integrated solution would be better I think: less configuration difficulties, hopefully slightly better performance.

There are also some things lacking from Smalltalk implementations that you should be able to get 'for free' by having a JVM implementation. For example, native threads---not always a fan of doing multi-tasking by spinning up more instances of the image---and, hopefully, performance benefits from the JVM's runtime optimisation, among other things.

On Monday, 25 September 2017 08:00:11 UTC+9:30, jamesl wrote:
Hi Dimitris,

>>I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

Thank you for the kind words. I'm not a better coder just a different one.

The compliment isn't the only thing I took away from what you have said.
I want to code in Smalltalk and I want to use the JVM so making Redline looks like my only path forward ;)

I hope you continue to follow along and make comment.

On Mon, Sep 25, 2017 at 1:48 AM, Dimitris Chloupis <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">kilon...@...> wrote:
I see two problem with smalltalk running on JVM. 
a) JVM is a language graveyard
b) You dont need to run a language on JVM to be able to use Java libraries

About (a) , its easy to see why people would have very little interest about Smalltalk running on JVM , its afterall Smalltalk, we all know the community is too small.
Python on the other hand is not small, its HUGE. Rumors estimate python coders to be over a million and the language is growing more popular by the second. There is a complete project to port Python to JVM , called "Jython". Its very mature, very stable and even has the rare luxury of supporting many pure python libraries and even C Python libraries (c libraries wrapped for python). 

Do you know how much interest Jython gathers ? For the popularity of Python is actually close to zero. Same story with .NET , we have there Ironpython, a bit less stable and less mature but still quite decent Python implementation, the interest there is not zero is actually minus. Of course its not just Python. Its Ruby, JS, Scala , Groovy, Clojure etc. 

I am willing to risk an assumption is that people code Python and Smalltalk because they want to and they code in Java because they have to. That createst a vast gap that makes it near impossible for users to cross.

I toyed with Jython myself when I was learning Java, I even contacted the devs, very nice people and gave them a hand with the documentation and made music for their podcast. But in the end I find it extremely hard to justify Jython over CPython when it came down to ease of use and even power. I did want to deal with Java library or logic. 

Things also are made even worse with (b) option, which is basically IPC (Inter Process Communication) a weatlh of diffirent technicques to make languages talk to each other (as well as applications etc) which allows you to use the libraries of one language from inside another language. I made Atlas, a tiny library that uses sockets to allow the use of Cpython libraries from inside Pharo. Very limited, but if all you want is to call methods and functions , it does the job well. This effort provided inspiration for another project I called CPPBridge which allowed the use of C++ libraries from inside Pharo (Pharo FFI does not allow the use of C++ libraries because of name mangling that it does not support) . Both projects with full support for the usual live coding Smalltalk workflow.  CPPBridge in particular extended the Pharo image to include live C++ objects through its use of shared memory mapped files which work very similar to smalltalk image of course minus the vm bytecode.

In both cases those projects even though they may sound ambitious on paper they are jokes compared to what James has done. They never exceed a handful of hundrends lines of code and their design is super simple. 
In case of Java , Pharo has been lucky in the fact that already has such a tool, last time I checked some people used Java libraries through JNIPort library , a project started outside Pharo that offered support for both Squeak and Pharo. 

A language running on JVM obviously is more ideal than the quick IPC hacks , but because IPC can go much deeper than I did with it, I am pretty sure it can cover a huge array of scenarios that a JVM language would cover too, but with only a  very smalltalk fraction of the effort needed for implementing a language on JVM.

I have huge respect about James work, I would not dare to take such a giagantic project just by myself even with the promise of few other helping me out but that also may have to do with the fact that he is a much better coder than I am. 

I posted this here because my experience with my own IPC project taught me that most people , me included, are not aware how easy it to use libraries of another language through IPC. Generally small projects rarely use IPC unless their goal is IPC orientated  but very large project utilisiing multiple of languages usually do and there are some sophisticated IPC libraries out there like RabbitMQ etc. 

On Sun, Sep 24, 2017 at 6:17 PM Kevin Driedger <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">linu...@...> wrote:
Looked at the code. Are you reusing the old compiler or classloader? Or is everything new.

The smalltalk system even calling just the Java class library would be beneficial.  I would be most interested as well in writing Android apps in smalltalk which seems would largely need to call Java classes (potentially wrapping them nicely as a future endeavor)

Kevin



On Sun, Sep 24, 2017, 8:38 AM James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">ladd....@...> wrote:
I'll be using gitflow and label the branches with what I am trying to and what is completed - hopefully this w help those following along


Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">apokalyps...@...> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">ladd....@...> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

On 21 Sep 2017, at 10:14 am, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">mselw...@...> wrote:

Without the JavaAdapter though, would that allow integration with standard Java libraries? Or would you have to resort to emitting bytecodes manually for that? I assume with the rebuild you have kept access to the 'JVM' pseudo variable?

Even with what Alfonso is suggesting, we would still need some kind of translation layer to call the Java methods correctly? Unless ProtoObject can handle that translation itself?
(Maybe I should just look at the code :-P )

Matt

On Wednesday, 20 September 2017 16:58:41 UTC+9:30, jamesl wrote:
Smalltalk (dictionary) and ProtoObject are the bare essentials to ensure message sending - the rest can be built from there.
Still the devil is in the details ;)

Sent from my Commodore 64

On 20 Sep 2017, at 2:41 pm, Apokalypse Software Corp <[hidden email]> wrote:

I think just emitting bytecodes to call Java methods and substitute classes for its non-OOP primitives, really. Just to get the ball rolling.

We can write additional code in Smalltalk after that.



Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Tue, Sep 19, 2017 at 10:06 PM, James Ladd <[hidden email]> wrote:
My think the minimum has be be the core classes to build objects and send messages and no more - for now 

Sent from my Commodore 64

On 20 Sep 2017, at 10:57 am, Matt Selway <[hidden email]> wrote:

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.
So true. But maybe you can find time to push that other branch to GitHub. ;-)
Who needs sleep, right?

Out of curiosity, did you ever work out what the minimal set of classes would be?


On Tuesday, 19 September 2017 18:18:59 UTC+9:30, jamesl wrote:
>>P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

You too :)

I did fix those issues and had most of the runtime compiling but alas in another branch.

There biggest irony is that the core isn't a massive task, the runtime is and finding time for either the hardest task of all.

Still, like you said - the conversation is building up my interest - maybe just maybe I can do 14hrs a day with some added for RL

- James


Sent from my Commodore 64

> On 19 Sep 2017, at 6:10 pm, Matt Selway <[hidden email]> wrote:
>
> P.S. this conversation is making me want to dive into the code again. If only I had the time :-(

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" rel="nofollow" target="_blank" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="T0FQCEIZAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Matt Selway
In reply to this post by James Ladd
Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
That's one of the things I liked about your approach. You get the Smalltalk code line, not the Java code line. Was hoping it would lead to the full interactive debugging that is normally associated with Smalltalk ;-)

Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version
Didn't realise you didn't have that working properly before :-O
There's always rewrite 5 or 6, right? :-P

So your ByteCodeEmitter creates a class that prints "sendMessages", that's a start :-)

On Tuesday, 26 September 2017 19:02:39 UTC+9:30, jamesl wrote:
Yes I have looked extensively at Bistro.
Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version 

Sent from my Commodore 64

On 26 Sep 2017, at 5:19 pm, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="bygvC_2LAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mselw...@...> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fnik_boyd%2Fbistro-smalltalk\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFCOCEjUzQuyadrcydghBiKIJaevQ&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fnik_boyd%2Fbistro-smalltalk\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFCOCEjUzQuyadrcydghBiKIJaevQ&#39;;return true;">Bistro before? I only came across it recently, but it looks like it compiles a Smalltalk-based language (it has some extensions for Java features such public, private, protected, etc.) into Java. Sounds like that is the type of thing you want.

I am interested in how easy it is to just hack the java compiler though. How does it support Smalltalk features like block closures (since Java's lambdas are not full closures)?

On Monday, 25 September 2017 03:11:24 UTC+9:30, Apokalypse Software Corp wrote:
I'm looking to use the Smalltalk language in the toolchains for the platforms I'm currently working with: desktops, mobile, web. That way I can use the same source files across the board. The Amber compiler generates Javascript from Smalltalk, and I have a Smalltalk-based language for the desktop which I'll need to revive, but I'm almost there.

A compiler that will generate class files from Smalltalk that can call Swing, Hadoop or Android libraries would be very useful to me. So I'm changing some tokens and modifying the javac lexical analyzer and parser to accept the Smalltalk syntax instead of Java: lambdas, numbers, method calls, control flow statements, etc. The only thing done so far is I've replaced the "this" pseudovariable with "self". Commits will be coming soon.

The repo for the project is at <a href="https://bitbucket.org/apokalypse_software/jhagah" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w&#39;;return true;">JHagah — Bitbucket, and I'm tracking progress with a trello board.


Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Sun, Sep 24, 2017 at 6:23 AM, James Ladd <[hidden email]> wrote:
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="bygvC_2LAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;" onclick="this.href=&#39;https://groups.google.com/d/optout&#39;;return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
Direct to bytecode w proper line by line debugging - that's been there since day 1.

Fully interactive debugging should work too - another reason for hooking into the classloader 

Blocks in Redline always did what Smalltalk blocks do.

Yes - currently the generated class which is a valid Java class w simple output the message 'sendMessage' to the console.

I'm pretty busy w work so I can only make small steps 

Sent from my Commodore 64

On 26 Sep 2017, at 8:03 pm, Matt Selway <[hidden email]> wrote:

Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
That's one of the things I liked about your approach. You get the Smalltalk code line, not the Java code line. Was hoping it would lead to the full interactive debugging that is normally associated with Smalltalk ;-)

Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version
Didn't realise you didn't have that working properly before :-O
There's always rewrite 5 or 6, right? :-P

So your ByteCodeEmitter creates a class that prints "sendMessages", that's a start :-)

On Tuesday, 26 September 2017 19:02:39 UTC+9:30, jamesl wrote:
Yes I have looked extensively at Bistro.
Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version 

Sent from my Commodore 64

On 26 Sep 2017, at 5:19 pm, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="bygvC_2LAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">mselw...@...> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" target="_blank" rel="nofollow" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fnik_boyd%2Fbistro-smalltalk\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFCOCEjUzQuyadrcydghBiKIJaevQ';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fnik_boyd%2Fbistro-smalltalk\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFCOCEjUzQuyadrcydghBiKIJaevQ';return true;">Bistro before? I only came across it recently, but it looks like it compiles a Smalltalk-based language (it has some extensions for Java features such public, private, protected, etc.) into Java. Sounds like that is the type of thing you want.

I am interested in how easy it is to just hack the java compiler though. How does it support Smalltalk features like block closures (since Java's lambdas are not full closures)?

On Monday, 25 September 2017 03:11:24 UTC+9:30, Apokalypse Software Corp wrote:
I'm looking to use the Smalltalk language in the toolchains for the platforms I'm currently working with: desktops, mobile, web. That way I can use the same source files across the board. The Amber compiler generates Javascript from Smalltalk, and I have a Smalltalk-based language for the desktop which I'll need to revive, but I'm almost there.

A compiler that will generate class files from Smalltalk that can call Swing, Hadoop or Android libraries would be very useful to me. So I'm changing some tokens and modifying the javac lexical analyzer and parser to accept the Smalltalk syntax instead of Java: lambdas, numbers, method calls, control flow statements, etc. The only thing done so far is I've replaced the "this" pseudovariable with "self". Commits will be coming soon.

The repo for the project is at <a href="https://bitbucket.org/apokalypse_software/jhagah" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w';return true;">JHagah — Bitbucket, and I'm tracking progress with a trello board.


Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Sun, Sep 24, 2017 at 6:23 AM, James Ladd <[hidden email]> wrote:
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="bygvC_2LAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

James Ladd
In reply to this post by Matt Selway
Thanks for the code snippet - Redline has code to search class path and load the Smalltalk even if it is in a jar - I'm just not calling it yet

Soon I will make the change to search the classpath then people can invoke the redline jar from the command line to exercise the compiler - stay tuned :)

Sent from my Commodore 64

On 26 Sep 2017, at 8:03 pm, Matt Selway <[hidden email]> wrote:

Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
That's one of the things I liked about your approach. You get the Smalltalk code line, not the Java code line. Was hoping it would lead to the full interactive debugging that is normally associated with Smalltalk ;-)

Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version
Didn't realise you didn't have that working properly before :-O
There's always rewrite 5 or 6, right? :-P

So your ByteCodeEmitter creates a class that prints "sendMessages", that's a start :-)

On Tuesday, 26 September 2017 19:02:39 UTC+9:30, jamesl wrote:
Yes I have looked extensively at Bistro.
Redline seeks to go straight to bytecode w full debug support. No mental manipulation between source and result.
Blocks in Redline support the full semantics you expect - or rather they will- I didn't have this working in a previous version 

Sent from my Commodore 64

On 26 Sep 2017, at 5:19 pm, Matt Selway <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="bygvC_2LAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">mselw...@...> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" target="_blank" rel="nofollow" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fnik_boyd%2Fbistro-smalltalk\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFCOCEjUzQuyadrcydghBiKIJaevQ';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fnik_boyd%2Fbistro-smalltalk\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFCOCEjUzQuyadrcydghBiKIJaevQ';return true;">Bistro before? I only came across it recently, but it looks like it compiles a Smalltalk-based language (it has some extensions for Java features such public, private, protected, etc.) into Java. Sounds like that is the type of thing you want.

I am interested in how easy it is to just hack the java compiler though. How does it support Smalltalk features like block closures (since Java's lambdas are not full closures)?

On Monday, 25 September 2017 03:11:24 UTC+9:30, Apokalypse Software Corp wrote:
I'm looking to use the Smalltalk language in the toolchains for the platforms I'm currently working with: desktops, mobile, web. That way I can use the same source files across the board. The Amber compiler generates Javascript from Smalltalk, and I have a Smalltalk-based language for the desktop which I'll need to revive, but I'm almost there.

A compiler that will generate class files from Smalltalk that can call Swing, Hadoop or Android libraries would be very useful to me. So I'm changing some tokens and modifying the javac lexical analyzer and parser to accept the Smalltalk syntax instead of Java: lambdas, numbers, method calls, control flow statements, etc. The only thing done so far is I've replaced the "this" pseudovariable with "self". Commits will be coming soon.

The repo for the project is at <a href="https://bitbucket.org/apokalypse_software/jhagah" rel="nofollow" target="_blank" onmousedown="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w';return true;" onclick="this.href='https://www.google.com/url?q\x3dhttps%3A%2F%2Fbitbucket.org%2Fapokalypse_software%2Fjhagah\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGRiQU_oNJkwidOPbx9-LK_fK8x_w';return true;">JHagah — Bitbucket, and I'm tracking progress with a trello board.


Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Sun, Sep 24, 2017 at 6:23 AM, James Ladd <[hidden email]> wrote:
Hey Alfonso,

Glad to know you w follow along.

What do you mean by a different angle and javac?

Sent from my Commodore 64

On 24 Sep 2017, at 7:18 pm, Apokalypse Software Corp <[hidden email]> wrote:

I'm certainly following along! Although I've begun work from a different angle, hacking the javac parser, I'm looking to contribute to this project too as my understanding of the models matures.

Great work, James!

Warmest regards,
Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285


On Sun, Sep 24, 2017 at 2:41 AM, James Ladd <[hidden email]> wrote:
Do you want to follow along - anyone?

Sent from my Commodore 64

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="javascript:" target="_blank" gdf-obfuscated-mailto="bygvC_2LAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">redline-smallt...@googlegroups.com.
For more options, visit <a href="https://groups.google.com/d/optout" target="_blank" rel="nofollow" onmousedown="this.href='https://groups.google.com/d/optout';return true;" onclick="this.href='https://groups.google.com/d/optout';return true;">https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Redline Smalltalk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
123