On this page:
8.1 Deviations from ASL

8 Base language

 (require (planet dyoo/js-vm:1:14/lang/base))
This provides the basic set of bindings for js-vm programs. These include most of the bindings from ASL and some from regular Racket, including:
  • define

  • define-struct

  • if

  • cond

  • else

  • case

  • quote

  • unquote

  • unquote-splicing

  • lambda

  • case-lambda

  • let

  • let*

  • letrec

  • letrec-values

  • local

  • quasiquote

  • begin

  • begin0

  • set!

  • and

  • or

  • when

  • unless

  • recur

  • require

  • for-syntax

  • define-for-syntax

  • begin-for-syntax

  • prefix-in

  • only-in

  • provide

  • planet

  • all-defined-out

  • all-from-out

  • except-out

  • rename-out

  • define-syntax

  • let/cc

  • with-continuation-mark

  • true

  • false

  • pi

  • e

  • empty

  • eof

  • null

  • shared

  • with-handlers

  • write

  • display

  • newline

  • current-print

  • current-continuation-marks

  • continuation-mark-set?

  • continuation-mark-set->list

  • for-each

  • make-struct-type

  • make-struct-field-accessor

  • make-struct-field-mutator

  • struct-type?

  • struct-constructor-procedure?

  • struct-predicate-procedure?

  • struct-accessor-procedure?

  • struct-mutator-procedure?

  • procedure-arity

  • procedure-arity-includes?

  • make-arity-at-least

  • arity-at-least?

  • arity-at-least-value

  • apply

  • values

  • call-with-values

  • compose

  • current-inexact-milliseconds

  • current-seconds

  • not

  • void

  • random

  • sleep

  • identity

  • raise

  • error

  • make-exn

  • make-exn:fail

  • make-exn:fail:contract

  • make-exn:fail:contract:arity

  • make-exn:fail:contract:variable

  • make-exn:fail:contract:divide-by-zero

  • exn-message

  • exn-continuation-marks

  • exn?

  • exn:fail?

  • exn:fail:contract?

  • exn:fail:contract:arity?

  • exn:fail:contract:variable?

  • exn:fail:contract:divide-by-zero?

  • *

  • -

  • +

  • =

  • =~

  • /

  • sub1

  • add1

  • <

  • >

  • <=

  • >=

  • abs

  • quotient

  • remainder

  • modulo

  • max

  • min

  • gcd

  • lcm

  • floor

  • ceiling

  • round

  • numerator

  • denominator

  • expt

  • exp

  • log

  • sin

  • cos

  • tan

  • asin

  • acos

  • atan

  • sinh

  • cosh

  • sqr

  • sqrt

  • integer-sqrt

  • make-rectangular

  • make-polar

  • real-part

  • imag-part

  • angle

  • magnitude

  • conjugate

  • sgn

  • inexact->exact

  • exact->inexact

  • number->string

  • string->number

  • procedure?

  • pair?

  • cons?

  • empty?

  • null?

  • undefined?

  • immutable?

  • void?

  • symbol?

  • string?

  • char?

  • boolean?

  • vector?

  • struct?

  • eof-object?

  • bytes?

  • byte?

  • number?

  • complex?

  • real?

  • rational?

  • integer?

  • exact?

  • inexact?

  • odd?

  • even?

  • zero?

  • positive?

  • negative?

  • box?

  • hash?

  • eq?

  • eqv?

  • equal?

  • equal~?

  • false?

  • boolean=?

  • symbol=?

  • cons

  • car

  • cdr

  • caar

  • cadr

  • cdar

  • cddr

  • caaar

  • caadr

  • cadar

  • cdaar

  • cdadr

  • cddar

  • caddr

  • cdddr

  • cadddr

  • rest

  • first

  • second

  • third

  • fourth

  • fifth

  • sixth

  • seventh

  • eighth

  • length

  • list?

  • list

  • list*

  • list-ref

  • list-tail

  • append

  • reverse

  • map

  • andmap

  • ormap

  • memq

  • memv

  • member

  • memf

  • assq

  • assv

  • assoc

  • remove

  • filter

  • foldl

  • foldr

  • quicksort

  • sort

  • argmax

  • argmin

  • build-list

  • box

  • box-immutable

  • unbox

  • set-box!

  • make-hash

  • make-hasheq

  • hash-set!

  • hash-ref

  • hash-remove!

  • hash-map

  • hash-for-each

  • make-string

  • replicate

  • string

  • string-length

  • string-ref

  • string=?

  • string-ci=?

  • string<?

  • string>?

  • string<=?

  • string>=?

  • string-ci<?

  • string-ci>?

  • string-ci<=?

  • string-ci>=?

  • substring

  • string-append

  • string->list

  • list->string

  • string-copy

  • string->symbol

  • symbol->string

  • format

  • printf

  • string->int

  • int->string

  • explode

  • implode

  • string-alphabetic?

  • string-ith

  • string-lower-case?

  • string-numeric?

  • string-upper-case?

  • string-whitespace?

  • build-string

  • string->immutable-string

  • string-set!

  • string-fill!

  • make-bytes

  • bytes

  • bytes->immutable-bytes

  • bytes-length

  • bytes-ref

  • bytes-set!

  • subbytes

  • bytes-copy

  • bytes-fill!

  • bytes-append

  • bytes->list

  • list->bytes

  • bytes=?

  • bytes<?

  • bytes>?

  • make-vector

  • vector

  • vector-length

  • vector-ref

  • vector-set!

  • vector->list

  • list->vector

  • build-vector

  • char=?

  • char<?

  • char>?

  • char<=?

  • char>=?

  • char-ci=?

  • char-ci<?

  • char-ci>?

  • char-ci<=?

  • char-ci>=?

  • char-alphabetic?

  • char-numeric?

  • char-whitespace?

  • char-upper-case?

  • char-lower-case?

  • char->integer

  • integer->char

  • char-upcase

  • char-downcase

  • call-with-current-continuation

  • call/cc

  • call-with-continuation-prompt

  • abort-current-continuation

  • default-continuation-prompt-tag

  • make-continuation-prompt-tag

  • continuation-prompt-tag?

  • make-reader-graph

  • make-placeholder

  • placeholder-set!

8.1 Deviations from ASL