guile-user
[Top][All Lists]
Advanced

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

Re: Wisp error location?


From: Arne Babenhauserheide
Subject: Re: Wisp error location?
Date: Tue, 26 Feb 2019 23:14:56 +0100
User-agent: mu4e 1.0; emacs 26.1

Dear simon,

Thank you for writing!

The error-reporting in wisp is currently not at the level of regular
Scheme. For some errors you already get the line numbers, but others
still lack them.

The happy case: If you run the following via guile --language=wisp
/tmp/test.w, for example, you get the correct line number of the error:


define : sqr x
       * x x

define : add1 x
       error "foo ~a" 'foo
       1+ x

add1 2


Adding line number information for compile errors will still take some
time — it should be fixable, but I will have to do more reading up on
Guile compiler internals for that, so I cannot promise a fix within the
next months.

However you can use a workaround: in case of an error automatically
transform the file to regular scheme and run the compiler on that
again. The line numbers should then match exactly.

I know that that’s only a workaround, but it should already ease
debugging a lot. I hope it helps you!

guild compile -f wisp /tmp/test.w || (wisp2lisp /tmp/test.w > /tmp/test.scm && 
guild compile /tmp/test.scm)


Best wishes,
Arne


zimoun <address@hidden> writes:

> Dear,
>
> As you maybe know, the Guix Workflow Language [1] now support the Wisp
> notation [2].
> And it improves the readibility, IMHO.
> Nice!
>
>
> [1] https://archive.fosdem.org/2017/schedule/event/guixworkflowmanagement/
> [2] https://git.savannah.gnu.org/cgit/gwl.git/tree/gwl/utils.scm#n34
>
>
>
> However, Wisp v0.9 does not support (yet?) the location when it fails
> to compile.
> I have not tried the v1.0 because it is not packaged in Guix, yet. :-)
>
> Just to fix the idea:
>
> define : sqr x
>        * x x
>
> define add1 x
>        1+ x
>
>
> then `guild compile -f wisp ~/tmp/test.w` fails with:
>
> ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
> Syntax error:
> unknown location: source expression failed to match any pattern in
> form (define add1 x (#{1+}# x))
>
> and it is not always to find where the location is. Compared to the
> Lisp notation, the line is pointed:
>
> ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
> Syntax error:
> /home/simon/tmp/test.scm:5:0: source expression failed to match any
> pattern in form (define add1 x (#{1+}# x))
>
>
> Does it seem fixable ?
>
>
> Thank you in advance for any comments.
>
> All the best,
> simon
>
> ps:
> I do not if there is a dedicated mailing list about Wisp or a bug tracker.
> Sorry if it is incorrectly addressed and let me know where to post.


--
Unpolitisch sein
heißt politisch sein
ohne es zu merken

Attachment: signature.asc
Description: PGP signature


reply via email to

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