Exemple #1
0
def test_letdef():
    assert parse("""let def foo = 1 in foo()""").eval() == 1
Exemple #2
0
def test_mul():
    assert parse("2 * 2").eval() == 4
Exemple #3
0
def test_match_list():
    # Test list match
    assert parse('match [1, 2] with | [] => [] | a, *b => a end').eval() == 1
Exemple #4
0
def test_match():
    # Test default case
    assert parse('match 1 with | _ => 1 end').eval() == 1

    # Test simple case
    assert parse('match 1 with | 1 => 1 end').eval() == 1
Exemple #5
0
def test_fact():
    assert parse("let def fact n = 1 if n == 0 else n * fact(n - 1) in fact(5)"
                 ).eval() == 120
Exemple #6
0
def test_ift_expr():
    assert parse("""1 if true else 0""").eval() == 1
    assert parse("""1 if false else 0""").eval() == 0
Exemple #7
0
def test_bool_expr():
    assert parse("""1 == 1""").eval() == True
Exemple #8
0
#!/usr/bin/env python3
import sys
from lampy.letparser import parse
from lampy import astlib

if __name__ == "__main__":
    f = sys.argv[1]
    sys.argv = sys.argv[1:]
    parse(open(f).read()).eval(globals=globals_)