playground: simpler free-form default — (print "67") (/ 42 6)
This commit is contained in:
parent
7e32eefd6b
commit
4df6dcfa67
2 changed files with 8 additions and 54 deletions
|
|
@ -12,34 +12,11 @@ import { oneDark } from "@codemirror/theme-one-dark";
|
|||
import { openVault } from "./crypto.js";
|
||||
|
||||
const TIERS = { python: "python (pyodide)", c: "c (emcc)", asm: "asm (wat)" };
|
||||
const FREE_FORM_DEFAULT = `; free-form mode — write any lisp, race all three tiers.
|
||||
; unlock the vault below to persist this code (encrypted localStorage).
|
||||
;
|
||||
; below: a tiny version of the cross-tier functional.lsp runner.
|
||||
const FREE_FORM_DEFAULT = `; free-form mode — unlock the vault below to persist this code
|
||||
; encrypted in localStorage with your password
|
||||
|
||||
(define pass 0)
|
||||
(define fail 0)
|
||||
(define (check name got expected)
|
||||
(cond ((equal? got expected)
|
||||
(set! pass (+ pass 1))
|
||||
(display "PASS: ") (display name) (newline))
|
||||
(else
|
||||
(set! fail (+ fail 1))
|
||||
(display "FAIL: ") (display name)
|
||||
(display " got=") (display got)
|
||||
(display " expected=") (display expected) (newline))))
|
||||
|
||||
(check "arithmetic" (+ 1 2) 3)
|
||||
(check "division" (/ 42 6) 7)
|
||||
(check "string" (string-append "foo" "bar") "foobar")
|
||||
(check "list reverse" (reverse (list 1 2 3)) (list 3 2 1))
|
||||
(check "vector len" (vector-length (vector 1 2 3)) 3)
|
||||
(check "char" (char->integer #\\A) 65)
|
||||
(check "let loop" (let loop ((i 0) (n 0))
|
||||
(if (= i 10) n (loop (+ i 1) (+ n i)))) 45)
|
||||
|
||||
(display pass) (display " pass, ") (display fail) (display " fail")
|
||||
(newline)
|
||||
(print "67")
|
||||
(/ 42 6)
|
||||
`;
|
||||
|
||||
const demoSources = {};
|
||||
|
|
|
|||
|
|
@ -12,34 +12,11 @@ import { oneDark } from "@codemirror/theme-one-dark";
|
|||
import { openVault } from "./crypto.js";
|
||||
|
||||
const TIERS = { python: "python (pyodide)", c: "c (emcc)", asm: "asm (wat)" };
|
||||
const FREE_FORM_DEFAULT = `; free-form mode — write any lisp, race all three tiers.
|
||||
; unlock the vault below to persist this code (encrypted localStorage).
|
||||
;
|
||||
; below: a tiny version of the cross-tier functional.lsp runner.
|
||||
const FREE_FORM_DEFAULT = `; free-form mode — unlock the vault below to persist this code
|
||||
; encrypted in localStorage with your password
|
||||
|
||||
(define pass 0)
|
||||
(define fail 0)
|
||||
(define (check name got expected)
|
||||
(cond ((equal? got expected)
|
||||
(set! pass (+ pass 1))
|
||||
(display "PASS: ") (display name) (newline))
|
||||
(else
|
||||
(set! fail (+ fail 1))
|
||||
(display "FAIL: ") (display name)
|
||||
(display " got=") (display got)
|
||||
(display " expected=") (display expected) (newline))))
|
||||
|
||||
(check "arithmetic" (+ 1 2) 3)
|
||||
(check "division" (/ 42 6) 7)
|
||||
(check "string" (string-append "foo" "bar") "foobar")
|
||||
(check "list reverse" (reverse (list 1 2 3)) (list 3 2 1))
|
||||
(check "vector len" (vector-length (vector 1 2 3)) 3)
|
||||
(check "char" (char->integer #\\A) 65)
|
||||
(check "let loop" (let loop ((i 0) (n 0))
|
||||
(if (= i 10) n (loop (+ i 1) (+ n i)))) 45)
|
||||
|
||||
(display pass) (display " pass, ") (display fail) (display " fail")
|
||||
(newline)
|
||||
(print "67")
|
||||
(/ 42 6)
|
||||
`;
|
||||
|
||||
const demoSources = {};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue