freenode/#shirakumo - IRC Chatlog
Search
8:57:02
splittist
But it is possible to do some things fairly cleanly. I use https://github.com/splittist/docxplora (WIP) for Real World Stuff.
8:57:03
Colleen
github.com/splittist/docxpl... Website (HTML), Title: GitHub - splittist/docxplora: Manipulate docx files with Common Lisp
8:57:13
gingerale
That last one is a special pain to the point that none of the expert blogs actually touch it. They just use whatever default an existing document provides. But if you have no such document you're in trouble.
8:58:33
splittist
You can just gin up your own heading hierarchy. The trouble comes, as you say, when you try to use the builtin list stuff with otherwise hierarchical styles.
8:59:07
splittist
ACTION blushes (but is conscious gingerale hasn't had a chance to read the actual code yet.. .(: )
9:01:37
splittist
And powerful when used properly. Unfortunately, it is very hard to use properly...
9:07:57
splittist
I don't think anyone has ever printed it out. It's like the PDF standard. And they keep adding bits with each Word/Excel/PowerPoint release. Which, since they now release continuously, makes things interesting.
9:10:15
gingerale
Take pStyle element, for an example. It can exist in eight different context. Two of them are under lvl-element and six are under pPr-element. And then there are cases in which it's /never/ allowed to exist under a pPr.
9:10:59
gingerale
So you constantly have to know the entire ancestor tree instead of just the parent.
9:14:39
Shinmera
gingerale: is it specified what you do if an element exist even when it's not allowed to?
9:56:40
splittist
It depends which element when. Sometimes Word will just refuse to open the document. Sometimes everything is fine. Sometimes LibreOffice and Word disagree...
12:29:47
Shinmera
Name suggestions for a function to register an observer for a load operation on a resource
12:30:02
Shinmera
OBSERVE-LOAD is what I'm calling the function to be called when such a load is observed.
12:59:42
selwyn
i think 'register load observer' is not that bad and better than any alternatives i can think of
15:06:45
Shinmera
since which assets/resources to load is determined based on a traversal of the scene, the objects watching the assets don't actually refer to the assets in question
20:24:25
|3b|
Shinmera: yeah, switched to (true (< ...)), but then i lose the part where it tells me what the failing values were
20:27:59
|3b|
i guess TRUE could try to disassemble the form like SBCL's assert macro does, though TRUE with an extra () is still more verbose than just IS
20:32:07
|3b|
ACTION reads IS as "Is <binary predicate> true for <2 values>", probably mostly due to the predicate being there
20:32:53
|3b|
if it were (IS value form &key (test eql)) or similar, i'd be more likely read it the way you do, though possibly i'd still argue the order :)
20:34:34
|3b|
and in addition to the "assert a relation" use there is the "test against an alternate implementation that might be broken but hopefully in different ways" use, where treating them symmetrically would be preferable
20:35:29
|3b|
(and let me know if i'm being too annoying about this stuff, parachute is still plenty usable already :)
20:36:45
|3b|
yeah, random testing might require that, depending on whether you can generate problems from answers
20:38:33
Shinmera
it would then randomly generate forms from the grammar and check the invariants at every step