Re: [Chicken-users] Autoloading optional dependencies

2010-09-13 Thread Felix
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

2010-09-13 Thread Alaric Snell-Pym

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

2010-09-13 Thread Felix
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

2010-09-13 Thread Alaric Snell-Pym

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)

2010-09-13 Thread Jim Pryor
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

2010-09-13 Thread Jim Pryor
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

2010-09-13 Thread Mario Domenech Goulart
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

2010-09-13 Thread Felix
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

2010-09-13 Thread Peter Bex
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

2010-09-13 Thread h h
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

2010-09-13 Thread Taylor Venable
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

2010-09-13 Thread Taylor Venable
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