Re: [Chicken-users] Autoloading optional dependencies
From: Alaric Snell-Pym ala...@snell-pym.org.uk Subject: Re: [Chicken-users] Autoloading optional dependencies Date: Sun, 12 Sep 2010 21:11:45 +0100 On 09/12/10 15:49, Felix wrote: But that wouldn't work inside modules, because you would have to have access to the import library, right? If there's macros involved, yes - but then autoloading macros makes no sense as they're loaded at compile time anyway. When you set up an autoload, no compile-time loading happens (no import library, etc) so the macros from the library aren't loaded - but at run time, if you call a procedure imported from the library, then the library is run-time-loaded. When the toplevel variable passed to `autoload' refers to a module binding, then you have to import it, otherwise it refers to an undecorated toplevel variable. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Autoloading optional dependencies
On 09/13/10 07:52, Felix wrote: When the toplevel variable passed to `autoload' refers to a module binding, then you have to import it, otherwise it refers to an undecorated toplevel variable. I've just taken a look at how autoload works. Basically: (autoload foo bar) expands into something roughly like: (define bar (lambda args (require foo) (let ((tmp (global-ref foo#bar))) (set! bar tmp) (apply tmp args ...with some extra stuff in to handle conditions arising and all that. If there's anything fatally wrong with this approach, please say now, as it *seems* to be working OK for Ugarit ;-) 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
Re: [Chicken-users] Autoloading optional dependencies
From: Alaric Snell-Pym ala...@snell-pym.org.uk Subject: Re: [Chicken-users] Autoloading optional dependencies Date: Mon, 13 Sep 2010 09:40:06 +0100 On 09/13/10 07:52, Felix wrote: When the toplevel variable passed to `autoload' refers to a module binding, then you have to import it, otherwise it refers to an undecorated toplevel variable. I've just taken a look at how autoload works. Basically: (autoload foo bar) expands into something roughly like: (define bar (lambda args (require foo) (let ((tmp (global-ref foo#bar))) (set! bar tmp) (apply tmp args Oh, it already seems to take care of the module prefix. In that case, everything is fine, then. Sorry for the noise. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] Autoloading optional dependencies
On 09/13/10 10:03, Felix wrote: Oh, it already seems to take care of the module prefix. In that case, everything is fine, then. Sorry for the noise. Did you seriously think Alex might have done something WRONGLY? ;-) cheers, felix 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
Re: [Chicken-users] Metadata bugs (was: More on Packaging eggs)
Wow, thanks to kon and sjamaan for the fast turnaround on all these metadata bugs. Many are now fixed in trunk, a few even in new tags. For reference, I think these are the bugs still outstanding. But I may have missed some fixes: srfi-42 (v.1.7): meta file is missing a space after synopsis. Chicken can still parse the meta file ok, but other tools can't. For the following eggs, the needs/depends statement in the meta file doesn't fully reflect the required-extension-version statements from the setup file. (Sometimes the dependency isn't declared at all in the needs statement; sometimes the needs statement does say (needs ... foo ...) but doesn't say (needs ... (foo foo-version) ...).): mw (v0.2) ; also see below mw-core (v0.2.1) ; also see below srfi-27-reference ; also see below abnf (v3.3) apropos (v1.4.2) internet-message (v4.1) internet-timestamp (v2.0) json-abnf (v3.0) neuromorpho (v1.8) Three of the eggs listed above have additional problems: mw-core (v0.2.1) ; setup file has (include setup-helper) but setup-helper isn't declared in (needs ...) mw (v0.2) ; setup file has (include setup-helper) but setup-helper isn't declared in (needs ...) srfi-27-reference ; setup file has (include setup-helper) but setup-helper isn't declared in (needs ...) -- Jim Pryor prof...@jimpryor.net ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] More on Packaging eggs
I'm confused by some of the version numbering in the egg repo. I know there's no uniform reporting of this in the metadata, but even allowing for that, these two facts still confuse me. The peep egg has a tags/ directory. The latest tag is 0.2.2. However installing peep v.0.2.2 then doing chicken-status reports peep at version 0.3. The loop egg has a tags/ directory. The only tag is 0.2. However, installing loop 0.2 then doing chicken-status reports loop at version 1.2. When I say I install peep at v.0.2.2 I mean I do wget http://chicken.kitten-technologies.co.uk/henrietta.cgi?name=peepversion=0.2.2 and then manually unchunk the blob it sends me, and then do chicken-install from the directory I've unchunked to. Similarly for loop. I expect doing `chicken-install peep:0.2.2` would give the same behavior, but I haven't verified that. -- Jim Pryor j...@jimpryor.net ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] More on Packaging eggs
Hi Jim On Mon, 13 Sep 2010 08:57:39 -0400 Jim Pryor lists+chic...@jimpryor.net wrote: I'm confused by some of the version numbering in the egg repo. I know there's no uniform reporting of this in the metadata, but even allowing for that, these two facts still confuse me. The peep egg has a tags/ directory. The latest tag is 0.2.2. However installing peep v.0.2.2 then doing chicken-status reports peep at version 0.3. The loop egg has a tags/ directory. The only tag is 0.2. However, installing loop 0.2 then doing chicken-status reports loop at version 1.2. Those are bugs. The version indicated by the .setup file doesn't match the one indicated by the tag directory. Best wishes. Mario -- http://parenteses.org/mario ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] More on Packaging eggs
From: Mario Domenech Goulart mario.goul...@gmail.com Subject: Re: [Chicken-users] More on Packaging eggs Date: Mon, 13 Sep 2010 09:02:47 -0400 Hi Jim On Mon, 13 Sep 2010 08:57:39 -0400 Jim Pryor lists+chic...@jimpryor.net wrote: I'm confused by some of the version numbering in the egg repo. I know there's no uniform reporting of this in the metadata, but even allowing for that, these two facts still confuse me. The peep egg has a tags/ directory. The latest tag is 0.2.2. However installing peep v.0.2.2 then doing chicken-status reports peep at version 0.3. The loop egg has a tags/ directory. The only tag is 0.2. However, installing loop 0.2 then doing chicken-status reports loop at version 1.2. Those are bugs. The version indicated by the .setup file doesn't match the one indicated by the tag directory. My bad. Will fix. Sorry. cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] CHICKEN release 4.6.0
On Mon, Sep 13, 2010 at 02:45:22PM +0900, Ivan Raikov wrote: Hi all, CHICKEN 4.6.0 has been released and is available at the following URL: http://code.call-cc.org/releases/4.6.0/chicken-4.6.0.tar.gz The changes in this release are described in the NEWS file available here: http://code.call-cc.org/releases/4.6.0/NEWS Congratulations on another fine release! Attention all pkgsrc users: The lang/chicken package has been updated to 4.6.0 :) 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] CHICKEN release 4.6.0
That's really nice. It's also a programmer's day[1] in Russia. [1] http://en.wikipedia.org/wiki/Programmers%27_Day 2010/9/13 Peter Bex peter@xs4all.nl On Mon, Sep 13, 2010 at 02:45:22PM +0900, Ivan Raikov wrote: Hi all, CHICKEN 4.6.0 has been released and is available at the following URL: http://code.call-cc.org/releases/4.6.0/chicken-4.6.0.tar.gz The changes in this release are described in the NEWS file available here: http://code.call-cc.org/releases/4.6.0/NEWS Congratulations on another fine release! Attention all pkgsrc users: The lang/chicken package has been updated to 4.6.0 :) 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 ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] More on Packaging eggs
On Mon, Sep 13, 2010 at 9:02 AM, Mario Domenech Goulart mario.goul...@gmail.com wrote: Those are bugs. The version indicated by the .setup file doesn't match the one indicated by the tag directory. We had this problem with the packaging system I wrote for work; there we have a scanning program that I run periodically to e.g. verify that things like this match up (the Subversion location to the recipe version as we say). It can even attempt to use Subversion to find out who is responsible so they can be notified. I can reinvent that for the Egg repository if people think that would be useful. :-) -- Taylor C. Venable http://metasyntax.net/ ___ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] More on Packaging eggs
On Mon, Sep 13, 2010 at 7:44 PM, Taylor Venable tay...@metasyntax.netwrote: On Mon, Sep 13, 2010 at 9:02 AM, Mario Domenech Goulart mario.goul...@gmail.com wrote: Those are bugs. The version indicated by the .setup file doesn't match the one indicated by the tag directory. We had this problem with the packaging system I wrote for work; there we have a scanning program that I run periodically to e.g. verify that things like this match up (the Subversion location to the recipe version as we say). It can even attempt to use Subversion to find out who is responsible so they can be notified. I can reinvent that for the Egg repository if people think that would be useful. :-) -- Taylor C. Venable http://metasyntax.net/ I went ahead and threw together a little program just to see if I could do it quickly; it turned out to be a fun exercise. It's on my Mercurial at http://bitbucket.org/taylor_venable/metasyntax/src/tip/Programs/egg-scan.scm The results (filtered out to show mismatches that the program can detect - anything resulting from defining and then using a variable for the version would currently go unnoticed) are attached. -- Taylor C. Venable http://metasyntax.net/ Error: sdl version mismatch - expected 0.5.0found v0.4.51117.5 Error: sdl version mismatch - expected 0.5.1found v0.5.1 Error: peepversion mismatch - expected 0.2.2found 0.3 Error: imlib2 version mismatch - expected 0.7 found 0.6 Error: utf8version mismatch - expected 3.1.0found 3.0.0 Error: srfi-42 version mismatch - expected 1.61 found 1.6 Error: lalrversion mismatch - expected 2.3.1found 2.3.0 Error: setup-helperversion mismatch - expected 1.1.0found 1.0.0 Error: srfi-41 version mismatch - expected 1.0.2found 1.0.0 Error: srfi-41 version mismatch - expected 1.0.1found 1.0.0 Error: srfi-41 version mismatch - expected 1.0.3found 1.0.0 Error: chicken-doc-admin version mismatch - expected 0.3.9found 0.3.8 Error: php-s11nversion mismatch - expected 1.0.2found 1.0.1 Error: sandbox version mismatch - expected 1.6 found 1.41 Error: npdiff version mismatch - expected 1.11 found 1.1 Error: npdiff version mismatch - expected 1.10 found 1.1 Error: linenoise version mismatch - expected 0.2 found 0.1 Error: format-textdiff version mismatch - expected 1.5 found 1.6 Error: syslog version mismatch - expected 1.0 found 0.1 Error: http-sessionversion mismatch - expected 2.0 found 2.0.0 Error: uri-generic version mismatch - expected 1.10 found 1.1 Error: qt version mismatch - expected 0.100found 0.1 Error: fmt version mismatch - expected 0.700found 0.7 Error: fmt version mismatch - expected 0.520found 0.52 Error: interp1dversion mismatch - expected 1.10 found 1.1 Error: dictversion mismatch - expected 2.1 found 2.0 Error: foreigners version mismatch - expected 1.1 found 1.0 Error: svn-client version mismatch - expected 0.11 found 0.10 Error: unitconvversion mismatch - expected 1.8 found 1.7 Error: sendfileversion mismatch - expected 1.6.0found 1.5.2 Error: z3 version mismatch - expected 1.40 found 1.4 Error: lru-cache version mismatch - expected 0.5.2found 0.5 Error: lru-cache version mismatch - expected 0.5.1found 0.5 Error: html-form version mismatch - expected 1.2.1found 1.2 Error: specialized-io version mismatch - expected 1.1 found 1.0 Error: json-abnf version mismatch - expected 3.0 found 1.3 Error: elliptic-curves version mismatch - expected 1.0.1found 1.0.0 Error: sqlite3 version mismatch - expected 3.3.0found 3.2.1 Error: loopversion mismatch - expected 0.2 found 1.2 Error: matrix-utilsversion mismatch - expected 1.10 found 1.1 Error: check-errorsversion mismatch - expected 1.1.0found 1.0.0 Error: check-errorsversion mismatch - expected 1.4.0found 1.0.0