chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] Multithreading test


From: Alejandro Forero Cuervo
Subject: Re: [Chicken-users] Multithreading test
Date: Sat, 7 May 2005 17:49:20 -0500
User-agent: Mutt/1.5.6+20040907i

Hey.

> Changing the command line stuff is pretty simple, but once I get past
> that point I run into the following error
> 
>  Error: (values) continuation can not receive multiple values: #<procedure>
> 
>  I havn't used chicken much in the past so I havn't seen this error
> before. Considering that this error is new to me and that there arn't
> any line numbers reported I am having a somewhat difficult time
> figuring out the problem. If one of you could help me figure this out
> that would be great.

This error means that a certain continuation only expects one value in
a place where an expression is returning more than one.

An example problematic expression would be “(+ (values 1 2) 3)”.  Here
the continuation of “(values 1 2)”, “(lambda (x) (+ x 3))”, expects
one value but the expression returns more.

In Common Lisp, it is valid for an expression to return multiple
values when the continuation only accepts one.  This is used by many
functions to return the usual value as their first value and some
other less-often-used results as the other values.  This does not work
in Chicken (nor in other Scheme implementations I tried), though.

So look for expressions returning multiple values where only one is
used.

I hope this helps.

Alejo.
http://bachue.com/alejo

---=(  Comunidad de Usuarios de Software Libre en Colombia  )=---
---=(  http://bachue.com/colibri )=--=( address@hidden  )=---




reply via email to

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