freenode/#clim - IRC Chatlog
Search
7:34:38
loke
That part of the code is probably just a few tens of lines of code though so it can easily be replaced.
7:35:32
loke
Thing is, one of the reasons that repainting is slower for me is that I draw every grapheme cluster individually.
7:41:25
jackdaniel
technically speaking you may put gadgets there and specialize handle-event for pointer clicks, but you do not want that
7:41:58
loke
Note that even when I switch to output history, I will still have to track and manage directly which elements are vidible on the screen.
7:42:17
loke
I can't create output records for every grapheme in the file. Imagine a multi-MB files...
7:44:23
loke
beach: so you suggest tracking the output records for a given libne together with that line's content?
7:45:26
beach
loke: If there is nothing particular on a line other than text, you make a single output record for an entire line.
7:46:07
jackdaniel
so if you can do anything you want; and you want to do the right thing; then do the right thing ,)
7:46:39
jackdaniel
because by means of variable substitution with 'anything' we have "I know I can do the right thing (I want)" ^_^
7:47:10
loke
I'm still not sure what the irght thing is :-) But, I will keep playing around with this until I have something that works.
7:56:21
ralt
beach: sorry for the long delay in replying. I wasn't sure what CLIM was. My experience with it was the listener, which looked very cool, but didn't quite get the point across that CLIM was a GUI library. Additionally, I was also seeing everyone else use CommonQt and friends, and not many people using CLIM, if any. So I wasn't sure exactly of what I was looking at.
7:58:07
jackdaniel
(bulk of the issue solving likes on QT developer shoulders, of course getting bindings and their api correct and practrical is also a big task)
7:58:50
beach
ralt: Even if jackdaniel is right, I think it is worthwhile trying McCLIM if you have a project in mind that needs a GUI. The more people use it, the faster the remaining issues can be resolved.
8:35:45
scymtym
coincidentally, i just added the following nikodemus quote in my website-changes merge request: "Some people swear it is the best thing since sliced bread, and some people think sliced bread is better for building GUIs then it is."
8:36:01
scymtym
jackdaniel: the merge request is https://gitlab.common-lisp.net/mcclim/mcclim-website/merge_requests/1
8:42:21
scymtym
ACTION believes self-deprecating humor and an having-nothing-to-prove attitude works best with CL
8:43:24
jackdaniel
I agree (I like the quote "McCLIM, the stuff that really boring dreams are made of.")
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)