Cassowary anyone?!

Roel Wuyts roel.wuyts at
Mon Jan 13 11:34:44 UTC 2003

I ended up using 'Eclipse' ( 
(nothing to do with the IBM open source IDE), a constraint logic 
programming language. Quite nice for what I had to do with it. I can 
show it when you come round :-)

On Friday, January 10, 2003, at 08:28 PM, Andreas Raab wrote:

> Roel,
> Thanks this is helpful information. Yes, I _really_ want to have
> constraint violations be noticable since otherwise the user won't be
> able to react to them (if only by removing the last constraint - I
> really don't care; the important part is to give feedback that "this
> won't work"). BTW, what constraint solver did you end up using?!
> Cheers,
>   - Andreas
>> -----Original Message-----
>> From: Roel Wuyts [mailto:roel.wuyts at]
>> Sent: Friday, January 10, 2003 5:09 PM
>> To: Andreas Raab
>> Cc: squeak-dev lists.squeakfou
>> Subject: Re: Cassowary anyone?!
>> I used Cassowary for checking/finding task schedules. In the end I
>> chose another solver (not in Smalltalk) exactly for the reasons you
>> mentioned: constraint violations are not shown, so it is hard to see
>> what exactly is going on. Sometimes a constraint is preferred over
>> another one (of the same priority) for a reason which is not clear.
>> Then you end up with a network in which one constraint is satisfied,
>> and another one of the same priority is not. In the application for
>> which I wanted to use Cassowary this was not acceptable. Note that if
>> the constraint is 'required' (the highest setting), then such a
>> situation cannot rise: if it cannot be satisfied, an exception is
>> thrown. So I ended up using Cassowary as though it had no constraint
>> hierarchies at all... and then I could better use another
>> solver. With
>> a bit of more time I would have looked at it (I implemented a
>> constraint solver before on top of Soul), but time is absolutely a
>> scarce resource at the moment.
>> PS: I noticed that this mail is not very clear, depending on your
>> knowledge of Cassowary. Just contact me for more info or the code of
>> the experiments I did.
>> On Thursday, January 9, 2003, at 08:11 PM, Andreas Raab wrote:
>>> Josh,
>>> Thanks - by now I got various copies from people (thanks to all of
>>> you!)
>>> but this is the kind of thing that really _ought_ to be on SqueakMap
>>> (hint, hint!).
>>>> What are you thinking of doing with it?
>>> I'm looking into different ways of end-user friendly
>> specification of
>>> "object compositions" (aka: layouts). Since I know that
>> Cassowary was
>>> used for CSVG and other things I was wondering if it might be a good
>>> starting base for some more end-user friendly model than we
>> have right
>>> now.
>>> This problem bugged me for a long time now - the AlignmentMorph's in
>>> Squeak used to require compositions of compositions of
>> compositions of
>>> nested things and they just got in the way of "seeing the
>> thing you are
>>> interested in" (namely some object of the composition). So
>> I tried to
>>> generalize this into the layouts we have today but while
>> they are more
>>> general they are also much harder to understand (lots of
>> very generic
>>> properties with lots of unclear compositional effects).
>>> So what I am essentially looking for is some way of
>> specifying "lots of
>>> dog-simple constraints" (like: make the left edge of one
>> guy follow the
>>> right edge of some other guy) and provide some interactive means for
>>> specifying it - so that rather than having a set of generic
>> properties
>>> the user gets a (possibly large) number of very concrete
>>> mini-constraints. Those need to be solved efficiently and
>> that's when I
>>> got into thinking about the various constraint solvers.
>>> BTW, do you know if Cassowary can give feedback about
>> constraints that
>>> cannot be resolved (perhaps even potentially)?! I'm
>> interested in this
>>> because what I would like to do is give constant feedback about the
>>> composition you are building - so that when you add a
>> constraint which
>>> "won't work" the system could indicate this by some means.
>>> Cheers,
>>>   - Andreas
>>>> -----Original Message-----
>>>> From: squeak-dev-admin at
>>>> [mailto:squeak-dev-admin at] On
>>>> Behalf Of Joshua 'Schwa' Gargus
>>>> Sent: Thursday, January 09, 2003 7:32 PM
>>>> To: Andreas Raab; Squeak Mailing List
>>>> Subject: Re: Cassowary anyone?!
>>>> Hi Andreas,
>>>> My message to the list seems to have been lost, so I'm resending
>>>> to you and the list.
>>>> You can get Cassowary from:
>>>> What are you thinking of doing with it?
>>>> Joshua
>> Roel Wuyts                                                   Software
>> Composition Group
>> roel.wuyts at                       University of Bern,
>> Switzerland
>> Board Member of the European Smalltalk User Group:
Roel Wuyts                                                   Software 
Composition Group
roel.wuyts at                       University of Bern, 
Board Member of the European Smalltalk User Group:

More information about the Squeak-dev mailing list