freenode/#sicl - IRC Chatlog
Search
15:46:34
scymtym
this is what i have so far for the highlighting approach: https://techfak.de/~jmoringe/editor-design/semantic-highlighting.html
15:57:00
beach
scymtym: I see I need to read this document very carefully, but I would already like to point out a missing comma that changes the meaning with respect to what I think you want to say...
15:58:19
beach
"The above example only considers the abstract syntax tree which is insufficient in general". The meaning as it stands is that the syntax tree is insufficient. And the example only considers insufficient syntax trees.
16:01:19
beach
I'll continue reading, and trying to understand the traversal example, but it may be too late in the day for me to make sense of it. If so, I'll get back to you when I am in better shape.
16:03:15
beach
You probably want to say "The above example considers only the abstract syntax tree" [and not any other kind of notation], as opposed to what you are saying, namely "The above example only CONSIDERS the abstract syntax tree" [but it doesn't really do anything with it].
16:03:54
beach
In the spoken language, the meaning is usually clear no matter where you put the "only", but not necessarily in the written language.
16:06:33
scymtym
right. this subtlety exists in german as well. the difference between meanings is usually illustrated by speaking the sentences with exaggerated emphasis like you did by writing CONSIDERS
16:07:05
beach
The traversal example is probably incorrectly indented, which makes it hard to see what the columns mean. In particular the "v role in parent node" is way out to the right.
16:09:26
scymtym
i wrote the stack states with the top to the left and the bottom to the right. the indentation seems correct here
16:10:14
scymtym
i think the traversal example is confusing when written like this, but i didn't want to reverse the order of stack elements for the section that gives the semantics as lisp programs
16:11:48
scymtym
i could place the comment over the line that has the "(type-name name)" node. maybe that would work better?
16:14:52
Bike
beach: yeah, the attributes are pretty simple right now. the main thing they do so far is let the compiler know things like "the function argument to mapcar doesn't escape" so that it can determine closures only need dynamic extent
16:18:09
beach
Bike: I have a system cleavir-attributes that is nowhere used. It has an ASDF file, a package definition, and a 51-line file attributes.lisp. The .lisp file has many lines of comments, and three functions: MAKE-ATTRIBUTES, DEFAULT-ATTRIBUTES, and HAS-BOOLEAN-ATTRIBUTE-P.
16:19:02
beach
MAKE-ATTRIBUTES turns a list of names into a bitmap. DEFAULT-ATTRIBUTES returns 0, HAS-BOOLEAN-ATTRIBUTE-P calls LOGBITP to check whether a bit is set.
16:19:06
Bike
that's pretty much all there is in the s expressionists cleavir as well, but if you're not using it i suppose you could delete it
16:19:31
Bike
it's in its own system because it's used in a couple different systems so it didn't seem to fit well in any of them
16:20:08
beach
I won't delete it if it is useful. But I thought maybe since it is nowhere used, it was obsolete. I'll keep it.
16:28:03
beach
scymtym: I still don't understand <DEFCLASS> and I don't understand the absence of FOO in the AST.
16:33:13
beach
scymtym: And when you say "NAME is the role of the TYPE-NAME node", it is not clear what kind of animal TYPE-NAME is. Is it also the name of the node, so that you mean "NAME is the role of the node named TYPE-NAME"? Or is it a type, so that you mean "NAME is the role of the node with the type TYPE-NAME"?
16:37:14
scymtym
beach: "NAME: <DEFCLASS>" and "NAME: %FOO" are "node properties", not actual nodes. maybe i should put them on the same line as "their" node or just omit them
16:41:21
scymtym
there is a relationship. the slot is represented as a node of kind SLOT-DEFINITION which has a child of kind VARIABLE-NAME. the role of the VARIABLE-NAME within the SLOT-DEFINITION is NAME. the node of kind VARIABLE-NAME also has a property "NAME: %FOO" which references the symbol %FOO from the concrete syntax layer
16:42:30
scymtym
i made the tree manually because the actual representation is a bit more complicated
16:43:36
beach
I guess we just witnessed a very typical example of /me not being able to "fill in the blanks" that normal people would.
16:45:59
beach
I think dinner is imminent here. I should pick this up tomorrow, hopefully a bit smarter after some sleep.
16:46:05
scymtym
no, in the past, other people had trouble with this particular tree representation as well. but having this "role" relation between parents and children has proven very useful so i just have to explain it better
16:47:24
beach
I think I understand its importance. But see my "what kind of animal is TYPE-NAME" remark. I still don't understand that.
16:48:13
beach
It looks like a kind of "type" to me. At least when I look at the DOCUMENTATION role.
16:50:17
beach
One child of the DEFCLASS node has the role DOCUMENTATION, and it is of "type" LITERAL [my interpretation], and the value is bar [why not "bar"?].
16:53:12
scymtym
i extended the explanation of the textual tree notation and put it at the beginning of the "Running Example" section. i hope that change clarifies things at least a bit