Re: [Chicken-users] read / write floats

2007-08-26 Thread Ivan Raikov

  In that case, perhaps a note about using eggs with different but
compatible licenses should be included in the FAQ, or along with the
main Chicken license. It's just that I had never seen this issue
raised before -- and certainly there are better ways to raise it. Let
us shake hands and move on, indeed -- I am in the process of changing
my unit tests from using the LPGL-ed testeez egg to using the BSD-ed
testbase egg.


-Ivan


Zbigniew [EMAIL PROTECTED] writes:

 The Chicken core and the vast majority of eggs are BSD or MIT
 licensed; only 43 of 364 eggs are GPL.  It is not unreasonable to
 point this out, in case a new user is unaware that different eggs come
 with a wide variety of licenses (unlike some more homogeneous
 languages).  I did not interpret Kon's remark as attacking the GPL
 license in general nor your choice to use it in particular.  Let us
 shake hands and move on.



___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] read / write floats

2007-08-26 Thread Gábor Balázs
Licence is not a problem for me yet, because this software
is not for commercial use. I just do not like side effects when
they should not happen, even if they are not crucial at the moment.
The worst thing when they become crucial later.

I don't see the benefit of this standard deviation of chicken scheme.
If one says it is about performance, I can say scheme's text based
read/write is far from the performance what binary I/O can provide.
The real benefit of read/write is simplicity and portability.

This latter is lost in our case now. I think read/write is so basic,
the simplest code modules written first for chicken have side
effects or (with using special eggs) become unportable to other
scheme implementations.

My opinion is that any reasonable scheme implementation
should follow the standard first, and extend it second.

`bg`

On 26/08/07, Ivan Raikov [EMAIL PROTECTED] wrote:


   In that case, perhaps a note about using eggs with different but
 compatible licenses should be included in the FAQ, or along with the
 main Chicken license. It's just that I had never seen this issue
 raised before -- and certainly there are better ways to raise it. Let
 us shake hands and move on, indeed -- I am in the process of changing
 my unit tests from using the LPGL-ed testeez egg to using the BSD-ed
 testbase egg.


 -Ivan


 Zbigniew [EMAIL PROTECTED] writes:

  The Chicken core and the vast majority of eggs are BSD or MIT
  licensed; only 43 of 364 eggs are GPL.  It is not unreasonable to
  point this out, in case a new user is unaware that different eggs come
  with a wide variety of licenses (unlike some more homogeneous
  languages).  I did not interpret Kon's remark as attacking the GPL
  license in general nor your choice to use it in particular.  Let us
  shake hands and move on.
 


 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/chicken-users

___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] syntax-case and #!rest, second attempt

2007-08-26 Thread mark
Thanks, Zbigniew. I indeed figured out the renaming of #!rest before
Chicken sees it. But I didn't think of the hack and I'll give it a try
soon. However, it is not a nice solution and my guess would be that the
syntax-case egg should have a build in exception for the #!key and #!rest
keywords, so that they will not be renamed. I have no clue how to do that
at this moment though.

Cheers,
Mark


 Mark,

 The #!rest syntax is supported directly by Chicken and it appears the
 extra indirection involved in syntax-case is causing the #!rest
 keyword to be renamed before Chicken sees it (as you've probably
 surmised).  I do not know an easy way to fix this offhand, although
 some syntax-case wizard might.  However, you might wish to try the
 horrible hack below, which may work in a limited fashion.

 (define-syntax test
  (lambda (x)
(syntax-case x (#!rest)
  ((_ (name arg ... #!rest r) e0 e1 ...)
   (syntax
(define (name arg ... . r)
  e0 e1 ...)))
  ((_ (name ...) body ...)
   (syntax
(define (name ...)
  body ...))

 On 8/25/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 Folks,

 Since I'm still having problems with syntax-case and rest arguments, I
 have devised the following example which hopefully makes my problem
 clear:

 (define-syntax test
   (lambda (x)
 (syntax-case x ()
   ((_ (name ...) body ...)
(syntax
 (define (name ...)
   body ...))





___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] read / write floats

2007-08-26 Thread Thomas Christian Chust
Gábor Balázs wrote:

 [...]
 I don't see the benefit of this standard deviation of chicken scheme.
 If one says it is about performance, I can say scheme's text based
 read/write is far from the performance what binary I/O can provide.
 The real benefit of read/write is simplicity and portability.
 [...]

Hello,

the problem here is that CHICKEN uses standard C library routines to
print floating point numbers as decimal strings and using those it is
not possible to portably reproduce the full precision of every numbers
on every system. Whether the internal and textual external
representation of a floating point number are considered equal depends
on the number of digits printed, the precision of the processor's
floating point registers and the details of how the processor performs
rounding.

I think it is generally a bad idea to rely on equality checks for
floating point numbers in portable code. It is probably far better to
check whether the distance between the two number in question is small.

However, your problem may possibly be fixed by editing the file
runtime.c of the CHICKEN sources, increasing the value of the constant
FLONUM_PRINT_PRECISION (~16 digits for 64bit IEEE floating point systems
should be sufficient) and recompiling CHICKEN.

cu,
Thomas


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Re: testbase use

2007-08-26 Thread Kon Lovett


On Aug 25, 2007, at 11:16 PM, Ivan Raikov wrote:




nip

 Let
us shake hands and move on, indeed -- I am in the process of changing
my unit tests from using the LPGL-ed testeez egg to using the BSD-ed
testbase egg.


While I think the documentation for 'testbase' is comprehensive it is  
lacking in examples of the more obscure (native?) features. One must  
also read the 'testbase-driver' documentation, which covers the test  
environment configuration language. Until I get more time (or more  
users) please see my eggs for real-world examples of 'testbase' use.


Best Wishes,
Kon




-Ivan


snip


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] syntax-case and #!rest, second attempt

2007-08-26 Thread Kon Lovett

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Aug 26, 2007, at 7:16 AM, [EMAIL PROTECTED] wrote:


Thanks, Zbigniew. I indeed figured out the renaming of #!rest before
Chicken sees it. But I didn't think of the hack and I'll give it a try
soon. However, it is not a nice solution and my guess would be that  
the
syntax-case egg should have a build in exception for the #!key and  
#!rest
keywords, so that they will not be renamed. I have no clue how to  
do that

at this moment though.

Cheers,
Mark


First, apologies for not getting back to you. I got side-tracked.  
Zbigniew's response is what I meant by specify them as literals in  
every 'syntax-rules'  'syntax-case' transformer.


You are correct that the 'psyntax' port for Chicken is incomplete in  
support for Chicken features. I am currently working on it. However,  
I cannot promise the DSSSL keywords soon, but I will add it to the  
ToDo list.


Best Wishes,
Kon

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Darwin)

iEYEARECAAYFAkbRlQ4ACgkQJJNoeGe+5O6uPgCfcdwMDR+F8/n2QNy7y4wJg9S0
aFwAnis7tPdadsRpqpfZouYfrQwGjHgd
=3pss
-END PGP SIGNATURE-


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] read / write floats

2007-08-26 Thread Kon Lovett

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On Aug 26, 2007, at 2:42 AM, Gábor Balázs wrote:


Licence is not a problem for me yet, because this software
is not for commercial use. I just do not like side effects when
they should not happen, even if they are not crucial at the moment.
The worst thing when they become crucial later.

I don't see the benefit of this standard deviation of chicken scheme.
If one says it is about performance, I can say scheme's text based
read/write is far from the performance what binary I/O can provide.
The real benefit of read/write is simplicity and portability.


I  agree. Up till now the lack of inexact read/write invariance was  
not a problem people hit. But, w/ the Chicken user community growing  
the standards issues we have been overlooking are becoming the  
elephant in the room.


I cannot promise anything, except to open an enhancement ticket.



This latter is lost in our case now. I think read/write is so basic,
the simplest code modules written first for chicken have side
effects or (with using special eggs) become unportable to other
scheme implementations.

My opinion is that any reasonable scheme implementation
should follow the standard first, and extend it second.


Well, maybe. But the author never claimed to support R5RS, only a  
subset.


Best Wishes,
Kon



`bg`


snip

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Darwin)

iEYEARECAAYFAkbRlw0ACgkQJJNoeGe+5O5BNACfXUvlBdkKSHeNK/Fm59DWZ0Vu
Vk0AnjThdbMqCRkexS/b3fWPT1e/5WPP
=WrV9
-END PGP SIGNATURE-


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Bug in chicken-2.636

2007-08-26 Thread Zbigniew
Hi there.

There was a change made to the blob-handling code in SVN r5529
(2007-08-19) which caused this error.  You cannot build 5529 or later
unless you already have a pretty recent compiler installed for the
bootstrap phase.  I don't know exactly how recent yet, but it's
definitely sometime after the 2.613 snapshot.

Please do one of these two things, and let me know if it works:
1) Grab a recent compiler such as r5361 from SVN, using your existing
Chicken 2.6 install to build it, install it, and then you will be able
to build the latest compilers.

2) Grab a recent working development snapshot [*], build and install
that, and use it to build the latest compilers.

* http://chicken.wiki.br/dev-snapshots/2007/08/19/chicken-2.635.tar.gz

On 8/24/07, Benedikt Rosenau [EMAIL PROTECTED] wrote:
 Hello,


 After installing, everything seems to give the error message:

 `##sys#error-hook' is not defined - the `library' unit was probably not 
 linked with this executable - execution terminated
Benedikt


 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/chicken-users



___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users