[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] chicken bug?
From: |
naruto canada |
Subject: |
Re: [Chicken-users] chicken bug? |
Date: |
Wed, 7 Nov 2007 21:35:17 +0000 |
On 11/7/07, naruto canada <address@hidden> wrote:
> On 11/7/07, felix winkelmann <address@hidden> wrote:
> > On Nov 5, 2007 4:30 AM, naruto canada <address@hidden> wrote:
> > >
> > > Ok, I don't know what to make of this. One thing I noticed was that
> > > "row-reduce" should never have been called. This example don't use
> > > row-reduce.
> >
> > I assume you are calling a continuation with zero return values, probably
> in
> > a
> > non-values context. This is according to R5RS not defined, and in chicken
> > works most of the times, but not always, depending on context.
> >
> > To see a longer backtrace, invoke csi with "-:a256", for example.
>
> Ok, I undetstand the issue, and fix my code.
> Another problem shows up,
> I think this time the problem is not with my code,
> I can't figure out what the error is trying to say: (I've attach both files)
>
> address@hidden: /txt/scheme/grobner csi grobner-basis.scm
> test-grobner-basis.scm
>
> CHICKEN
> Version 2.732 - linux-unix-gnu-x86 [ symbolgc manyargs dload
> ptables applyhook cross ]
> (c)2000-2007 Felix L. Winkelmann compiled 2007-11-06 on localhost
> (Linux)
>
> ; loading grobner-basis.scm ...
> ; loading /usr/lib/chicken/3/numbers.scm ...
> ; loading /usr/lib/chicken/3/numbers-base.so ...
> ; loading test-grobner-basis.scm ...
> [(4),(3),(2)]
> Error: call of non-procedure: -1
>
> Call history:
>
> <eval> [iota] (begin (if (<= count 0) (quote ())
> (cons begin (iota (- count 1) (+ begin inc) inc))))
> <eval> [iota] (<= count 0)
> <eval> [iota] (cons begin (iota (- count 1) (+ begin inc)
> inc))
> <eval> [iota] (iota (- count 1) (+ begin inc) inc)
> <eval> [iota] (- count 1)
> <eval> [iota] (+ begin inc)
> <eval> [iota] (begin (if (<= count 0) (quote ())
> (cons begin (iota (- count 1) (+ begin inc) inc))))
> <eval> [iota] (<= count 0) <--
>
> ;; this is the code for iota
> (define (iota count begin inc)
> (if (<= count 0) '()
> (cons begin (iota (- count 1) (+ begin inc) inc))
> )
> )
>
> Why does it say "call of non-procedure"? This makes no sense, unless
> it thinks "<=" is not a function?
Hold on, I fix the problem.
I get it now, chicken can't handle "begin" as a parameter,
it thinks it's a scheme keyword "begin", as a begin block.
Nevermind then.
>
> >
> >
> > cheers,
> > felix
> >
>