Hi Martin,

just a quick comment on your code. First of all, I am positively 
surprised that you have added some comments why you did something this 
way and also that you added a number of other comments and descriptions 
for the functions and domains. You are getting closer to LP ;-).

The book
@Book{Ruskey:CombinatorialGeneration:2003,
   author =      {Frank Ruskey},
   title =       {Combinatorial Generation},
   year =        2003,
}
is missing the publisher. The "publisher" field is a *must* for a book 
bibtex entry.

My first impression is that you added a lot of "Multi..." domains. I 
hope that we can somehow avoid to always having two domains (one with 
Multi and one without it). Without going into details, I would rather 
like to see that "Multi"-business, naturally incorporated with 
"structures" and "isomorphismTypes".

I understand that you somehow want a more efficient datastructure for 
integer partitions, but if that is all, then it is not worth the trouble.

I have reasons to avoid an extra IsomorphismType domain/category.

1) It makes the code more complicated.

2) you don't gain anything if you work with decomposable structures
(Look at how you build the IsomorphismType for Plus and Times.)

3) Already now we have a problem with our data structures. Suppose 
someone constructs a complicated domain (like, for example, our famous 
trees). If one wants to do something interactively with them, then it is 
necessary to coerce from Tree to some List of Lists or to something 
else. We should first think about how we could give the user a way to 
manipulate (labelled) structures before we make the code more 
complicated and introduce yet another type (which basically looks like 
the whole stuff we have in trunk, but only with a multiset input).

Martin, I'd find it quite useful if you could add the date in your mrx 
environment. Thanks.

Put

(defun rhx-date nil
   "Inserts  todays date like 06-Jul-2003 into buffer."
   (interactive)
   (let ((ctime-string (current-time-string)))
     (string-match
      "^\\S-+\\s-+\\(\\S-+\\)\\s-+\\(\\S-+\\)\\s-+\\S-+\\s-+\\(\\S-+\\)"
      ctime-string)
     (let ((year (substring ctime-string (match-beginning 3) (match-end 3)))
          (month (substring ctime-string (match-beginning 1) (match-end 1)))
          (day (substring ctime-string (match-beginning 2) (match-end 2))))
       (if (> 2 (length day)) (setq day (concat "0" day)))
       (insert (format "%s-%s-%s" day month year)))))

into your .emacs and bind it to a key like...

(global-set-key [(control f1)] 'rhx-date)

so you just have to press C-F1.

Best regards
Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to