On Tue, Oct 30, 2012 at 1:11 PM, Anthony Rosequist < anthony.rosequ...@gmail.com> wrote:
> I'm playing around with core.logic, and have this code so far: > > https://gist.github.com/3981557 > > There are 2 people and 3 tasks. Each task has a start time (you can't > start the task until this time or later), and end time (you must finish the > task by this time), and a duration (how long it takes to perform the task). > Time is just an integer. > > My answer includes 3 vectors of the form: [task-id, person-id, start-time, > end-time], where person-id is the person doing the task, and > start-time/end-time are when the task was done (must fall within the start > and end times of the task). > > I have two goals: one of them ensures that the second element of each > vector is a person, and the other ensures that the times are correct. > > Now, I want to prevent the same person from doing two tasks at the same > time. In other words, for any two vectors in the result, either the > person-id must be different or the start/end times must not overlap. > > I've tried some things (using conde, !=, and <=fd), and can't seem to get > it to work. Is this easy to do? Am I going about this entire problem the > wrong way? > > Also, how can I make time-intervalso (or any of my code) look better? It > doesn't look nearly as elegant as the core.logic code I've seen elsewhere. > Looks fun! :) I'll give seem feedback later today. David -- 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