On Wed, 12 Aug 2015, Alexej Magura wrote:
Hey, I've got a new egg that I'm working on:
https://github.com/amagura/eggs/tree/master/staging/missing/trunk
Excellent! May I offer some tips?
1+ and 1- duplicate add1 and sub1, which are already in the library:
http://api.call-cc.org/doc/library/add1
What is !* supposed to do? Using eval like that is most likely not a good
idea. Should you be using apply instead? Something like "(not (apply fn
...))"?
Rather than using a "settings" alist (note that mutation of things
imported from modules is not a great idea!), it would be more idiomatic to
use parameters:
http://api.call-cc.org/doc/chicken/parameters
Eg, export a paremter called "egg-actions-need-sudo" that's initialised to
#f, and use the value of that in +install etc. That avoids mutation, and
lets you safely override things locally (particularly in the presence of
threads).
This is a broad mixture of things to put into one egg, especially one
claiming such a fine name as "missing" :-) It might be good to split the
install/uninstall/upgrade stuff into an eggs egg, submit do* and setq for
inclusion in miscmacros, and decide if you really need to publish the
logic stuff, which seem less widely useful to me?
Thanks & have fun,
ABS
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users