Skip to content

specification of labels for loops and exiting from blocks #608

@pepyakin

Description

@pepyakin

I have some problems with the spec. Namely, spec states for the loop:

  • Let L be the label whose arity is 0 and whose continuation is the start of the loop.

And then in the Blocks section, in Exiting inst* with Label L (I assume this explains how end works?) it states:

  • Let n be the arity of L
  • ...
  • Pop the results valⁿ from the stack

But is it correct? I'm interpreting this as "loop..end block can't return any values, because when executing loop we pushing label with arity=0 and when we execute end we pop 0 values". Which seems incorrect for me (e.g. counter-example).

Could someone clarify this to me?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions