Archives | Categories

R5RS Features

Table of Contents

<2014-01-05 Sun>

1. Definitions

  • define
  • define-syntax

2. Expressions

2.1. Primitive Expressions

  • <variable>
  • quote
  • <quoto-datum>
  • <constant>
  • procedure call
  • lambda
  • if
  • set!

2.2. Derived Expressions

  • cond
  • case
  • and
  • or
  • let
  • let*
  • letrec
  • begin
  • do
  • named-let
  • delay
  • quasiquote (and unquote, unquote-splice)
  • let-syntax
  • letrec-syntax

3. Standard Procedures

3.1. Equivalence Predicates

  • eqv?
  • eq?
  • equal?

3.2. Numbers

  • read-macro: #b,#o,#d,#x, #e, #i and postfix `SFDL`
  • number?
  • complex?
  • real?
  • rational
  • integer?
  • exact?
  • inexact?
  • =
  • >
  • <
  • >=
  • <=
  • zero?
  • positive?
  • negative?
  • odd?
  • even?
  • max
  • min
  • +
  • *
  • -
  • /
  • abs
  • quotient
  • remainder
  • modulo
  • gcd
  • lcm
  • numerator
  • denominator
  • floor
  • ceiling
  • truncate
  • round
  • rationalize
  • exp
  • log
  • sin
  • cos
  • tan
  • asin
  • acos
  • atan
  • atan
  • sqrt
  • expt
  • make-rectangular
  • make-polar
  • real-part
  • imag-part
  • magnitude
  • angle
  • exact->inexact
  • inexact->exact
  • number->string
  • string->number

3.3. Booleans

  • not
  • boolean?

3.4. Pairs and Lists

  • pair?
  • cons
  • set-car!
  • set-cdr!
  • car
  • cdr
  • caar
  • cadr
  • cdar
  • cddr
  • caaar
  • caadr
  • cadar
  • caddr
  • cdaar
  • cdadr
  • cddar
  • cdddr
  • caaaar
  • caaadr
  • caadar
  • caaddr
  • cadaar
  • cadadr
  • caddar
  • cadddr
  • cdaaar
  • cdaadr
  • cdadar
  • cdaddr
  • cddaar
  • cddadr
  • cdddar
  • cddddr
  • null?
  • list?
  • list
  • length
  • append
  • reverse
  • list-tail
  • list-ref
  • memq
  • memv
  • member
  • assq
  • assv
  • assoc

3.5. Symbol

  • symbol?
  • symbol->string
  • string->symbol

3.6. Characters

  • #\<char> (read-macro)
  • char?
  • 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

3.7. Strings

  • string?
  • make-string
  • string
  • string-length
  • string-ref
  • string-set!
  • string=?
  • string>?
  • string<?
  • string>=?
  • string<=?
  • string-ci=?
  • string-ci>?
  • string-ci<?
  • string-ci>=?
  • string-ci<=?
  • substring
  • string-append
  • string->list
  • list->string
  • string-copy
  • string-fill!

3.8. Vectors

  • vector?
  • make-vector
  • vector
  • vector-length
  • vector-ref
  • vector-set!
  • vector->list
  • list->vector
  • vector-fill!

3.9. Control Features

  • procedure?
  • apply
  • map
  • for-each
  • force
  • call-with-current-continuation
  • values
  • call-with-values
  • dynamic-wind

3.10. Eval

  • eval
  • scheme-report-environment
  • null-environment
  • interaction-environment

3.11. IO

3.11.1. IO: Ports

  • call-with-input-file
  • call-with-output-file
  • input-port?
  • output-port?
  • current-input-port
  • current-oputput-port
  • with-input-from-file
  • with-output-to-file
  • open-input-file
  • open-output-file
  • close-input-file
  • close-output-file

3.11.2. IO: Input

  • read
  • read-char
  • peek-char
  • eof-object?
  • char-ready?

3.11.3. IO: Output

  • write
  • display
  • newline
  • write-char

3.12. System Interface

  • load
  • transcript-on
  • transcript-off

4. Discuss and Comment

Have few questions or feedback? Feel free to send me(killian.zhuo📧gmail.com) an email!

Copyright © KDr2, SOME RIGHTS RESERVED UNDER CC BY-NC 4.0.

Built with Emacs 28.2 (Org mode 9.5.5).

Last updated: 2022-01-28 Fri 13:42.