#!/bin/bash source ${BASH_SOURCE%/*}/test.sh # ------------------------------------------------------------ setglobal value = $[../lishp.sh << """ (let ((x 2)) x) """ ] assert::equals "Integer :: 2" $(value) "Basic let" # ------------------------------------------------------------ setglobal value = $[../lishp.sh << """ (let ((x (+ 1 3))) x) """ ] assert::equals "Integer :: 4" $(value) "let with expression" # ------------------------------------------------------------ setglobal value = $[../lishp.sh << """ (let ((x 2) (y x)) y) """ ] assert::equals "1" "$Status" "let failing to read previous values" # ------------------------------------------------------------ setglobal value = $[../lishp.sh << """ (let ((x 2)) x (* 5 2)) """ ] assert::equals "Integer :: 10" $(value) "let returning last value" # ------------------------------------------------------------ assert::report