home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.scheme
- Path: sparky!uunet!uunet.ca!wildcan!sq!dak
- From: dak@sq.sq.com (David A Keldsen)
- Subject: Re: How to keep track of procedures?
- Message-ID: <1992Dec12.083320.16247@sq.sq.com>
- Organization: SoftQuad Inc., Toronto, Canada
- References: <1992Dec11.100624.1@fencer.cis.dsto.gov.au> <JBS.92Dec11122857@sun1.Congruent.COM>
- Date: Sat, 12 Dec 92 08:33:20 GMT
- Lines: 71
-
- jbs@Congruent.COM (Jeffrey Siegal) writes:
-
- >If you want to keep track of the top level procedures, that is an
- >development environment issue. I haven't seen any Scheme environments
- >that do a particularly good job of this (I would define what the best
- >C environments do as reasonably good).
-
- Hmm. I'd certainly agree that this isn't part of the language. It
- does bring up the question, though: What would you like to see in a
- Scheme development environment?
-
- We're in the process of merging our version of PSI (a Portable Scheme
- Interpreter) with Ozan Yigit's version; the result should be released
- to the net...eventually. (You Know How These Things Are.)
-
- PSI supports things like procedure tracing, source tracing, call
- tracing, apropos...well, here's a small sample:
-
- ----------------------------------------------------------------------
- Script started on Sat Dec 12 03:05:13 1992
- dak@sqarc :sqpsi
- > (include-source-code #t)
- #t
- > (define (a) (+ #f 1 2 3))
- #<procedure a>
- > (procedure->src a)
- (lambda () (+ #f 1 2 3))
- > (a)
- Error -- +: invalid argument: #f
- in expression:
- (+ #f 1 2 3)
- in procedure: a
- > (define (cur b) (car b))
- #<procedure cur>
- > (apropos "c.r")
- car 1-ARGS
- cdr 1-ARGS
- call-with-current-continuation 1-ARGS
- cur 1-ARGS
- set-car! 2-ARGS
- set-cdr! 2-ARGS
- #t
- > (trace cur)
- #<procedure cur>
- > (cur '(1 2))
- (#<procedure cur> (1 2)) => 1
- 1
- > (untrace cur)
- #<procedure cur>
- > (global-trace 'calls)
- 0
- > (cur '(1 2))
- [(cur (1 2))
- [(car (1 2))
- ] car => 1
- 1
- >
- ----------------------------------------------------------------------
-
- Disclaimer: I work for SoftQuad, Inc. SQPSI is a part of some of
- our products. PSI should be available on the net, Real Soon Now.
- No lawyer-serviceable opinions inside. Do not open cover. Shock
- hazard. This side down. Do not fold, spellcheck, or punctuate.
-
- Regards,
- Dak
- --
- David A. 'Dak' Keldsen of SoftQuad, Inc. email: dak@sq.com phone: 416-239-4801
- "Therefore, get up; defeat your breathlessness with spirit that can win
- all battles if the body's heaviness does not deter it."
- Dante, _Inferno_ from canto 24, (trans. by Allen Mandelbaum)
-