|
|
|
|
|
by frig
6036 days ago
|
|
I like the look of it. Am I correct that the order the statements are in translates into the order things are evaluated in when the code is called? If eg I edited it to be: do { l <- locations;
w <- widgets;
guard (l `hasInStock` w);
s <- sprockets;
guard (l `hasInStock` s);
guard (w `isUsableWith` s);
return (w,s,l); }
Does that force it to go through "location-first" and only check the w and s of (w,s,l) for compatibility if it has already ascertained that w and s are in stock @ l? |
|