0.6.2 • Published 1 year ago

penc v0.6.2

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Let bindings, Names, and Scopes

let Id = Identifier in

    OpenTag(Id) Content CloseTag(Id)

Main Expression Types

Record
    child nodes = array of:
        RecordProperty
        SpreadProperty
        NonStructuralExpression
            Predicate
            ElidedString (-StrExpr-)
Tuple
    child nodes = array of:
        TupleElement
        SpreadElement
        NonStructuralExpression
            Predicate
            ElidedString (-StrExpr-)
String
    StringLiteral
    CharacterClass
    CharacterWildward
Number
    Int32
    Int64
    Float32
    Float64
Boolean
    true
    false
Unit
    ()

Main Control Flow

Sequence
    StringSequence
Selection
Iteration
    StringIteration
Predicate
    PositivePredicate (if T)
    NegativePredicate (ifnot T)
// let binding
// lambda/function expresion

Types

Given expressions E, E1, and E2 with types T, T1 and T2 respectively:

Selection

E1 | E2 has type T1 | T2

Sequence

The type of the sequence E1 E2 is:

  • when T1 = string:
    • when T2 = string then string
    • else when T2 = void then string
    • else error
  • else when `T1 =
0.6.2

1 year ago

0.6.1

1 year ago

0.6.0

3 years ago

0.5.10

4 years ago

0.5.8

4 years ago

0.5.9

4 years ago

0.5.7

4 years ago

0.5.6

4 years ago

0.5.5

4 years ago

0.5.4

4 years ago

0.5.3

4 years ago

0.5.0

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.0.2

5 years ago

0.0.1

5 years ago