Skip to main content

module demo::lang::Lisra::Pretty

rascal-0.34.0

Usage

import demo::lang::Lisra::Pretty;

Dependencies

import demo::lang::Lisra::Runtime;

function pretty

str pretty(Integer(n))  = "<n>";

str pretty(Atom(name)) = name;

str pretty(List(list[Lval] elms)) = "( <for(Lval e <- elms){><pretty(e)> <}>)";

str pretty(Closure(fn)) = "Closure(<fn>)";

Tests

test pretty1

test bool pretty1() = pretty(Integer(123)) == "123";

test pretty2

test bool pretty2() = pretty(Atom("abc")) == "abc";

test pretty3

test bool pretty3() = pretty(List([])) == "( )";

test pretty4

test bool pretty4() = pretty(List([Integer(123)])) == "( 123 )";

test pretty5

test bool pretty5() = pretty(List([Integer(123), Atom("abc")])) == "( 123 abc )";