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
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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="ChkGDhWVAwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">mselw...@...> 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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="ChkGDhWVAwAJ" 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
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="ChkGDhWVAwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">mselw...@...> 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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="ChkGDhWVAwAJ" 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
Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="bpf2vfmOAgAJ" 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
That's correct 

I should update the Stic scrip ;)

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="bpf2vfmOAgAJ" 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
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="bpf2vfmOAgAJ" 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
What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

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

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="IJz6scKRAgAJ" 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
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

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

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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="IJz6scKRAgAJ" 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
If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

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

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="XcmP_VqXAgAJ" 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
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

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

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="XcmP_VqXAgAJ" 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 ...

Dave Mason-2
In reply to this post by James Ladd
I saw James' presentation on Redline in Edinburgh at ESUG'11 and was very excited! I remain very supportive, contributed a bit to the Indiegogo drive, and am very pleased to see James re-engaged in the project. I haven't had an opportunity to use it but would like it to be there when I next need to deploy on JVM.

So I'm a little hesitant to suggest an alternative path to getting Smalltalk code running on JVM.

As one of the principals of PharoJS.org I have been wondering if a similar path might work for the JVM. For those who may not know, PharoJS - like Amber - is about programming in Smalltalk and deploying on the browser - hence it transpiles to Javascript. The key idea is that rather than replicate the Smalltalk IDE to run on the browser (as Amber does) we want to do all our development in the rich Pharo IDE and only deploy on the browser. I have been thinking for a while that it might be interesting to look at a PharoJVM that took your working Pharo code and emitted a .class file ready to deploy on the JVM.  In reading this thread, I'm realizing that some of the required code could come from the work James is doing. Just getting this part to work would be interesting, and not crazy-difficult. The in-between stage in PharoJS is to still run in Pharo but access a DOM, etc. on a browser so you can get close to final debugging while remaining on Pharo. In many ways this is the most difficult part of PharoJS and would be the most challenging part for PharoJVM. Note that PharoJS (like Amber) doesn't attempt to have perfect fidelity with Smalltalk semantics (for example the numeric stack , dates, collections, morphic, etc. have Javascript semantics or don't exist). I would anticipate that PharoJVM would also have some non-standard semantics.

Any opinions? Would this be useful to people other than me?

--
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
Hi Dave,

Thanks for the suggestions.

Redline targets the Jvm for a couple of reasons (which I won't go into) but is also targeted at enabling people without Pharo to develop in Smalltalk w'out the barrier of changing IDE's. Yes I think Pharo is amazing and the IDE probably the most advanced in the world. However learning it is a barrier to those who use other tool chains.

Long term I hope that we will have Smalltalk on the server side and the client be it in a browser or command line.

Please continue to follow along and make suggestions - it does shape my thinking 

Sent from my Commodore 64

On 28 Sep 2017, at 6:03 am, Dave Mason <[hidden email]> wrote:

I saw James' presentation on Redline in Edinburgh at ESUG'11 and was very excited! I remain very supportive, contributed a bit to the Indiegogo drive, and am very pleased to see James re-engaged in the project. I haven't had an opportunity to use it but would like it to be there when I next need to deploy on JVM.

So I'm a little hesitant to suggest an alternative path to getting Smalltalk code running on JVM.

As one of the principals of PharoJS.org I have been wondering if a similar path might work for the JVM. For those who may not know, PharoJS - like Amber - is about programming in Smalltalk and deploying on the browser - hence it transpiles to Javascript. The key idea is that rather than replicate the Smalltalk IDE to run on the browser (as Amber does) we want to do all our development in the rich Pharo IDE and only deploy on the browser. I have been thinking for a while that it might be interesting to look at a PharoJVM that took your working Pharo code and emitted a .class file ready to deploy on the JVM.  In reading this thread, I'm realizing that some of the required code could come from the work James is doing. Just getting this part to work would be interesting, and not crazy-difficult. The in-between stage in PharoJS is to still run in Pharo but access a DOM, etc. on a browser so you can get close to final debugging while remaining on Pharo. In many ways this is the most difficult part of PharoJS and would be the most challenging part for PharoJVM. Note that PharoJS (like Amber) doesn't attempt to have perfect fidelity with Smalltalk semantics (for example the numeric stack , dates, collections, morphic, etc. have Javascript semantics or don't exist). I would anticipate that PharoJVM would also have some non-standard semantics.

Any opinions? Would this be useful to people other than me?

--
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
Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="dz9VFXudAgAJ" 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
Good point 

<primitive: 10>

Is polluting the source file but it is also v succinct.

The JVM receiver is more verbose but can also be put behind a method. 

I'm sure I'll just use the JVM approach as it w also serve as a guide for people wanting to build adaptor manually for Java classes 

Sent from my Commodore 64

On 28 Sep 2017, at 9:32 am, Matt Selway <[hidden email]> wrote:

Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="dz9VFXudAgAJ" 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
I'm wrestling w what to do next as I want to do things that show working progress over things that might be used later for example the JVM object which by itself is fine. It if nothing uses it it prolly doesn't need to be there right now.

I know that one of the very first expressions in any Smalltalk can be a subclass: message to a receiver like Object.

So I'm leaning towards the resolving of that. Ie: looking up Object and if necessary compiling it. 

Thoughts?

Sent from my Commodore 64

On 28 Sep 2017, at 9:32 am, Matt Selway <[hidden email]> wrote:

Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="dz9VFXudAgAJ" 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
Well, one of my necessities is the Java Adapter, and if that depends on the JVM object then you need to work on that ;-)

But getting basic classes compiling is good too :-)

Since I've been looking at some of your old code more over the weekend I think I have a greater appreciation now for how much infrastructure goes into just getting the basic things going, e.g. with the Context objects and all sorts. How much of that needs to be there are the outset? If you need all of that infrastructure I would have thought the next step was clear, or are you trying to think of a way around it?

On Tuesday, 3 October 2017 15:24:35 UTC+10:30, jamesl wrote:
I'm wrestling w what to do next as I want to do things that show working progress over things that might be used later for example the JVM object which by itself is fine. It if nothing uses it it prolly doesn't need to be there right now.

I know that one of the very first expressions in any Smalltalk can be a subclass: message to a receiver like Object.

So I'm leaning towards the resolving of that. Ie: looking up Object and if necessary compiling it. 

Thoughts?

Sent from my Commodore 64

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

Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="xGbdZNdpBAAJ" 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 ...

Apokalypse Software Corp
In reply to this post by James Ladd
My own needs are to write code in the Smalltalk syntax that will compile to class files that integrate to the Java8 or Android SDKs.




On Tuesday, October 3, 2017 at 12:54:35 AM UTC-4, jamesl wrote:
I'm wrestling w what to do next as I want to do things that show working progress over things that might be used later for example the JVM object which by itself is fine. It if nothing uses it it prolly doesn't need to be there right now.

I know that one of the very first expressions in any Smalltalk can be a subclass: message to a receiver like Object.

So I'm leaning towards the resolving of that. Ie: looking up Object and if necessary compiling it. 

Thoughts?

Sent from my Commodore 64

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

Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[hidden email]> wrote:

Have you heard of <a href="https://bitbucket.org/nik_boyd/bistro-smalltalk" rel="nofollow" target="_blank" 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 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 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="xGbdZNdpBAAJ" 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
That is going to happen. Watch for the next push to master 

Sent from my Commodore 64

On 7 Oct 2017, at 8:10 pm, Apokalypse Software Corp <[hidden email]> wrote:

My own needs are to write code in the Smalltalk syntax that will compile to class files that integrate to the Java8 or Android SDKs.




On Tuesday, October 3, 2017 at 12:54:35 AM UTC-4, jamesl wrote:
I'm wrestling w what to do next as I want to do things that show working progress over things that might be used later for example the JVM object which by itself is fine. It if nothing uses it it prolly doesn't need to be there right now.

I know that one of the very first expressions in any Smalltalk can be a subclass: message to a receiver like Object.

So I'm leaning towards the resolving of that. Ie: looking up Object and if necessary compiling it. 

Thoughts?

Sent from my Commodore 64

On 28 Sep 2017, at 9:32 am, Matt Selway <[hidden email]> wrote:

Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[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 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 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 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 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.
Reply | Threaded
Open this post in threaded view
|

Re: Update: Progress ...

Apokalypse Software Corp
Oh, believe me I am! I'm looking forward to it.

And once I get a better grasp of its structure, I hope to help you speed its development.



Alfonso Guerra
Founder/CEO
Apokalypse Software Corp
@Huperniketes
(626) 667-4285

On Oct 7, 2017 5:18 AM, "James Ladd" <[hidden email]> wrote:
That is going to happen. Watch for the next push to master 


Sent from my Commodore 64

On 7 Oct 2017, at 8:10 pm, Apokalypse Software Corp <[hidden email]> wrote:

My own needs are to write code in the Smalltalk syntax that will compile to class files that integrate to the Java8 or Android SDKs.




On Tuesday, October 3, 2017 at 12:54:35 AM UTC-4, jamesl wrote:
I'm wrestling w what to do next as I want to do things that show working progress over things that might be used later for example the JVM object which by itself is fine. It if nothing uses it it prolly doesn't need to be there right now.

I know that one of the very first expressions in any Smalltalk can be a subclass: message to a receiver like Object.

So I'm leaning towards the resolving of that. Ie: looking up Object and if necessary compiling it. 

Thoughts?

Sent from my Commodore 64

On 28 Sep 2017, at 9:32 am, Matt Selway <[hidden email]> wrote:

Although what is more foreign, an annotation in the method that says <primitive:10> or some code written using the JVM receiver?
Just have to get the abstraction level of the JVM receiver right ;-)

On Wednesday, 27 September 2017 17:48:23 UTC+9:30, jamesl wrote:
 Certainly could.
However I have long wrestled w the fact that while the JVM receiver can be used to write the implementation of base methods it also makes for hard reading and a rather foreign feel. 

I'm wrestling w this 

Sent from my Commodore 64

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

If you focus on the JVM receiver, can't you just use that to bootstrap the entire system ;-)

On Wednesday, 27 September 2017 15:56:08 UTC+9:30, jamesl wrote:
Yes. But I could focus on the special JVM receiver so Smalltalk methods can be implemented without Java class backing.

I'm sure to settle on anything that gets message sending going 



Sent from my Commodore 64

On 27 Sep 2017, at 4:11 pm, Matt Selway <[hidden email]> wrote:

What are the choices?
Isn't it just ByteCode generation, ByteCode generation, ByteCode generation?

On Wednesday, 27 September 2017 14:13:37 UTC+9:30, jamesl wrote:
Glad it worked for you - wondering what is most helpful to implement next.
So many choices right now.

Sent from my Commodore 64

On 27 Sep 2017, at 2:16 pm, Matt Selway <[hidden email]> wrote:

Done. Works no problem. I'm assuming meant just 'java -jar ...' not using the 'stic' sh script?

Missing the argument, it finds the NoArguments script in the jar fine, with an argument it found it no probs (once I types it correctly anyway).

On Wednesday, 27 September 2017 13:22:34 UTC+9:30, jamesl wrote:
Please try Redline from the command line ;)

Sent from my Commodore 64

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

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
No worries. I just figured it was the path of least effort so you could focus on what you were really working on :-)


On Tuesday, 26 September 2017 21:49:18 UTC+9:30, jamesl wrote:
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 <[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 JHagah — Bitbucket, and I'm tracking progress with a trello board.


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 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 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 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 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.
123