
Show HN: A pure Swift port of the Cassowary linear constraints solver - andybest
https://github.com/tribalworldwidelondon/CassowarySwift
======
Someone
Nice API.

Nitpick: you even ported the license from kiwi-java :-)

"Neither the name of _kiwi-java_ nor the names of its contributors may be used
to endorse or promote products derived from this software without specific
prior written permission."

~~~
andybest
I'm actually unsure how it works when making a derivative work like this,
because the license has the following statement: "Redistributions of source
code must retain the above copyright notice, this list of conditions and the
following disclaimer." Surely changing the name in the conditions would
_technically_ be changing the conditions themselves? Maybe I'm just worrying
too much ;)

------
indemnity
Nice! Have you done any performance comparisons to C++ kiwi?

Question: Any reason you manually added backing fields for properties instead
of using _private(set) var name: Type_ , for example? Since the latter has the
effect of making it a _let_ property outside of the class (cannot mutate an
array exposed like this from the outside, for example).

~~~
andybest
I haven't done any performance comparisons yet, unfortunately. I'm still
working on improving the codebase to make it more Swifty. The backing fields
are a leftover from the original Java implementation, and I didn't want to
change too much initially, but now I have a bunch of tests and am using it in
another project (a PDF generation library), I will start to make these changes
:)

------
nixarn
Awesome work!

