s-expressionists / wscl

Sources of the "Well Specified Common Lisp" specification which is based on the final draft of the Common Lisp standard but is not a new Common Lisp standard.
https://s-expressionists.github.io/wscl/
Other
38 stars 4 forks source link

specify what a go tag is #42

Open moon-chilled opened 8 months ago

moon-chilled commented 8 months ago

Spec sez:

The determination of which elements of the body are tags and which are statements is made prior to any macro expansion of that element

But not, afaict, how it is determined whether something is a tag or not. Glossary sez:

go tag n. the symbol or integer that, within the lexical scope of a tagbody form, names an exit point established by that tagbody form

So, presumably, an element is a tag iff it is a symbol or integer. But this should be specified in the definition of tagbody itself, not just in the glossary.

Bike commented 8 months ago

The tagbody page describes tags as "go tag"s with a link to the glossary in its Arguments and Values. I think that's sufficient. I mean, analogously the defun page does not itself explicitly state what a function name is.