freenode/#clasp - IRC Chatlog
Search
4:07:54
drmeister
I wish x64_64 ABI returned more than two values in registers. I totally figured it out.
4:08:13
drmeister
registers returned by one function call are now directly routed into the next call.
4:11:59
Bike
i hope it helps a little. values doesn't really need a function call except for values-list.
4:17:39
Bike
i just noticed THE instructions don't get generated for forms with their return values discarded, which is really unfortunate since it means there's no indication if a function has been declared to never return
4:25:43
Bike
i could have THE where any type is a subtype of NIL compile down to an unreachable-instruction. might be useful as a primop too.
4:32:31
Bike
what i mean more pragmatically is that the compiler can't just do (null type-specifier) to see if a type is equivalent to nil.
4:33:49
loke`
Bike: Did you mean equivalent to the NIL value (which has type NULL), or equivalent to the NIL type? (I read your previous statement as the latter, but I'm starting to think that you meant the former)
4:35:13
Bike
I mean. Say the compiler sees (the (and cons integer) foo). to see if the type is the empty type it does (subtypep '(and cons integer) 'nil).
4:37:43
loke`
I guess I knew that (and cons integer) would be equivalent to the NIL type, but I never thought of that as being a “subtype” of the NIL type. I guess that makes sense, in a pragmatic way. Although I'm sure that the type-masturbators on #haskell would be upset about it. :-)
5:07:38
beach
loke`: It not only make sense in a pragmatic way. It's the very defintion of subtype that every type is a subtype (not strict though) of itself, just like every set is a subset of itself. It's the mathematical definition.
5:08:56
beach
loke`: In that respect, the subset relation is like the <= relation for numbers. Not like the < relation.
5:26:15
Bike
i'm going to add an UNREACHABLE instruction and have stuff that might delete code (which is currently just type inference) insert them. then all code can be deleted at once in a later stage by looking at the UNREACHABLE instructions.
5:42:03
Bike
maybe not. i'll think about it. mostly i just want error branches to properly not continue
5:46:08
Bike
oh, yeah, beach, what do you want me to do with my els talk? i used openoffice so the file isn't really textual.