Hi All, I work for a university and I've been commissioned to write a program that proves whether majors can be reasonably completed in 4 years. core.logic has seemed the obvious tool. The output should be a set of scheduled course-offerings satisfying major requirements, course-prereqs, etc. It looks like CLP(Set) is still on the wishlist. Could someone point me to the current best-practice for faking sets? The obvious thing seem to use membero operations on some list L while declaring (distincto L) and forcing an ordering so you get combinations instead of permutations. I'm sure there's a better way than (pred L #(= % (some-sort-function %)). If that's the way it's gotta be, then I suppose you'd sort on the object IDs to be generic. (I recall somewhere seeing a function returning unique IDs for Clojure objects.)
A further goal would be to output workable education plans without any superfluous courses. I have constraints like "6 credits from any of courses A, B, C, D..." In that case if course A is 4 credits and course B is 3 credits, then you want [A B] represented in the solution (one more than the six credits required; but both are necessary) but you don't want [A B C] for some course C (two courses enough and the third is noise). The ideas I have for that seem kind of brute-force. Is there a built in behavior for this I might not be aware of? The more I think of it, the more complicated this kludge seems to get. Am I barking up the wrong tree? Best, Nathan -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.