ref: f4eca39822c7c76bd36b15dcfaf2a8641cffa9f5
dir: /syntax.md/
# Syntax differences <table style="width:100%"> <tr> <th>StreetLISP</th> <th>Scheme</th> </tr> <tr> <td> (help help) </td><td> (help help) (in Racket) </td> </tr> <tr> <td> (def (f x y) ...) </td><td> (define (f x y) ...) </td> </tr> <tr> <td> (defmacro (f x y) ...) </td><td> (define-syntax f ...) </td> </tr> <tr> <td> <a href="https://lisp-docs.github.io/cl-language-reference/chap-8/i-b-dictionary/defstruct_macro">(defstruct ...)</a> </td><td> (define-record-type ...) </td> </tr> <tr> <td> (if cond if-true if-else) </td><td> (if cond if-true if-else) </td> </tr> <tr> <td> (when cond expr) </td><td> (if cond expr) </td> </tr> <tr> <td> (unless cond expr) </td><td> (if (not cond) expr) </td> </tr> <tr> <td> NIL, () </td><td> null, '() </td> </tr> <tr> <td> NIL, T (case-sensitive) </td><td> #f, #t </td> </tr> <tr> <td> (not x) </td><td> (null? x) </td> </tr> <tr> <td> (car ()) → NIL </td><td> (car '()) → ERROR </td> </tr> <tr> <td> (cdr ()) → NIL </td><td> (cdr '()) → ERROR </td> </tr> <tr> <td> (cons? v) </td><td> (pair? v) </td> </tr> <tr> <td> (str sym) </td><td> (symbol->string sym) </td> </tr> <tr> <td> (str ...) </td><td> (string ...) </td> </tr> <tr> <td> (sym str) </td><td> (string->symbol str) </td> </tr> <tr> <td> (num->str n :base radix) </td><td> (number->string n radix) </td> </tr> <tr> <td> (str->num str) </td><td> (string->number str) </td> </tr> <tr> <td> (subseq str start end) </td><td> (substring str start end) </td> </tr> <tr> <td> (length str) </td><td> (string-length str) </td> </tr> <tr> <td> (str-rune str i) </td><td> (string-ref str i) </td> </tr> <tr> <td> (map rune-upcase str) </td><td> (string-upcase str) </td> </tr> <tr> <td> (rune-whitespace? r) </td><td> (char-whitespace? r) </td> </tr> <tr> <td> (rune-upcase r) </td><td> (char-upcase r) </td> </tr> <tr> <td> (rune codepoint) </td><td> (integer->char codepoint) </td> </tr> <tr> <td> (rune->codepoint r) </td><td> (char->integer r) </td> </tr> <tr> <td> (bool? v) </td><td> (boolean? v) </td> </tr> <tr> <td> (int? v) </td><td> (integer? v) </td> </tr> <tr> <td> (num? v) </td><td> (number? v) </td> </tr> <tr> <td> (rune? v) </td><td> (char? v) </td> </tr> <tr> <td> (str? v) </td><td> (string? v) </td> </tr> <tr> <td> (sym? v) </td><td> (symbol? v) </td> </tr> <tr> <td> (vec? v) </td><td> (vector? v) </td> </tr> <tr> <td> (equal? a b) </td><td> (string=? a b) </td> </tr> <tr> <td> (vec->list v) </td><td> (vector->list v) </td> </tr> <tr> <td> (list->vec lst) </td><td> (list->vector lst) </td> </tr> <tr> <td> (length v) </td><td> (vector-length v) </td> </tr> <tr> <td> (aref v i) </td><td> (vector-ref v i) </td> </tr> <tr> <td> (aset! v i x) </td><td> (vector-set! v i x) </td> </tr> </table>