Re: [Chicken-users] Optimizer bug
Sat, 04 Sep 2010 20:30:07 +0200 (CEST), hartrumpf wrote: Sat, 04 Sep 2010 12:19:48 +0200 (CEST), felix wrote: Are these redefinitions genuine or are the warnings bogus? The warnings are ok because I define the three functions myself. Can this be a problem here? To answer my own question: I removed my three redefinitions (which were intended to help the optimizer), but nothing changed. Error: (=) bad argument type - not a number: #f Call history: syntax (string-append (quote /) (quote #f)) syntax (quote /) syntax (##core#quote /) syntax (quote #f) syntax (##core#quote #f) eval(string-append (quote /) (quote #f)) syntax (string-number (quote #f)) syntax (quote #f) syntax (##core#quote #f) eval(string-number (quote #f)) -- This is during constant folding. In the compiler output lines folding constant expression:, the above string-append expression does not occur. Greetings Sven ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Optimizer bug
From: Sven Hartrumpf hartru...@gmx.net Subject: Re: [Chicken-users] Optimizer bug Date: Sun, 05 Sep 2010 10:02:46 +0200 (CEST) Sat, 04 Sep 2010 20:30:07 +0200 (CEST), hartrumpf wrote: Sat, 04 Sep 2010 12:19:48 +0200 (CEST), felix wrote: Are these redefinitions genuine or are the warnings bogus? The warnings are ok because I define the three functions myself. Can this be a problem here? This can always be a problem, since the compiler is treating these as builtin (standard-bindings) and will replace their use with his own variants. Error: (=) bad argument type - not a number: #f Call history: syntax (string-append (quote /) (quote #f)) syntax (quote /) syntax (##core#quote /) syntax (quote #f) syntax (##core#quote #f) eval(string-append (quote /) (quote #f)) syntax (string-number (quote #f)) syntax (quote #f) syntax (##core#quote #f) eval(string-number (quote #f)) -- This is during constant folding. In the compiler output lines folding constant expression:, the above string-append expression does not occur. Can you send me the output of -debug hoplite? Do you define a global constant that holds / or #\/? How is it named? cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Status of 4.5.0 vs. 4.5.7 / TinyCLOS
Hello, I'm new to Chicken, and confused as to what is the current stable release. According to the Download link at call-cc.org, the current release is 4.5.0, but in the Development snapshots, there is 4.5.7. Meanwhile, I tried to install the TinyCLOS egg, and it seems that it depends on a feature introduced in 4.5.2 (-no-procedure-checks-for-toplevel-bindings). I want to use TinyCLOS, so I'm about to install 4.5.7 in any case, but I would like to know if that means I'm on a development release. Alternatively, is there is a way of installing TinyCLOS against 4.5.0 ? Thanks in advance, Mike ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] A proposal for the egg index
Re http://wiki.call-cc.org/chicken-projects/egg-index-4.html Here's a few ideas I had. Do people think there's merit in them? 1) Alongside/under the version link for each egg, provide a browse source link to http://bugs.call-cc.org/browser/release/4/EGG/tags/VERSION or to http://bugs.call-cc.org/browser/release/4/EGG/trunk if there's no tags. Perhaps a link to /trunk as well labelled browse trunk source if there IS a tag. This will make it easy for people to dive in and see how an egg works under the hood. 2) For each egg, a link to http://wiki.call-cc.org/eggref/4/EGG/discussion or some such, to encourage user feedback, feature requests, etc. Where's the tool that generates this page live, anyway? If there's interest in either of the above, I'm happy to propose a patch. ABS -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Incremental build, tricks or tips anyone?
I am updating some old code and the build broke because chicken-config no longer exists. It took a while but I finally found that all I had to do was replace chicken-config with csc. I.e. csc -cflags in place of chicken-config -cflags. My question is, does anyone have a nicer way of doing this? I sometimes work on very weak machines such as single board computers and really appreciate build times of seconds instead of minutes when only one file has changed. src_code := laedlib tc_laedlib re-route scm_files := $(addprefix ../scm/,$(addsuffix .scm,$(src_code))) c_files := $(addprefix src/,$(addsuffix .c,$(src_code))) o_files := $(addprefix src/,$(addsuffix .o,$(src_code))) $(c_files): src/%.c: ../scm/%.scm ../scm/macros.scm chicken $ -output-file $@ $(o_files): src/%.o: src/%.c gcc -c $ `chicken-config -cflags` -o $@ $(src_code): %: src/%.o src/laedlib.o gcc src/$*.o src/laedlib.o -o $* `chicken-config -libs` ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] tinyclos fails to install ...
I don't see any options to force chicken-install to use an older version of an egg. Is my only option to either manually get the older egg or manually make a new chicken? sudo chicken-install tinyclos ... checking dependencies for `tinyclos' ... install order: (tinyclos) installing tinyclos: ... changing current directory to /tmp/chicken-install-2e0.tmp/tinyclos /usr/bin/csi -bnq -setup-mode -e (require-library setup-api) -e (import setup-api) -e (extension-name-and-version '(\tinyclos\ \\)) /tmp/chicken-install-2e0.tmp/tinyclos/tinyclos.setup /usr/bin/csc -feature compiling-extension -setup-mode tinyclos.scm -s -j tinyclos -disable-interrupts -fixnum-arithmetic -no-procedure-checks-for- toplevel-bindings -no-bound-checks -O3 -d1 csc: invalid option `-no-procedure-checks-for-toplevel-bindings' Error: shell command failed with nonzero exit status 16384 /usr/bin/csc -feature compiling-extension -setup-mode tinyclos.scm -s -j tinyclos -disable-interrupts -fixnum-arithmetic -no-procedure-checks-for- toplevel-bindings -no-bound-checks -O3 -d1 Error: shell command terminated with nonzero exit code 17920 /usr/bin/csi -bnq -setup-mode -e \(require-library setup-api)\ -e \(import s... ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] A proposal for the egg index
On Sun, Sep 05, 2010 at 10:21:35PM +0100, Alaric Snell-Pym wrote: Re http://wiki.call-cc.org/chicken-projects/egg-index-4.html Here's a few ideas I had. Do people think there's merit in them? 1) Alongside/under the version link for each egg, provide a browse source link to http://bugs.call-cc.org/browser/release/4/EGG/tags/VERSION or to http://bugs.call-cc.org/browser/release/4/EGG/trunk if there's no tags. Perhaps a link to /trunk as well labelled browse trunk source if there IS a tag. This will make it easy for people to dive in and see how an egg works under the hood. I think that could be useful. Alternatively, we could educate people about chicken-install -r I'm a little worried that the egg index would become too complex or overwhelming for first-time users though. 2) For each egg, a link to http://wiki.call-cc.org/eggref/4/EGG/discussion or some such, to encourage user feedback, feature requests, etc. That seems like a good idea, but we've had discussion pages for the entire duration of our svnwiki use, and to my knowledge nobody ever used them. Because of that I didn't build discussion pages into qwiki, since it would be just another unused feature I'd have to maintain. Where's the tool that generates this page live, anyway? I'd guess somewhere under chicken-eggs/maintenance, but I can't find it. Cheers, Peter -- http://sjamaan.ath.cx -- The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it can be an aesthetic experience much like composing poetry or music. -- Donald Knuth ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] tinyclos fails to install ...
Nevermind. I just did the following and am able to move forward: chicken-install -r tinyclos;cd tinyclos perl -pi.bak -e 's/-no-procedure-checks-for-toplevel-bindings//' *.setup chicken-install -sudo On Sunday 05 September 2010 03:24:27 pm Matthew Welland wrote: I don't see any options to force chicken-install to use an older version of an egg. Is my only option to either manually get the older egg or manually make a new chicken? sudo chicken-install tinyclos ... checking dependencies for `tinyclos' ... install order: (tinyclos) installing tinyclos: ... changing current directory to /tmp/chicken-install-2e0.tmp/tinyclos /usr/bin/csi -bnq -setup-mode -e (require-library setup-api) -e (import setup-api) -e (extension-name-and-version '(\tinyclos\ \\)) /tmp/chicken-install-2e0.tmp/tinyclos/tinyclos.setup /usr/bin/csc -feature compiling-extension -setup-mode tinyclos.scm -s -j tinyclos -disable-interrupts -fixnum-arithmetic -no-procedure-checks-for- toplevel-bindings -no-bound-checks -O3 -d1 csc: invalid option `-no-procedure-checks-for-toplevel-bindings' Error: shell command failed with nonzero exit status 16384 /usr/bin/csc -feature compiling-extension -setup-mode tinyclos.scm -s -j tinyclos -disable-interrupts -fixnum-arithmetic -no-procedure-checks-for- toplevel-bindings -no-bound-checks -O3 -d1 Error: shell command terminated with nonzero exit code 17920 /usr/bin/csi -bnq -setup-mode -e \(require-library setup-api)\ -e \(import s... ___ 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] A proposal for the egg index
Hi Alaric, The script that generates egg pages is make-egg-index.scm (found under directory scripts in the core Chicken distribution). I like the idea of linking to the source, so let's see what the egg table would look like if this link is added. Although it might make more sense to add this link to the salmonella reports page, since this would be more of interest to developers. As for the discussion, I think it is better if we keep all discussions in one place (e.g. the users mailing list). Having too many scattered places for discussion would make it more difficult to track information and questions related to one egg. -Ivan Alaric Snell-Pym ala...@snell-pym.org.uk writes: Re http://wiki.call-cc.org/chicken-projects/egg-index-4.html Here's a few ideas I had. Do people think there's merit in them? 1) Alongside/under the version link for each egg, provide a browse source link to http://bugs.call-cc.org/browser/release/4/EGG/tags/VERSION or to http://bugs.call-cc.org/browser/release/4/EGG/trunk if there's no tags. Perhaps a link to /trunk as well labelled browse trunk source if there IS a tag. This will make it easy for people to dive in and see how an egg works under the hood. 2) For each egg, a link to http://wiki.call-cc.org/eggref/4/EGG/discussion or some such, to encourage user feedback, feature requests, etc. Where's the tool that generates this page live, anyway? If there's interest in either of the above, I'm happy to propose a patch. ABS ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Incremental build, tricks or tips anyone?
Matthew, Would it be possible for you to use the make macro that is built into setup-api (and therefore chicken-install), along with 'csc -t' for example to do the translation from .c to .o, rather than manually invoking gcc? csc can also be called in a separate step to link your object files together. And you should be able to obtain the names of your source files via scheme calls. Jim On Sep 5, 2010, at 16:52, Matthew Welland m...@kiatoa.com wrote: I am updating some old code and the build broke because chicken-config no longer exists. It took a while but I finally found that all I had to do was replace chicken-config with csc. I.e. csc -cflags in place of chicken-config -cflags. My question is, does anyone have a nicer way of doing this? I sometimes work on very weak machines such as single board computers and really appreciate build times of seconds instead of minutes when only one file has changed. src_code := laedlib tc_laedlib re-route scm_files := $(addprefix ../scm/,$(addsuffix .scm,$(src_code))) c_files := $(addprefix src/,$(addsuffix .c,$(src_code))) o_files := $(addprefix src/,$(addsuffix .o,$(src_code))) $(c_files): src/%.c: ../scm/%.scm ../scm/macros.scm chicken $ -output-file $@ $(o_files): src/%.o: src/%.c gcc -c $ `chicken-config -cflags` -o $@ $(src_code): %: src/%.o src/laedlib.o gcc src/$*.o src/laedlib.o -o $* `chicken-config -libs` ___ 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] tinyclos fails to install ...
On Sep 5, 2010, at 17:24, Matthew Welland m...@kiatoa.com wrote: I don't see any options to force chicken-install to use an older version of an egg. Is my only option to either manually get the older egg or manually make a new chicken? chicken-install tinyclos:1.6.4 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] tinyclos fails to install ...
- Original message - On Sep 5, 2010, at 17:24, Matthew Welland m...@kiatoa.com wrote: I don't see any options to force chicken-install to use an older version of an egg. Is my only option to either manually get the older egg or manually make a new chicken? chicken-install tinyclos:1.6.4 Very nice. Works perfectly and of course now I see it in the help and versions are listed on the egg page.___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users