chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Re: [ANN] New egg: Object-relation mapper Pandora


From: Thomas Chust
Subject: Re: [Chicken-users] Re: [ANN] New egg: Object-relation mapper Pandora
Date: Thu, 20 Aug 2009 20:38:39 +0200

2009/8/20 Peter Bex <address@hidden>:
> [...]
> Why not make the parameters argument to the 'execute message optional?
> It can default to the empty list.  This would make for less typing.

Hello,

this is a good idea. I changed the signatures for the 'execute and
'fold methods accordingly.

> [...]
> The *.import.scm files can be deleted from version control.  Your setup
> file already generates them with the -j switch, which means they are
> overwritten every time pandora is compiled.

No, they shouldn't be deleted and no, they are not generated by the
setup script!

The setup script only creates import libraries for Pandora and its
backends, but the two import libraries that are bundled in the egg are
for the PostgreSQL and SQLite3 binding eggs and are used by the
compiler in case those libraries are not installed to generate correct
code for the Pandora backends nevertheless. This is due to the fact
that chicken will only issue a warning during compilation if a
require-library referencing an unknown extension is encountered, but
an import referencing an unknown module is a hard error.

I admit that this use of import libraries in unorthodox, but it should
not be problematic unless the names of the procedures imported ad used
from the database driver eggs change, in which case the Pandora
backends have to be adapted anyway.

> [...]
> I think the html and egg.jpg files can also be removed from version
> control; the egg image is available in the directory which holds all the
> documentation html files.  This way, every egg does not need to have
> the same copy of the same file (and the file can be replaced easily in
> one spot). The html file is supposed to be auto-generated by Henrietta,
> the CGI program that chicken-install uses to download eggs.
> The (eggdoc "doc.scm") form in pandora.meta tells it to do so.

Well, it may be duplication, and it may not be very important that the
egg image is displayed, but the image certainly is not present in the
central documentation directory by default and it is not that big that
it bloats the egg download very much.

Does anybody else feel strongly that the image should really not be
kept inside the egg? If yes, I can remove it. I can always make a
local copy for myself in CHICKEN's documentation directory ;-)

As far as the HTML documentation generation is concerned, I only trust
the HTML file I have generated myself ;-) Experience shows that nearly
every egg for CHICKEN 4 comes *without* any locally installable
documentation, probably because the automatic generation and/or
bundling with the rest of the egg doesn't work. I also like to keep
the HTML files under version control, even though they are generated,
because I want to be able to exactly reproduce the files that went
into a specific tagged version of the egg, if necessary.

> [...]
> Finally, why do you have a Makefile in your tree?  chicken-install
> can install the egg using the .setup file, there's no need for this
> build recipe duplication.  Having a Makefile generate the setup file
> is weird!

Hmm, the Makefile generating the .setup file was the easiest way I
could think of to spare myself from having to change version numbers
and compiler flags in more than one place. The Makefile is also
convenient to regenerate the HTML documentation and to package up an
.egg file for my own website. What's so weird about saving work in the
development and build process using a Makefile?

> [...]
> I hope my nitpicking isn't too annoying ;)
> [...]

As long as I'm allowed to defend my weird coding practices against the
nitpicking, that's fine with me ;-)

Ciao,
Thomas


-- 
When C++ is your hammer, every problem looks like your thumb.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]