Re: [ESS] ESS[SAS]: experience, fixes, and starting questions
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
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
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
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