mescc: Mes C Library: Avoid type/size_t conflicts.
[mes.git] / tests / read.test
1 #! /bin/sh
2 # -*-scheme-*-
3
4 # For use as a scaffolded sexp reader test
5 # ***REMOVE THIS BLOCK COMMENT INITIALLY***
6
7 # GNU Mes --- Maxwell Equations of Software
8 # Copyright © 2016, 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
9 #
10 # This file is part of GNU Mes.
11 #
12 # GNU Mes is free software; you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by
14 # the Free Software Foundation; either version 3 of the License, or (at
15 # your option) any later version.
16 #
17 # GNU Mes is distributed in the hope that it will be useful, but
18 # WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 # GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License
23 # along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
24
25 if [ "$MES" != guile ]; then
26     MES=${MES-$(dirname $0)/../src/mes}
27     MES_BOOT=boot-02.scm exec $MES < $0
28 fi
29
30 exec ${MES-mes} --no-auto-compile -s $0
31 !#
32
33 0
34 cons
35 (cons 0 1)
36 (display 0) (newline)
37 #t
38 #f
39 (display #t) (newline)
40 (display #f) (newline)
41 'foo
42 (display 'foo) (newline)
43 (display #o77) (newline)
44 (display #o-6) (newline)
45 (display #x16) (newline)
46 (display #x-16) (newline)
47 (display #\A) (newline)
48 (display #\newline) (newline)
49 #\alarm
50 #\backspace
51 #\tab
52 #\newline
53 #\vtab
54 #\page
55 #\return
56 #\space
57 (display "\"")
58 (display "\\")
59 (display "\\\"\"\\")
60 (display 'foo)(newline)
61 (display '(foo))(newline)
62 (display '('foo))(newline)
63 (display (cdr '(car . cdr))) (newline)
64 (display "foo bar") (newline)
65 ;;barf
66 #!
67 barf
68 !#
69 #|
70 burp
71 |#
72 #;(bla) (display "must see!\n")
73 (display
74   (lambda (x)
75    #;()#t)
76   )
77 (display #(0 1 2)) (newline)
78 (display (list '(foo
79             #! boo !#
80             ;;(bb 4)
81             )
82           ))
83 (newline)
84 ;; TODO: syntax, unsyntax, unsyntax-splicing