You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, multiple-value static infos live under #%values/statinfo_meta.values_key, but I think some aspects of them make them different than other genuine static info:
Static infos of different arity are incompatible, and their combination renders the whole package invalid;
Manipulation of static infos, such as union and intersection, must be aware of the arity;
#%values cannot be combined with other keys in any meaningful way;
Lookup should simply fail when the static infos are for anything other than arity 1.
Does it make more sense to revise the representation of static infos to accomodate for multiple-value cases? The drawback is, of course, more verbose manipulation for the most common case of arity 1.
The text was updated successfully, but these errors were encountered:
Possibly something to consider at the same time: Should each static-info key should be bound to a compile-time value that implements intersection and union operations for the key?
This is by no means a complete solution to #439, but it tries a little
bit harder to normalize the multiple-value static infos (and also
assumes harder the `((#%values (<infos> ...)))` shape).
Also fix a curious bug in `def`/`let` that fails to propagate
single-value static infos wrapped in `#%values`.
When revising the representation of static information to use a binding to compile-time union and intersection functions (ef71819), I did not find a better way to handle this than #%values. It helps a little that #%values is responsible for its own union and intersection operations, though.
Currently, multiple-value static infos live under
#%values
/statinfo_meta.values_key
, but I think some aspects of them make them different than other genuine static info:#%values
cannot be combined with other keys in any meaningful way;Does it make more sense to revise the representation of static infos to accomodate for multiple-value cases? The drawback is, of course, more verbose manipulation for the most common case of arity 1.
The text was updated successfully, but these errors were encountered: