unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* Interpreter Dies Given Malformed Module Declaration
@ 2010-11-15  6:08 Noah Lavine
  2010-11-19 14:24 ` Andy Wingo
  0 siblings, 1 reply; 2+ messages in thread
From: Noah Lavine @ 2010-11-15  6:08 UTC (permalink / raw)
  To: bug-guile

Hello all,

Running the following script with 'guile -l <filename>'

#!/usr/bin/guile
!#

(define-module (test-module)
  #:export should-be-a-list)

Gives this result:

;;; WARNING: compilation of load-test.scm failed:
;;; key wrong-type-arg, throw_args ("append" "Wrong type argument in
position ~A (expecting ~A): ~S" (1 "empty list" should-be-a-list)
(should-be-a-list))
Backtrace:
In ice-9/boot-9.scm:
 170: 16 [catch #t #<catch-closure 1012948e0> ...]
In unknown file:
   ?: 15 [catch-closure]
In ice-9/boot-9.scm:
  62: 14 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
 389: 13 [eval # #]
In ice-9/boot-9.scm:
1840: 12 [save-module-excursion #<procedure 1018b11b0 at
ice-9/boot-9.scm:1854:3 ()>]
1149: 11 [load "load-test.scm" #f]
1047: 10 [%start-stack load-stack ...]
1052: 9 [#<procedure 101d09750 ()>]
In unknown file:
   ?: 8 [primitive-load "load-test.scm"]
In ice-9/eval.scm:
 458: 7 [#<procedure 10100b780 at ice-9/eval.scm:452:4 (exp)> #]
In ice-9/psyntax.scm:
 908: 6 [chi-top-sequence ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
1159: 5 [chi-top (#(syntax-object let # ...) (#) (# #) ...) () ...]
In ice-9/eval.scm:
 374: 4 [eval # ()]
In ice-9/boot-9.scm:
2446: 3 [process-define-module ((test-module) #:filename "load-test.scm" ...)]
In unknown file:
   ?: 2 [append {should-be-a-list} ()]
In ice-9/boot-9.scm:
 115: 1 [#<procedure 101328960 at ice-9/boot-9.scm:110:6 (thrown-k .
args)> wrong-type-arg ...]
In unknown file:
   ?: 0 [catch-closure wrong-type-arg "append" ...]

ERROR: In procedure append:
ERROR: Wrong type argument in position 1 (expecting empty list):
should-be-a-list

Whereas I think a better result would be this:

Error compiling load-test.scm: expected list after #:export clause,
instead got 'should-be-a-list.

I'm not quite sure how to make this happen yet, so if anyone knows,
please let me know.

Noah



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Interpreter Dies Given Malformed Module Declaration
  2010-11-15  6:08 Interpreter Dies Given Malformed Module Declaration Noah Lavine
@ 2010-11-19 14:24 ` Andy Wingo
  0 siblings, 0 replies; 2+ messages in thread
From: Andy Wingo @ 2010-11-19 14:24 UTC (permalink / raw)
  To: Noah Lavine; +Cc: bug-guile

Hi Noah,

On Mon 15 Nov 2010 07:08, Noah Lavine <noah.b.lavine@gmail.com> writes:

> Running the following script with 'guile -l <filename>'
>
> #!/usr/bin/guile
> !#
>
> (define-module (test-module)
>   #:export should-be-a-list)
>
> Gives this result:
>
> ;;; WARNING: compilation of load-test.scm failed:
> ;;; key wrong-type-arg, throw_args ("append" "Wrong type argument in
> position ~A (expecting ~A): ~S" (1 "empty list" should-be-a-list)
> (should-be-a-list))
> Backtrace:

I think I have fixed this in git. Now the result it:

$ meta/guile /tmp/foo.scm 
;;; note: autocompilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-autocompile argument to disable.
;;; compiling /tmp/foo.scm
;;; WARNING: compilation of /tmp/foo.scm failed:
;;; key syntax-error, throw_args (define-module "unknown keyword or bad argument" #f #:export should-be-a-list)
Syntax error:
unknown location: define-module: unknown keyword or bad argument in subform should-be-a-list of #:export

Of course, the error can still be better, but it's an improvement.

Cheers,

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-11-19 14:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-15  6:08 Interpreter Dies Given Malformed Module Declaration Noah Lavine
2010-11-19 14:24 ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).