valkyrie-parser 0.2.5

The hand write parser of valkyrie language
Documentation
NamespaceDeclaration {
    kind: Standalone,
    path: std∷create∷test,
}
TryStatement {
    handler: None,
    body: [],
    span: 28..36,
}
TryStatement {
    handler: Some(
        UnaryNode {
            prefix: ℃,
            base: String,
        },
    ),
    body: [],
    span: 38..54,
}
TryStatement {
    handler: Some(
        GenericCallNode {
            monadic: false,
            base: Option,
            term: [
                ArgumentTerm {
                    key: Nothing,
                    value: T,
                },
            ],
            span: 66..69,
        },
    ),
    body: [],
    span: 56..74,
}
MatchCallNode {
    monadic: true,
    base: MatchCallNode {
        monadic: false,
        base: TryStatement {
            handler: Some(
                GenericCallNode {
                    monadic: false,
                    base: Result,
                    term: [
                        ArgumentTerm {
                            key: Nothing,
                            value: T,
                        },
                        ArgumentTerm {
                            key: Nothing,
                            value: Noop,
                        },
                    ],
                    span: 86..95,
                },
            ),
            body: [
                ApplyCallNode {
                    monadic: false,
                    caller: print,
                    arguments: [
                        ArgumentTerm {
                            key: Nothing,
                            value: 'try',
                        },
                    ],
                    body: None,
                    span: 107..114,
                },
            ],
            span: 76..117,
        },
        kind: Effect,
        patterns: [
            PatternBranch {
                condition: PatternTypeNode {
                    typing: RuntimeError,
                    guard: None,
                    span: 131..180,
                },
                continuation: [
                    ApplyCallNode {
                        monadic: false,
                        caller: print,
                        arguments: [
                            ArgumentTerm {
                                key: Nothing,
                                value: 'RuntimeError',
                            },
                        ],
                        body: None,
                        span: 163..179,
                    },
                ],
                span: 131..180,
            },
        ],
        span: 118..181,
    },
    kind: Typing,
    patterns: [
        PatternBranch {
            condition: PatternCaseNode {
                pattern: TuplePatternNode {
                    bind: None,
                    name: None,
                    terms: [
                        IdentifierPattern {
                            modifiers: [],
                            identifier: Identifier("_", 206..207),
                        },
                    ],
                    span: 0..0,
                },
                guard: None,
                span: 196..231,
            },
            continuation: [
                ApplyCallNode {
                    monadic: false,
                    caller: print,
                    arguments: [
                        ArgumentTerm {
                            key: Nothing,
                            value: 'Some',
                        },
                    ],
                    body: None,
                    span: 223..231,
                },
            ],
            span: 196..231,
        },
    ],
    span: 181..234,
}