Author |
Message |
Pianoma #1 / 12
|
 Scheme debugger
I've found a Scheme de{*filter*} at ftp://ftp.cs.tut.fi/pub/src/languages/schemes/ with the file name: psd-1.1-patched.tar.gz I was wondering if anyone knew anything about it. I was told it's a little out of date (it was last tested with r4rs), but it might work with r5rs. Anyone have some info.? Thanks -- Nathan Owens Georgia Tech, Atlanta
|
Sun, 20 Apr 2003 02:31:13 GMT |
|
 |
Kellom{ki Pertt #2 / 12
|
 Scheme debugger
Quote:
> I've found a Scheme de{*filter*} [...] > I was wondering if anyone knew anything about it.
As the author I am somewhat familiar with it. Quote: > I was told it's a > little out of date (it was last tested with r4rs), but it might work > with r5rs. Anyone have some info.?
It should work with r5rs as well, apart from the fact that it does not understand macros at all. I would mostly expect problems to be at the Emacs interation side. I have not had time to work on Psd for a long time, but since every now and then someone seems to be interested in it, I should probably try to come up with an update. The de{*filter*} works by instrumenting the procedures to be debugged, i.e. it does a source to source transformation at Scheme level. This has the nice feature of being portable, but it also imposes sever limitations on what can be achieved. The worst limitation in the current implementation is that you are restricted in one stack frame at a time, there is no way to backtrac to the calling procedure. I have some half-baked code to do that but I do not think it is yet robust enough to be published. I actually offered to give up the maintainance of Psd to someone else recently, but I have not heard anything since then. There are many ways in which it could be improved, and I would be happy to give it to good hands. -- Pertti Kellom?ki
|
Mon, 21 Apr 2003 21:35:50 GMT |
|
 |
Pianoma #3 / 12
|
 Scheme debugger
Quote:
> > I've found a Scheme de{*filter*} [...] > > I was wondering if anyone knew anything about it. > As the author I am somewhat familiar with it. > > I was told it's a > > little out of date (it was last tested with r4rs), but it might work > > with r5rs. Anyone have some info.? > It should work with r5rs as well, apart from the fact that it does not > understand macros at all. I would mostly expect problems to be at the > Emacs interation side. > The de{*filter*} works by instrumenting the procedures to be debugged, > i.e. it does a source to source transformation at Scheme level. This > has the nice feature of being portable, but it also imposes sever > limitations on what can be achieved. The worst limitation in the > current implementation is that you are restricted in one stack frame > at a time, there is no way to backtrac to the calling procedure. I > have some half-baked code to do that but I do not think it is yet > robust enough to be published. > I actually offered to give up the maintainance of Psd to someone else > recently, but I have not heard anything since then. There are many > ways in which it could be improved, and I would be happy to give it to > good hands.
There might be someone here that would like to do that, or at Rice University (I'm only a freshman, so there's no way I'd be able to do it). I know they have a PLT Scheme that we're using here at Georgia Tech. I've a few questions I was hoping you could answer. I installed the psd like the manual said, but I keep getting this error when I type the command: M-x run-scheme. Symbol's function definition is void: full-copy-sparse-keymap here's the messages right before this one: Loading scheme... Loading scheme...done Fontifying hw5.scm... Fontifying hw5.scm...done Loading cmuscheme (source)... Symbol's function definition is void: full-copy-sparse-keymap I can't figure out what's happening. I'm using v.20 of GNU Emacs, but I couldn't get it to work in v19.34, either. If there's a place where I could download v.19.19, I'll try it in that version. -- Nathan Owens Georgia Tech, Atlanta
|
Tue, 22 Apr 2003 09:19:49 GMT |
|
 |
John Hawkin #4 / 12
|
 Scheme debugger
try setting the variable (see the interactive function 'set-variable) debug-on-error to 't' before running the run-scheme command. What does the resulting backtrace look like? -John Quote: > I've a few questions I was hoping you could answer. I installed the psd > like the manual said, but I keep getting this error when I type the > command: M-x run-scheme. > Symbol's function definition is void: full-copy-sparse-keymap > here's the messages right before this one: > Loading scheme... > Loading scheme...done > Fontifying hw5.scm... > Fontifying hw5.scm...done > Loading cmuscheme (source)... > Symbol's function definition is void: full-copy-sparse-keymap
|
Tue, 22 Apr 2003 12:38:06 GMT |
|
 |
Pianoma #5 / 12
|
 Scheme debugger
Quote: > > I've a few questions I was hoping you could answer. I installed the psd > > like the manual said, but I keep getting this error when I type the > > command: M-x run-scheme. > > Symbol's function definition is void: full-copy-sparse-keymap > > here's the messages right before this one: > > Loading scheme... > > Loading scheme...done > > Fontifying hw5.scm... > > Fontifying hw5.scm...done > > Loading cmuscheme (source)... > > Symbol's function definition is void: full-copy-sparse-keymap > try setting the variable (see the interactive function 'set-variable) > debug-on-error to 't' before running the run-scheme command. What > does the resulting backtrace look like?
This is what it output. I've tried ot make it readable w/80 columns: Signaling: (void-function full-copy-sparse-keymap) (full-copy-sparse-keymap comint-mode-map) (setq inferior-scheme-mode-map (full-copy-sparse-keymap comint-mode-map)) (cond ((not inferior-scheme-mode-map) (setq inferior-scheme-mode-map ...) (define-key scheme-mode-map " " ...) (define-key inferior-scheme-mode-map " l" ...) (define-key inferior-scheme-mode-map " k" ...) (scheme-mode-commands inferior-scheme-mode-map))) eval-buffer(#<buffer *load*<2>> nil "cmuscheme") load-with-code-conversion("c:/ntemacs/psd/cmuscheme.el" "cmuscheme" nil nil) execute-extended-command(nil) call-interactively(execute-extended-command) recursive-edit() byte-code(" ! ,HG H (B! p +eb ,HM (B` ! ,HP (By `| ,HQ
debug(error (void-function full-copy-sparse-keymap)) (full-copy-sparse-keymap comint-mode-map) (setq inferior-scheme-mode-map (full-copy-sparse-keymap comint-mode-map)) (cond ((not inferior-scheme-mode-map) (setq inferior-scheme-mode-map ...) (define-key scheme-mode-map " " ...) (define-key inferior-scheme-mode-map " l" ...) (define-key inferior-scheme-mode-map " k" ...) (scheme-mode-commands inferior-scheme-mode-map))) eval-buffer(#<buffer *load*> nil "cmuscheme") load-with-code-conversion("c:/ntemacs/psd/cmuscheme.el" "cmuscheme" nil nil) execute-extended-command(nil) call-interactively(execute-extended-command) recursive-edit() byte-code(" ! ,HG H (B! p +eb ,HM (B` ! ,HP (By `| ,HQ
debug(error (file-error "Searching for program" "no such file or directory" "gdb")) start-process("gud-run-scheme" #<buffer *gud-run-scheme*> "gdb" "-fullname" "run-scheme") apply(start-process "gud-run-scheme" #<buffer *gud-run-scheme*> "gdb" ("-fullname" "run-scheme")) comint-exec-1("gud-run-scheme" #<buffer *gud-run-scheme*> "gdb" ("-fullname" "run-scheme")) comint-exec(#<buffer *gud-run-scheme*> "gud-run-scheme" "gdb" nil ("-fullname" "run-scheme")) make-comint("gud-run-scheme" "gdb" nil "-fullname" "run-scheme") apply(make-comint "gud-run-scheme" "gdb" nil ("-fullname" "run-scheme")) gud-common-init("gdb run-scheme" gud-gdb-massage-args gud-gdb-marker-filter gud-gdb-find-file) gdb("gdb run-scheme") call-interactively(gdb) I don't know what much of it means, as I'm only a first year student, and haven't worked with Scheme and Emacs before this fall. Thanks for the help. -- Nathan Owens Georgia Tech, Atlanta
|
Tue, 22 Apr 2003 13:57:03 GMT |
|
 |
John Hawkin #6 / 12
|
 Scheme debugger
Well, first let me caveat that while I know a fair bit of emacs foo, I'm no scheme buff...I just jumped in here because I suspected this might be more an emacs problem than a scheme problem...so anyone else feel free to jump in and expose me for the sorry sod I am. That said: Quote:
> debug(error (file-error "Searching for program" > "no such file or directory" > "gdb")) > start-process("gud-run-scheme" #<buffer *gud-run-scheme*> > "gdb" "-fullname" "run-scheme") > apply(start-process "gud-run-scheme" #<buffer *gud-run-scheme*> > "gdb" ("-fullname" "run-scheme")) > comint-exec-1("gud-run-scheme" #<buffer *gud-run-scheme*> > "gdb" ("-fullname" "run-scheme")) > comint-exec(#<buffer *gud-run-scheme*> "gud-run-scheme" > "gdb" nil ("-fullname" "run-scheme")) > make-comint("gud-run-scheme" "gdb" nil "-fullname" "run-scheme") > apply(make-comint "gud-run-scheme" "gdb" nil ("-fullname" "run-scheme")) > gud-common-init("gdb run-scheme" gud-gdb-massage-args > gud-gdb-marker-filter gud-gdb-find-file) > gdb("gdb run-scheme") > call-interactively(gdb)
This section in here means that gdb, which has been called with M-x gdb or equivilant, is not finding its argument, namely scheme...Again, I just joined this list out of interest in scheme ("The little schemer" keeps me up nights) but did you mean to run gdb? If you didn't, or don't even know what gdb is, double check your calling method. If you just typed M-x run-scheme gdb should not be getting involved, unless you've set your scheme-program to something like "gdb run-scheme". Are you *sure* you typed what you meant to? If this was just a mistype or somthing (i.e. you typed something other then M-x...I've set gdb to 'C-c d' on my installation, for example...you may want to start over and post the new backtrace. As a hint, as long as the phrase call-interactively(gdb) is in your backtrace from an attempt to call run-scheme...something's screwy. -John
|
Tue, 22 Apr 2003 14:58:18 GMT |
|
 |
thi #7 / 12
|
 Scheme debugger
Quote:
> Symbol's function definition is void: full-copy-sparse-keymap
you may be able to work around this by placing: (defalias 'full-copy-sparse-keymap 'copy-keymap) in your ~/.emacs -- don't forget to notify the psd author. thi
|
Tue, 22 Apr 2003 03:00:00 GMT |
|
 |
Pianoma #8 / 12
|
 Scheme debugger
Quote:
> The reason for this is that the old version of cmuscheme.el distributed > with psd requires the equally old version of comint.el, where this > function is defined. The only reason for these two files to be in the > distribution is that at the time they were not shipped with Emacs. It > seems that cmuscheme is now part of the Emacs distribution, so you > should just ignore the cmuscheme.el and comint.el that come with psd.
Ok, I figured out that part. I was using v20.3 instead of 20.7. the 20.3 version doesn't come with cmuscheme.el, only cmuscheme.elc. v20.7 took care of this. Now, I'm getting the error: "Wrong type argument: processp, nil", when I type "M-x psd-mode". I assume this is causing the error: "Process scheme does not exist" when I type "M-x psd-debug-file". I know I have the paths set right in load-path, and I've tried setting psd-using-slib to nil or not setting it. Thanks for the help. -- Nathan Owens Georgia Tech, Atlanta
|
Tue, 22 Apr 2003 03:00:00 GMT |
|
 |
Kellom{ki Pertt #9 / 12
|
 Scheme debugger
Quote:
> I've a few questions I was hoping you could answer. I installed the psd > like the manual said, but I keep getting this error when I type the > command: M-x run-scheme. > Symbol's function definition is void: full-copy-sparse-keymap > here's the messages right before this one: > Loading scheme... > Loading scheme...done > Fontifying hw5.scm... > Fontifying hw5.scm...done > Loading cmuscheme (source)... > Symbol's function definition is void: full-copy-sparse-keymap
The reason for this is that the old version of cmuscheme.el distributed with psd requires the equally old version of comint.el, where this function is defined. The only reason for these two files to be in the distribution is that at the time they were not shipped with Emacs. It seems that cmuscheme is now part of the Emacs distribution, so you should just ignore the cmuscheme.el and comint.el that come with psd. -- pertti
|
Tue, 22 Apr 2003 19:17:33 GMT |
|
 |
Paolo Amoros #10 / 12
|
 Scheme debugger
Quote: > Ok, I figured out that part. I was using v20.3 instead of 20.7. the 20.3 > version doesn't come with cmuscheme.el, only cmuscheme.elc. v20.7 took care of > this. Now, I'm getting the error: "Wrong type argument: processp, nil", when I
If I remember well, cmuscheme.el also came with Emacs 19.x. However, some Linux distributions don't install Emacs Lisp sources by default. Paolo -- EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation http://cvs2.cons.org:8000/cmucl/doc/EncyCMUCLopedia/
|
Wed, 23 Apr 2003 03:00:00 GMT |
|
 |
Pianoma #11 / 12
|
 Scheme debugger
Quote:
> > Ok, I figured out that part. I was using v20.3 instead of 20.7. the 20.3 > > version doesn't come with cmuscheme.el, only cmuscheme.elc. v20.7 took care of > > this. Now, I'm getting the error: "Wrong type argument: processp, nil", when > If I remember well, cmuscheme.el also came with Emacs 19.x. However, some > Linux distributions don't install Emacs Lisp sources by default.
cmuscheme.elc did, but not cmuscheme.el. I think the only difference is that one's compiled and one's not, but I don't know how this is effecting the scheme de{*filter*} I've been trying to set up. -- Nathan Owens Georgia Tech, Atlanta
|
Wed, 23 Apr 2003 03:00:00 GMT |
|
 |
Kellom{ki Pertt #12 / 12
|
 Scheme debugger
Quote:
> > > this. Now, I'm getting the error: "Wrong type argument: processp, nil", when
You are supposed to say M-x psd-mode in the buffer named *scheme*, i.e. what you get after saying M-x run-scheme. If you try to say M-x psd-mode e.g. in the buffer where your Scheme source is, you will get the error you described. Not the optimal behavior, I agree, but that's how it works. Quote: > cmuscheme.elc did, but not cmuscheme.el. I think the only difference is that > one's compiled and one's not, but I don't know how this is effecting the scheme > de{*filter*} I've been trying to set up.
This should not make any difference. -- Pertti Kellom\"aki, Tampere Univ. of Technology, Software Systems Lab
|
Fri, 25 Apr 2003 03:00:00 GMT |
|
|
|