Alejandro Forero Cuervo | 1 Aug 03:05 2006
Picon

Problem in call/values in 2.41 for compiled code


I think I've stumbled on a bug in Chicken 2.41.  When compiled,

  (call-with-values
    (lambda () (values #f 'foo))
    (lambda (a . rest) rest))

evaluates to the empty list (instead of the expected "(foo)" that it
correctly evaluates to when interpreted or when compiled with 2.3).

This affects the SRFI-40 implementation for stream-filter (that's how
I came across the bug).

Alejo.
http://azul.freaks-unidos.net/
Daishi Kato | 1 Aug 03:32 2006

Re: s11n among different chicken versions

Looks like the s11n egg is updated. So I tried, only to see I'm
missing something.

Here is my fallback func:

(define (deserialize-fallback id)
  (cond ((string=? id "f_3497library.scm") ; chicken-2.315
         equal?)
        ((string=? id "f_6914extras.scm") ; chicken-2.315
         hash)
        (else
         (error "deserialize-fallback unknown id" id))))

What is missing?

Daishi

On 7/21/06, felix winkelmann <bunny351 <at> gmail.com> wrote:
> On 7/21/06, Daishi Kato <daishi <at> axlight.com> wrote:
> >
> > Does SRFI-10 keep identity?
> > In other words, how can it handle this: (let ([x (cons 1 1)]) (cons x x))
>
> No, it's just a means of extending the reader.
>
> >
> > OK, it seems s11n is easier for my purpose.
> > Although I still do not understand the internals of s11n,
> > my proposal is to allow deserialize to have an optional
> > fallback deserializer, just like serialize has an optional
(Continue reading)

Alejandro Forero Cuervo | 1 Aug 07:02 2006
Picon

Re: where do the friggin' libraries go on Unix?

> >1) set $PREFIX to /usr by default (/usr/lib *is* searched by default);
> >   that's what the Debian packaging of Chicken does.
> 
> This can be done, but does it violate a Unixen's expectations?

I think it would violate the GNU Coding Standards, that specify that
“The default value of prefix should be /usr/local”:

    http://www.gnu.org/prep/standards/standards.html#Directory-Variables

I would most certainly expect “make install” not to install anything
outside of “/usr/local” unless I've explicitly told its configure
script to.

Alejo.
http://azul.freaks-unidos.net/
felix winkelmann | 1 Aug 07:35 2006
Picon

Re: s11n among different chicken versions

On 8/1/06, Daishi Kato <daishi <at> axlight.com> wrote:
> Looks like the s11n egg is updated. So I tried, only to see I'm
> missing something.
>
> Here is my fallback func:
>
> (define (deserialize-fallback id)
>   (cond ((string=? id "f_3497library.scm") ; chicken-2.315
>          equal?)
>         ((string=? id "f_6914extras.scm") ; chicken-2.315
>          hash)
>         (else
>          (error "deserialize-fallback unknown id" id))))
>
> What is missing?
>

I haven't seen your error-message yet.
(But note that this is likely to fail, since the ID will probably be re-used
and now name different procedures. This approach is not safe).

cheers,
felix
--

-- 
http://galinha.ucpel.tche.br:8081/blog/blog.ssp
Daishi Kato | 1 Aug 07:58 2006

Re: s11n among different chicken versions

So, this actually is a correct way of using fallback, isn't it?
OK, I'll look for my real problem.
About the safety, don't worry too much, since this is just
a temporal solution, and
I already confirmed with chicken-dump that procedures in my file are
only equal? and hash.

Daishi

On 8/1/06, felix winkelmann <bunny351 <at> gmail.com> wrote:
> On 8/1/06, Daishi Kato <daishi <at> axlight.com> wrote:
> > Looks like the s11n egg is updated. So I tried, only to see I'm
> > missing something.
> >
> > Here is my fallback func:
> >
> > (define (deserialize-fallback id)
> >   (cond ((string=? id "f_3497library.scm") ; chicken-2.315
> >          equal?)
> >         ((string=? id "f_6914extras.scm") ; chicken-2.315
> >          hash)
> >         (else
> >          (error "deserialize-fallback unknown id" id))))
> >
> > What is missing?
> >
>
> I haven't seen your error-message yet.
> (But note that this is likely to fail, since the ID will probably be re-used
> and now name different procedures. This approach is not safe).
(Continue reading)

felix winkelmann | 1 Aug 08:03 2006
Picon

Re: Problem in call/values in 2.41 for compiled code

On 8/1/06, Alejandro Forero Cuervo <azul <at> freaks-unidos.net> wrote:
>
> I think I've stumbled on a bug in Chicken 2.41.  When compiled,
>
>   (call-with-values
>     (lambda () (values #f 'foo))
>     (lambda (a . rest) rest))
>
> evaluates to the empty list (instead of the expected "(foo)" that it
> correctly evaluates to when interpreted or when compiled with 2.3).
>

A bug in the optimizer:

% darcs diff c-platform.scm
499,507c499,506
< 		      (= 2 (length (third (node-parameters val))))
< 		      (let ((tmp (gensym))
< 			    (tmpk (gensym 'r)) )
< 			(debugging 'x "removing single-valued `call-with-values'"
(node-parameters val))
< 			(make-node
< 			 'let (list tmp)
< 			 (list (make-node
< 				'##core#lambda
< 				(list (gensym 'f_) #f (list tmpk) 0)
---
> 		      (let ((llist (third (node-parameters val))))
> 			(and (proper-list? llist)
> 			     (= 2 (length (third (node-parameters val))))
(Continue reading)

Brandon J. Van Every | 1 Aug 08:31 2006
Picon

Re: where do the friggin' libraries go on Unix?

Alejandro Forero Cuervo wrote:
1) set $PREFIX to /usr by default (/usr/lib *is* searched by default); that's what the Debian packaging of Chicken does.
This can be done, but does it violate a Unixen's expectations?
I think it would violate the GNU Coding Standards, that specify that “The default value of prefix should be /usr/local”: http://www.gnu.org/prep/standards/standards.html#Directory-Variables I would most certainly expect “make install” not to install anything outside of “/usr/local” unless I've explicitly told its configure script to.

CMake also defaults to /usr/local on Unix and Cygwin.  I'm not interested in overriding that behavior.  It is difficult enough to get people to swallow CMake, without it doing things that some regard as incriminating.


Cheers,
Brandon Van Every

_______________________________________________
Chicken-users mailing list
Chicken-users <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users
Brandon J. Van Every | 1 Aug 08:39 2006
Picon

Re: more Cygwin library names

Brandon J. Van Every wrote:

Ok, now I see how it's supposed to be.  cygchicken-0.dll and libchicken.dll.a.  CMake 2.4.2 doesn't have a straightforward mechanism to do this, but I think I can kludge it.  Stay tuned.

There may not be any "natural" way to do this in CMake 2.4.2.  I can generate cygchicken.dll and libchicken.dll.a.  I can generate cygchicken-0.dll and libchicken-0.dll.a.  But I can't seem to generate cygchicken-0.dll and libchicken.dll.a.

I don't know if "wholly unnatural" ways, such as manually renaming the libraries outside of the CMake build system, is prudent.  Sounds like a good way to break stuff.

Can the -0 be gotten rid of in ./configure?  It's not exactly a great version number anyways.


Cheers,
Brandon Van Every

_______________________________________________
Chicken-users mailing list
Chicken-users <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users
Kon Lovett | 1 Aug 09:32 2006
Picon

Re: mailbox changes


Hi Group,

Some changes:

the 'mailbox' egg now supports timeouts & cursors

a new egg, 'match-action', which supports success & failure handlers

a new egg, 'remote-mailbox', which provides 'mailbox-send!' over an  
IP connection.

Best Wishes,
Kon

Ian Oversby | 1 Aug 13:09 2006
Picon

chicken crashes when trying to install srfi-19

Having installed all the eggs required for srfi-19 (miscmacros, misc-extn, 
srfi-29, lookup-table, locale) chicken now crashes when trying to install 
the srfi-19 egg.

This is a vaguely recentish version of chicken from darcs (claiming to be 
version 2, build 325) on windows-mingw32 built with CMake.  I tried to build 
chicken-2.41 but the necessary cmake file is missing and I can't use darcs 
to get an up to date set of patches until later on today.

Ian

# --

C:\chicken-new>chicken-setup srfi-19
  copy .\en\srfi-19 c:\chicken-new\srfi-29-bundles\en\srfi-19
        1 file(s) copied.
  copy .\es\srfi-19 c:\chicken-new\srfi-29-bundles\es\srfi-19
        1 file(s) copied.
  copy tai-utc.dat c:\chicken-new\tai-utc.dat
        1 file(s) copied.
  c:\chicken-new\csc -feature compiling-extension -O2 -d1 -s srfi-19.scm -o 
srfi-19.dll -check-imports -emit-exports srfi-19.exports
Warning: extension `vector-lib' is currently not installed
Warning: extension `numbers' is currently not installed
*** Shell command terminated with exit status -1073741819: 
C:/chicken-new/bin/chicken srfi-19.scm -output-file srfi-19.c -dynamic 
-feature chicken-compile-share
d -quiet -feature compiling-extension -optimize-level 2 -debug-level 1 
-check-imports -emit-exports srfi-19.exports
Error: shell invocation failed with non-zero return status
"c:\\chicken-new\\csc -feature compiling-extension -O2 -d1 -s srfi-19.scm -o 
sr...
-1073741819

C:\chicken-new>

Gmane