Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix B: keywords

RCE has one list of reserved words, the same in every module (specification, section 2.4). None of them can be used as a name, except as a member name directly after ., as in c.close().

The keywords:

actor     after     and       arena     as        bound     break
catch     chan      check     comptime  const     continue  default
device    elif      else      emit      error     event     example
extern    fail      false     fn        for       forall    from
if        impl      in        intent    iter      kind      let
linear    loop      match     module    mut       none      not
on        or        pass      pub       recv      return    select
self      send      spawn     state     step      struct    then
to        trait     true      try       type      use       var
while     with      yield

The concurrency words of Appendix C:

par       branch    nondet    budget    deadline  priority
replicated interrupt session  lvar      group     lanes
barrier   scope     atomic    protocol  offer     choose
node      supervisor strategy child     restart

The words of Appendix F:

requires  ensures   decreases ghost     ct
declassify endorse  release   label     law

and the type names World, Template, Shell, Prompt, Header and mathint, which no module may declare.

declassify, law, Template and mathint name constructs the checker does not implement: a program that uses one requires change under W-RES-1, reserved, not implemented.

Some keywords belong to parts of the language this book does not cover: arena (memory regions), comptime (evaluation while checking), linear (values that must be used exactly once) and device (accelerator regions), and among the concurrency words those listed at the end of chapter 14. The specification describes each one.