Re: [ESS] ESS[SAS]: experience, fixes, and starting questions

2024-02-01 Thread Sparapani, Rodney via ESS-help
Hi Frederico:

Responding to your questions…

1. Is fixing/adding this support to ESS something desirable, or better
left out of the main tree?”

We are accepting patches.  But, iESS[SAS] is more or less historically frozen 
at this point since it’s a dead-end as far as features go.

2. You mentioned "little interactive support relative to R": I would be
very interested in some examples, if possible.

In R, you can accomplish a lot of debugging interactively by inspecting an 
object,
printing/plotting it, etc.  Since SAS does not have objects, you really can’t 
do much.
Also, the focus of SAS is more-so on data sets (since there really is nothing 
else).
Permanent SAS data set can be interacted with by PROC FSVIEW that is supported
by ESS[SAS] with F9 (for ess-sas-global-unix-keys).
--
Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
Vice President, Wisconsin Chapter of the American Statistical Association
Institute for Health and Equity, Division of Biostatistics
Medical College of Wisconsin, Milwaukee Campus

If this is outside of working hours, then please respond when convenient.

From: Sparapani, Rodney 
Date: Thursday, February 1, 2024 at 12:54 PM
To: Sparapani, Rodney 
Subject: Re: [ESS] ESS[SAS]: experience, fixes, and starting questions
Hello,

Thank you for your answer.

"Sparapani, Rodney via ESS-help"  writes:
> iESS[SAS] goes way back to the beginning of ESS.  At that time, interactive
> SAS
> was thought to be a good idea. However, batch SAS was quickly adopted as a
> more prudent approach given that there was comparatively little interactive
> support relative to R.

This is very interesting, I wasn't aware of it. I didn't even try batch
before your answer since my own background is not with SAS, but with
Emacs (ESS+R , Elpy+Python), where I use the interactive mode
extensively.

I'll give the batch mode a try, but now that I've made iESS work I have
a couple of different questions:

1. Is fixing/adding this support to ESS something desirable, or better
left out of the main tree?
2. You mentioned "little interactive support relative to R": I would be
very interested in some examples, if possible.

My own usage of the interactive mode includes e.g. using it with
polyline to a similar approach to Rnw, but with SAS, and for that I end
up using a REPL approach to develop things.

The LSP server support is something orthogonal to this, but I'm also
checking to what extend there are some overlaps (my experience has been
great so far, using it with SAS-mode).


> And the reason the F-keys are NOT turned on globally
> by default is due to the GNU elisp standards that do not allow it.  So you
> have
> to turn on your F-keys by yourself.  I do it like this in ~/.emacs
>
> (setq ess-sas-global-unix-keys t)
> (require 'ess-site)

Thank you, I had the ess-sas-global-unix-keys thing done but it was at
the wrong place, it now works as expected.

Best regards,

Frederico Muñoz

From: Sparapani, Rodney 
Date: Monday, January 29, 2024 at 9:23 AM
To: ess-help@r-project.org 
Subject: [ESS] ESS[SAS]: experience, fixes, and starting questions
Hi Federico:

iESS[SAS] goes way back to the beginning of ESS.  At that time, interactive SAS
was thought to be a good idea.  However, batch SAS was quickly adopted as a
more prudent approach given that there was comparatively little interactive
support relative to R.  And the reason the F-keys are NOT turned on globally
by default is due to the GNU elisp standards that do not allow it.  So you have
to turn on your F-keys by yourself.  I do it like this in ~/.emacs

(setq ess-sas-global-unix-keys t)
(require 'ess-site)

--
Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
Vice President, Wisconsin Chapter of the American Statistical Association
Institute for Health and Equity, Division of Biostatistics
Medical College of Wisconsin, Milwaukee Campus

If this is outside of working hours, then please respond when convenient.

[[alternative HTML version deleted]]

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help


Re: [ESS] ESS[SAS]: experience, fixes, and starting questions

2024-01-31 Thread Frederico Muñoz via ESS-help
Hello,

Thank you for your answer.

"Sparapani, Rodney via ESS-help"  writes:
> iESS[SAS] goes way back to the beginning of ESS.  At that time, interactive 
> SAS
> was thought to be a good idea. However, batch SAS was quickly adopted as a
> more prudent approach given that there was comparatively little interactive
> support relative to R.

This is very interesting, I wasn't aware of it. I didn't even try batch
before your answer since my own background is not with SAS, but with
Emacs (ESS+R , Elpy+Python), where I use the interactive mode
extensively.

I'll give the batch mode a try, but now that I've made iESS work I have
a couple of different questions:

1. Is fixing/adding this support to ESS something desirable, or better
left out of the main tree?
2. You mentioned "little interactive support relative to R": I would be
very interested in some examples, if possible.

My own usage of the interactive mode includes e.g. using it with
polyline to a similar approach to Rnw, but with SAS, and for that I end
up using a REPL approach to develop things.

The LSP server support is something orthogonal to this, but I'm also
checking to what extend there are some overlaps (my experience has been
great so far, using it with SAS-mode).


> And the reason the F-keys are NOT turned on globally
> by default is due to the GNU elisp standards that do not allow it.  So you 
> have
> to turn on your F-keys by yourself.  I do it like this in ~/.emacs
>
> (setq ess-sas-global-unix-keys t)
> (require 'ess-site)

Thank you, I had the ess-sas-global-unix-keys thing done but it was at
the wrong place, it now works as expected.

Best regards,

Frederico Muñoz

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help


[ESS] ESS[SAS]: experience, fixes, and starting questions

2024-01-29 Thread Sparapani, Rodney via ESS-help
Hi Federico:

iESS[SAS] goes way back to the beginning of ESS.  At that time, interactive SAS
was thought to be a good idea.  However, batch SAS was quickly adopted as a
more prudent approach given that there was comparatively little interactive
support relative to R.  And the reason the F-keys are NOT turned on globally
by default is due to the GNU elisp standards that do not allow it.  So you have
to turn on your F-keys by yourself.  I do it like this in ~/.emacs

(setq ess-sas-global-unix-keys t)
(require 'ess-site)

--
Rodney Sparapani, Associate Professor of Biostatistics, He/Him/His
Vice President, Wisconsin Chapter of the American Statistical Association
Institute for Health and Equity, Division of Biostatistics
Medical College of Wisconsin, Milwaukee Campus

If this is outside of working hours, then please respond when convenient.

[[alternative HTML version deleted]]

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help


[ESS] ESS[SAS]: experience, fixes, and starting questions

2024-01-27 Thread Frederico Muñoz via ESS-help
Hello,

I've used ESS with R before, but I just started with using it for SAS
and I had an initial experience that I'm unsure is due to my lack of
knowledge (and lack of proper understanding of the documentation) or
more related with the status of the SAS support in ESS.

I'm using Emacs 30.0.6, with ESS installed through package.el
(ess-20240122.1720). SAS is SAS 9.4, locally installed in Debian
GNU/Linux (symlinked to /usr/local/bin/sas). My remarks are mostly about
the iESS approach, which is what I was after.

My initial experience with it was that a substantial part of it didn't
work out of the box: opening a test.sas file puts the file in SAS mode
(this part works), but anything that starts the interactive session (M-x
SAS, C-RET, C-z) hangs after splitting the screen in the different
horizontal buffers. Changing some things (like the inferior-ess-program)
give slightly different results, but only superficially: the SAS process
never starts, and each time an evaluation is attempted a new set of
buffers gets created.

My first question is about this experience: is my environment
ill-configured and/or did sidestep some obvious setup, or is the SAS
support known to be in need of some care?

The reason I ask is also because I went digging around the code, and
some things are hard for me to understand:

1.  "ess-sas-sh-command" is defined as the value for
"inferior-SAS-command" in the ess-SAS-pre-run-hook, but in my testing
(and for reasons I haven't yet fully explored) it doesn't seem to get to
SAS(), which will uses the "default" inferior-ess-process.

2. Assuming that "ess-sas-sh-command" is the way to go, SAS() currently
doesn't pass any arguments to (inferior-ess ...); this breaks the
ess-sas-sh-command script that expects the ptys for stdout and stderr.

3. The "ess-sas-goto*" family doesn't work as is, since from what I was
able to discover, it tries to go after a "test.log" and "test.lst" file
being visited, but AFAIK the *SAS.log* and *SAS.lst* buffers use the
redirection from the ess-sas-sh-command. These commands are used by
others, and specifically by ess-sas-graph-view.

Some other small things are also strange, e.g. the SAS keymap doesn't
seem to be activated (F12 is not assigned to ess-sas-graph-view, for
example).

I'm certainly missing lots of context here, so take the above as an
innocent attempt at trying to solve things.

The good news is that after "solving" the above (in a very quick and
dirty way), iESS with SAS works as I would expect:

* Interactive development works perfectly, with output going to the log
  and list buffers.
* I can use the graph view to open the last (ODS) plot created.

Additionally, I've started to experiment with the LSP server that SAS
built for the vscode extension, with encouraging results; this image
shows the completion-at-point behaviour:

https://i.imgur.com/HdpzCy7.png

I'm going to explore things a bit more, eventually get into polyline and
using something like Rmd/Rnw but with SAS (through SASmarkdown or
something else), but wanted to get the "base" environment stable first.


Best regards,

Frederico Muñoz

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help