freenode/#clim - IRC Chatlog
Search
13:31:42
jackdaniel
damn klingon.. s/*/I've merged your changes for McCLIM website and deployed the new content./
13:33:25
scymtym
screenshot doesn't show whether i can learn klingon with transclime. 0/10 would not visit website again
13:35:45
scymtym
jackdaniel: thanks, but i think https://common-lisp.net/project/mcclim/static/manual/mcclim.html somehow didn't update properly
17:14:46
scymtym
jackdaniel: which combinations of region operations and region classes are supposed to work?
17:34:52
jackdaniel
i.e (region-difference +everywhere+ some-circle) goes beyond the defined set, because it is an unbounded region
17:35:30
scymtym
jackdaniel: hm. i made a random tester and it detects lots of problems. not easy to tell who is at fault in many cases
17:36:15
jackdaniel
either way with my "grand plan" all operations would be defined and easily found what is where
17:37:18
jackdaniel
if you look for issues there is another one for you: "generic operations" does not normalize unions, differences and intersections (but they should!)
17:37:22
scymtym
so excluding ellipses /should/ make it work? or, put differently, failures discovered when ignoring ellipses should block the merge?
17:37:54
jackdaniel
no, this pull request does not change anything (as in: if some method was lacking then it didn't change that)
17:38:21
jackdaniel
I've only added complete method set for unbounded regions and reimplemented region-contains-position-p for all regions
17:39:54
jackdaniel
what I'm saying is that region implementation is far from complete and that fact was obfuscated by the state where code was (and still is) a spaghetti
17:41:18
jackdaniel
this first PR is mostly a mechanical rewrite (with a few additions which increase the completness, not decrease it)
17:41:38
scymtym
i see. that means we can't detect regressions very well (not your fault, of course)
17:42:18
jackdaniel
yes, the only way I can think of is to compare version in master and in branch in two separate lisp images
17:45:51
jackdaniel
we could, I have also some code to interactively work with regions to see some problems
17:46:45
jackdaniel
(i.e writing numbers in the buffer is always prone to errors, because you need to calculate things in head - when you see result then it is whole other story)
17:47:43
jackdaniel
and there is a tool I wrote to see if the protocol is complete; but it is not feasible for operations with two specializable arguments
17:48:51
scymtym
the different kinds of tests complement each other. after resolving known issues using the interactive tool, random testing can be used to find edge cases
17:49:39
scymtym
why does the protocol analysis not work for operations with two parameters? i didn't understand that part
17:50:33
jackdaniel
https://files.mastodon.social/media_attachments/files/019/281/850/original/382feb0b26420f35.png here you see region-contains-position-p
17:51:33
scymtym
you don't have to draw it. you can list combinations that would signal NO-APPLICABLE-METHOD
17:52:18
jackdaniel
yes, but that won't give me much insight given that generic methods usually "catch" such situations and simply construct standard-region-{union,difference,intersection}
17:53:35
scymtym
as an aside: if we were willing to lean on CLOS even more than we already do, we could do something like this instead of (or in addition to) protocol classes: https://techfak.de/~jmoringe/traits-idea.html
17:58:34
jackdaniel
maybe it was too long day for me -- I don't understand what is written there (I've read it a few times)