- Proposal: SE-NNNN
- Authors: Anton Zhilin
- Review Manager: TBD
- Status: Awaiting review
Bitwise and arithmetic operators are very different, and their precedence relationship is not obvious.
Bitwise and arithmetic operators are very different, and their precedence relationship is not obvious.
This proposal re-architects guard case
and if case
grammar for unwrapping complex enumerations. It drops the case
keyword from if
and guard
, replaces =
with ~=
, and introduces the :=
operator that combines declaration with assignment.
Change nil
literal type from ()
to Nil
.
Change syntax of pattern-matching versions of if
and guard
.
/────────────────────── Domain 1
/
/ /───────────── Domain 2
/ /
─────────────────────────────────────────────────────── Core operators
\
\──────────────────────────── Domain 3
\
\──────────────── Domain 4
This proposal want to revise metatypes T.Type
, repurpose public T.self
notation to return a new Type
type instance rather than a metatype, merge SE-0101 into Type
, rename the global function from SE-0096 to match the changes of this proposal and finally rename current Mirror
type to introduce a new (lazy) Mirror
type.
T.Type
to Metatype
T.self
notation with T.metatype
and T.Type
with Metatype<T>