Scheme debugger 
Author Message
 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  
 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  
 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  
 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  
 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  
 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  
 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  
 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  
 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  
 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  
 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  
 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  
 
 [ 12 post ] 

 Relevant Pages 

1. Scheme debugger

2. Announcing Psd - The Portable Scheme Debugger, version 1.1

3. The Portable Scheme Debugger looking for caretaker

4. MIT scheme debugger

5. A Source Level Scheme Debugger Available

6. Psd (portable Scheme debugger) & Scm & Emacs 19.29

7. Lint type debugger for PC/Mac Scheme

8. Debugger for current version of Dr. Scheme?

9. the Debugger in PC scheme

10. using python debugger (pdb) inside emacs debugger mode ...

11. Debuggers, Static Debuggers, and Algebraic Steppers

12. Scheme/Dylan incompatibilities (Dyllo as a Scheme library)

 

 
Powered by phpBB® Forum Software