Hi, Thanks for your interest in contributing, Alexej. Please, see some comments below.
On Thu, 13 Aug 2015 13:26:03 +0100 (BST) Alaric Snell-Pym <ala...@snell-pym.org.uk> wrote: > 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? Also, with regard to the egg-related things, be careful when calling CHICKEN tools. What would happen when you: * run "+install missing"? * run "+install" from /not/in/PATH/csi ? You'd have similar issues with the other REPL commands. With regard to hosting your egg in the CHICKEN svn, I don't see a point, since you already have your code on github. Best wishes. Mario -- http://parenteses.org/mario _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users