Basic Questions

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

Basic Questions

highbeg
I'm teaching myself GNU Smalltalk.
• Dual boot Macbook Air running Ubuntu 20.04
• GST 3.2.5
• Documentation:
        https://www.gnu.org/software/smalltalk/manual/gst.txt
        Bluebook

1.  Does Emacs support gst? Neither .st file text highlighting nor
interactor mode appear to work. The documentation says gst works with Emacs.

2.  Is pi and Float supported? The class extend example (area and
circumference methods) doesn't work.

3.  Does gst have a separate editor mode? The documentation implies it does.

4.  I'm using vim as my editor and loading my program using FileStream
fileIn: 'myfile.st'. I'm debugging using printNl. Is this the best way? Vim
knows st keywords.

5.  Does the web server, swazoo, and framework, seaside, work? I couldn't
get them to run.

6.  My application is realtime machinery control with web page UI.

7.  Does gst-browser work?

Many thanks,

Gary
Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

stes

Can you run a "dpkg -L" to list the files in the gst Ubuntu package ?

Perhaps you can check on your installation whether the gst-mode.el is included ?
Or smalltalk-mode.el ?

From looking at the source code of GST 3.2.91,
which can be downloaded from https://alpha.gnu.org/gnu/smalltalk/

It includes what I believe are GNU emacs files

gst-mode.el.in
smalltalk-mode.el
smalltalk-mode-init.el.in

When looking at the contents of those files:

For example the top of gst-mode.el.in says:

;;; Incorporates Frank Caggiano's changes for Emacs 19.
;;; Updates and changes for Emacs 20 and 21 by David Forster

David Stes

----- Op 22 dec 2020 om 4:23 schreef Gary Highberger [hidden email]:

> I'm teaching myself GNU Smalltalk.
> • Dual boot Macbook Air running Ubuntu 20.04
> • GST 3.2.5
> • Documentation:
>        https://www.gnu.org/software/smalltalk/manual/gst.txt
>        Bluebook
>
> 1.  Does Emacs support gst? Neither .st file text highlighting nor
> interactor mode appear to work. The documentation says gst works with Emacs.
>
> 2.  Is pi and Float supported? The class extend example (area and
> circumference methods) doesn't work.
>
> 3.  Does gst have a separate editor mode? The documentation implies it does.
>
> 4.  I'm using vim as my editor and loading my program using FileStream
> fileIn: 'myfile.st'. I'm debugging using printNl. Is this the best way? Vim
> knows st keywords.
>
> 5.  Does the web server, swazoo, and framework, seaside, work? I couldn't
> get them to run.
>
> 6.  My application is realtime machinery control with web page UI.
>
> 7.  Does gst-browser work?
>
> Many thanks,
>
> Gary

Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

Gnu mailing list
In reply to this post by highbeg

Gary Highberger writes:

> I'm teaching myself GNU Smalltalk.
> • Dual boot Macbook Air running Ubuntu 20.04
> • GST 3.2.5
> • Documentation:
>         https://www.gnu.org/software/smalltalk/manual/gst.txt
>         Bluebook
>
> 1.  Does Emacs support gst? Neither .st file text highlighting nor
> interactor mode appear to work. The documentation says gst works with Emacs.
Yes. The gst source distribution contains smalltalk-mode. Or you can use
the newer version smalltalk-mode from ELPA:
M-x package-install smalltalk-mode
>
> 2.  Is pi and Float supported? The class extend example (area and
> circumference methods) doesn't work.
Yes. pi is not pre-defined though.
>
> 3.  Does gst have a separate editor mode? The documentation implies it does.
>
It has a gst-mode that make smalltalk REPL works in emacs. However it is
not maintained for a long time so I don't know. Ro are you talking about
somethine else?
> 4.  I'm using vim as my editor and loading my program using FileStream
> fileIn: 'myfile.st'. I'm debugging using printNl. Is this the best way? Vim
> knows st keywords.
That works too.
>
> 5.  Does the web server, swazoo, and framework, seaside, work? I couldn't
> get them to run.
Yes. However I haven't try that for a long time.
>
> 6.  My application is realtime machinery control with web page UI.
>
> 7.  Does gst-browser work?
You mean the gtk GUI? Yes, but I am afraid not many people use that so
get help is not easy.

Derek

Reply | Threaded
Open this post in threaded view
|

RE: Basic Questions

mbratch

HI Gary

 

To add to the answers provided so far, regarding the question of whether gst has a separate editor mode… are you referring to something stated in the GST documentation or the Smalltalk 80 document? Smalltalk, in its purest form, is a whole GUI IDE, which of course includes built in editing, class browsing, etc. The idea is that you develop and execute your Smalltalk program all within that environment. Smalltalk 80 assumes this IDE.

 

GST is a command-line & text file based implementation of Smalltalk. You’re in the world of using text editors, like `vi` (which does have a decent syntax highlighter for Smalltalk) and doing things from command line. In my case, I created some makefiles to facilitate my gst development. I highly recommend learning about “packages”. If you bundle your code into packages, you can manage them easily, pulling them into your project. Here’s a link to an answer I provided on Stackoverflow which talks very briefly about packages and provides a link: https://stackoverflow.com/questions/37054929/using-extended-classes-in-gst-gnu-smalltalk/37076801#37076801.

 

I’ve used Seaside and the associated web server, so I know that works. You just need to find and read all the information about setting it up. If you search, you’ll find some good online information regarding setup.

 

Mark

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: Tuesday, December 22, 2020 10:22 AM
To: [hidden email]
Subject: Re: Basic Questions

 

 

Gary Highberger writes:

 

> I'm teaching myself GNU Smalltalk.

> • Dual boot Macbook Air running Ubuntu 20.04

> • GST 3.2.5

> • Documentation:

>         https://www.gnu.org/software/smalltalk/manual/gst.txt

>         Bluebook

> 

> 1.  Does Emacs support gst? Neither .st file text highlighting nor

> interactor mode appear to work. The documentation says gst works with Emacs.

Yes. The gst source distribution contains smalltalk-mode. Or you can use

the newer version smalltalk-mode from ELPA:

M-x package-install smalltalk-mode

> 

> 2.  Is pi and Float supported? The class extend example (area and

> circumference methods) doesn't work.

Yes. pi is not pre-defined though.

> 

> 3.  Does gst have a separate editor mode? The documentation implies it does.

> 

It has a gst-mode that make smalltalk REPL works in emacs. However it is

not maintained for a long time so I don't know. Ro are you talking about

somethine else?

> 4.  I'm using vim as my editor and loading my program using FileStream

> fileIn: 'myfile.st'. I'm debugging using printNl. Is this the best way? Vim

> knows st keywords.

That works too.

> 

> 5.  Does the web server, swazoo, and framework, seaside, work? I couldn't

> get them to run.

Yes. However I haven't try that for a long time.

> 

> 6.  My application is realtime machinery control with web page UI.

> 

> 7.  Does gst-browser work?

You mean the gtk GUI? Yes, but I am afraid not many people use that so

get help is not easy.

 

Derek

 

 

Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

stes
In reply to this post by stes

Ubuntu has a website to search for packages and contents.

https://packages.ubuntu.com/groovy/gnu-smalltalk-el

GNU Smalltalk Emacs front-end

so the support for emacs is in gnu-smalltalk-el  (note the -el suffix).

I haven't tried it but it sounds logical;
see https://packages.ubuntu.com for the search engine.

Regards,
David Stes

Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

highbeg
I have many years of embedded real-time programming under my belt. Sadly,
no Smalltalk. I'm changing that now that I'm retired. Thanks for the boost!

On Wed, Dec 23, 2020, 8:30 AM [hidden email] <[hidden email]> wrote:

>
> Ubuntu has a website to search for packages and contents.
>
> https://packages.ubuntu.com/groovy/gnu-smalltalk-el
>
> GNU Smalltalk Emacs front-end
>
> so the support for emacs is in gnu-smalltalk-el  (note the -el suffix).
>
> I haven't tried it but it sounds logical;
> see https://packages.ubuntu.com for the search engine.
>
> Regards,
> David Stes
>
Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

stes

I'm not using emacs but I'd be interested to hear whether the GNU Smalltalk support for emacs still works.

Let us know please !  From looking at the GNU Smalltalk sources, I have the impression that the author(s),
or contributors were or are emacs users.

----- Op 23 dec 2020 om 14:36 schreef Gary Highberger [hidden email]:

> I have many years of embedded real-time programming under my belt. Sadly,
> no Smalltalk. I'm changing that now that I'm retired. Thanks for the boost!
>
> On Wed, Dec 23, 2020, 8:30 AM [hidden email] <[hidden email]> wrote:
>
>>
>> Ubuntu has a website to search for packages and contents.
>>
>> https://packages.ubuntu.com/groovy/gnu-smalltalk-el
>>
>> GNU Smalltalk Emacs front-end
>>
>> so the support for emacs is in gnu-smalltalk-el  (note the -el suffix).
>>
>> I haven't tried it but it sounds logical;
>> see https://packages.ubuntu.com for the search engine.
>>
>> Regards,
>> David Stes

Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

stes
In reply to this post by mbratch

Interesting remark about the difference conceptually,
between GST command line oriented and Smalltalk with the GUI IDE on the other hand.

I suspect that the emacs support is actually an important feature for GST,
because it may conceptually give a lot of attention to its emacs support,
whereas for a Smalltalk implementation that uses its own GUI IDE such a thing is less of an issue.

As a test I compiled gnu smalltalk 3.2.91 to see whether the emacs support works.

It does ...

With GNU Emacs 27.1 if I create a .emacs file (as the configure script suggests)

(mapc 'load (directory-files "/usr/emacs/share/emacs/site-lisp/site-start.d" t "\\.el\\'"))

which as far as I understand, is emacs language for loading the smalltalk-mode.el and gst-mode.el files,
then if I open a .st file in emacs it highlights selector names.

For example comments seem to be colored red, class names green, message names (selectors) blue,
block argument names in yellow.

The syntax highlighting works because the minibuffer of emacs (bottom line) indicates "Smalltalk",
for an example file that ends with .st.

Presumably the integration goes much further than that.  

For example gst has an --emacs-mode argument

   -V --verbose                  Show names of loaded files and execution stats.
      --emacs-mode               Execute as a `process' (from within Emacs)


----- Op 22 dec 2020 om 18:21 schreef Mark Bratcher [hidden email]:

> HI Gary
>
> To add to the answers provided so far, regarding the question of whether gst has
> a separate editor mode… are you referring to something stated in the GST
> documentation or the Smalltalk 80 document? Smalltalk, in its purest form, is a
> whole GUI IDE, which of course includes built in editing, class browsing, etc.
> The idea is that you develop and execute your Smalltalk program all within that
> environment. Smalltalk 80 assumes this IDE.
>
> GST is a command-line & text file based implementation of Smalltalk. You’re in
> the world of using text editors, like `vi` (which does have a decent syntax
> highlighter for Smalltalk) and doing things from command line. In my case, I
> created some makefiles to facilitate my gst development. I highly recommend
> learning about “packages”. If you bundle your code into packages, you can
> manage them easily, pulling them into your project. Here’s a link to an answer
> I provided on Stackoverflow which talks very briefly about packages and
> provides a link:
> https://stackoverflow.com/questions/37054929/using-extended-classes-in-gst-gnu-smalltalk/37076801#37076801.
>
> I’ve used Seaside and the associated web server, so I know that works. You just
> need to find and read all the information about setting it up. If you search,
> you’ll find some good online information regarding setup.
>
> Mark
>
> Sent from [ https://go.microsoft.com/fwlink/?LinkId=550986 | Mail ] for Windows
> 10
>
> From: [ mailto:[hidden email] | Derek Zhou via Users mailing list for
> the GNU Smalltalk environment ]
> Sent: Tuesday, December 22, 2020 10:22 AM
> To: [ mailto:[hidden email] | [hidden email] ]
> Subject: Re: Basic Questions
>
> Gary Highberger writes:
>
>> I'm teaching myself GNU Smalltalk.
>
>> • Dual boot Macbook Air running Ubuntu 20.04
>
>> • GST 3.2.5
>
>> • Documentation:
>
>> https://www.gnu.org/software/smalltalk/manual/gst.txt
>
>> Bluebook
>
>>
>
>> 1. Does Emacs support gst? Neither .st file text highlighting nor
>
>> interactor mode appear to work. The documentation says gst works with Emacs.
>
> Yes. The gst source distribution contains smalltalk-mode. Or you can use
>
> the newer version smalltalk-mode from ELPA:
>
> M-x package-install smalltalk-mode
>
>>
>
>> 2. Is pi and Float supported? The class extend example (area and
>
>> circumference methods) doesn't work.
>
> Yes. pi is not pre-defined though.
>
>>
>
>> 3. Does gst have a separate editor mode? The documentation implies it does.
>
>>
>
> It has a gst-mode that make smalltalk REPL works in emacs. However it is
>
> not maintained for a long time so I don't know. Ro are you talking about
>
> somethine else?
>
>> 4. I'm using vim as my editor and loading my program using FileStream
>
>> fileIn: 'myfile.st'. I'm debugging using printNl. Is this the best way? Vim
>
>> knows st keywords.
>
> That works too.
>
>>
>
>> 5. Does the web server, swazoo, and framework, seaside, work? I couldn't
>
>> get them to run.
>
> Yes. However I haven't try that for a long time.
>
>>
>
>> 6. My application is realtime machinery control with web page UI.
>
>>
>
>> 7. Does gst-browser work?
>
> You mean the gtk GUI? Yes, but I am afraid not many people use that so
>
> get help is not easy.
>
> Derek

Reply | Threaded
Open this post in threaded view
|

Re: Basic Questions

Gnu mailing list
In reply to this post by stes

[hidden email] writes:

> I'm not using emacs but I'd be interested to hear whether the GNU Smalltalk support for emacs still works.
Like I mentioned earlier, you can try the newer smalltalk-mode in ELPA
with:
M-x package-install smalltalk-mode
in a recent emacs (25+)

It has the indentation engine rewrite.

Derek