Re: [Chicken-users] read / write floats
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
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
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
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
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
-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
-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
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