libera/#clim - IRC Chatlog
Search
16:36:54
jackdaniel
ck_: could you provide the first call before the recursion starts? preferably with parameters
16:48:42
ck_
you mean the XS and YS? sure, I'll have to recreate the debugging state first because I accidentally closed it while looking up documentation
16:49:08
jackdaniel
yes, xs and ys; then I'll call region-union on them and see if that reproduces the issue locally here
16:49:34
ck_
but we already know that it won't, because you ran the same code and didn't see that error
16:49:58
ck_
so maybe the more interesting question is whether ccl has either a larger stack limit, or does some optimization to bands-op that sbcl does not do
16:50:33
ck_
yes, but that was only the labeling of output, I doubt that'll make a difference. I'll get you the XS and YS in a minute
16:51:00
jackdaniel
another thing is that if we narrow it to region-union, then this will be /more/ minimal test case
16:51:25
ck_
Like I said, I'll give you the XS and YS (it is still running, remember XQuartz is very slow :)
16:52:00
ck_
If it turns out to be compiler optimization, I'll be interested to know what it is. The SBCL error suggests TCE as an example, but there are no tail calls in BANDS-OP
16:52:51
jackdaniel
I think that there is a bug in bands op, a kind of (= a b) instead of (<= a b) or something in this spirit
16:53:28
jackdaniel
and perhaps it did not reproduce on ccl because it has slightly different = semantics for floats vs ratios
16:55:43
ck_
Ok help me out here, I'm in a very different frame of reference mentally because of work. I didn't start the sample program in a thread so I have no repl. How do I get at the output you want? is eval-in-frame the best way, or can I somehow preserve the objects in a different way, through opening inspector windows maybe
17:34:55
ck_
I don't know whether you'd appreciate my thoughts on this experience, I mean reading parts of region-utilities.lisp "like a maintainer does, through a toilet paper tube"
17:43:38
ck_
I often found the comments to lack information you'd need for this software to be maintainable by new cohorts of people
17:44:28
ck_
there are loads of comments that talk about "hey this might be a better representation for [cryptic variable name]" or "how interesting: the algebra on this data type is such that ..."
17:44:29
jackdaniel
I agree, I did some work to make it more maintainable by reorganizing the code, but math utilities are a disaster from this perspective
17:45:14
ck_
but the functions don't have docstrings (at all), and what text is there can't serve as documentation from a maintainer's perspective.
17:46:56
jackdaniel
17:47:43
ck_
Maybe you've seen the movie Margin Call? "explain this to me like I was a small child, or a golden retriever". That's the kind of comment I would appreciate :)
17:48:31
ck_
Yes, I understand, this was not a comment on your efforts at all. I can empathize with the work. Still I think it is healhy to voice concerns like that from time to time
17:48:45
jackdaniel
I think that this particular issue is because bands-op is a recursive function and not iterative
17:49:27
jackdaniel
I did not take it that way, the part about comments in german was just a funny historical tidbit :)
18:09:50
ck_
so, just for peace of mind, can you tell me "what is happening" in that invocation? What are those regions, are they the lines of text, or the glyph bounding boxes, or what?
18:12:26
jackdaniel
if I understand correctly, these are text output record bounding boxes; but I did not get into this application
18:16:04
jackdaniel
it is quite likely that we could do much better with text (i.e be smarter with merging boxes for lines)
21:08:36
pillton
ck_ jackdaniel: Thank you for looking into the problem I posted. I have seen the issue on github.
21:18:59
pillton
What do you do if there is a typo in the specification found at bauhh.dyndns.org? Do you send patches to files in McCLIM/Documentation/Specification?