guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: further hacking on guile-vm


From: Ludovic Courtès
Subject: Re: further hacking on guile-vm
Date: Thu, 15 May 2008 03:52:30 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Hello!

Andy Wingo <address@hidden> writes:

> So, I have been poking more at guile-vm. The focus of this patchset is
> on repl usability.

Looks cool!

I pulled from your branch and stumbled upon commit
7d1c45d38e34659c1ec3b76ba4c985901123bf61 entitled "fix macro compilation
via hooking into eval-case", which will probably lead to discussions.
;-)

I wanted to try a few things to refresh my memory on that topic, but it
appears that `pprint-glil' is currently broken:

  guile> (use-modules (system il compile) (language scheme translate))
  guile> (define hi (translate '(use-modules (srfi srfi-9)) (make-module)))
  guile> (define lo (compile hi (make-module)))
  guile> (use-modules (system il glil))
  guile> (pprint-glil lo)

  Backtrace:
  In current input:
     6:  0* [pprint-glil #<<glil-asm> vars: # body: #>]
  In ../module/system/il/glil.scm:
   195:  1  (let* ((port (if # # ...))) ((letrec (#) print) (unparse glil) 0) 
...)
   196:  2* [print ...
   196:  3*  [unparse #<<glil-asm> vars: # body: #>]
   163:  4   (record-case glil ((<glil-asm> vars body) (quasiquote (@asm # #))) 
...)
       ...
   166:  5   (quasiquote (@asm (# # # #) (unquote-splicing #)))
   168:  6*  [map #<procedure unparse (glil)> (# # # # ...)]
  In unknown file:
     ?:  7*  [unparse #<<glil-source> loc: {#f}>]
  In ../module/system/il/glil.scm:
   163:  8*  (let* ((#{\ g28}# glil)) (cond (# #) (# #) (# #) ...))
  In unknown file:
     ?:  9   (cond ((# #{\ g28}#) (let # #)) ((# #{\ g28}#) (let # #)) ...)
  In ../module/system/il/glil.scm:
       ...
   171: 10   (quasiquote (@source (unquote (car loc)) (unquote (cdr loc))))
   171: 11*  [cdr {#f}]

  ../module/system/il/glil.scm:171:48: In procedure cdr in expression (cdr loc):
  ../module/system/il/glil.scm:171:48: Wrong type (expecting pair): #f
  ABORT: (wrong-type-arg)

Any idea?

Surely you can achieve similar results more quickly using the REPL?

Thanks,
Ludovic.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]