Terminology - urschleim/scream GitHub Wiki

Closure

A good definition can be found here...

; Create a lambda keeping a in its closure.
(define (make-adder a)
  (lambda (b) (+ a b)))
  ⇒ () ; unspecified
; Create an operation using make-adder with a=5 in its closure.
(define plus-five (make-adder 5))
  ⇒ () ; unspecified
; Usage example.
(plus-five 3)
  ⇒ 8 ; 

Continuation

The concept Continuation is described in r7rs * chapter 6.10 Control features. Access to continuations is an outstanding feature of the Scheme language.

One starting point of urschleim/scream was to research options and possibilities for implementing continuations on a Java platform. The final boost for the successful implementation came from Marcin Chwedczuk and his blog entry Continuations in Java.

Disjoint type

A type that is different from all existing types. Commonly an operation (<disjoint-type>? object) is offered.

Immutable

Certain objects like lists and vectors can be modified. Using the quote-syntax these can be created in an immutable form. This means that a mutation attempt results in an error message. Described in r7rs chapter 3.4 Storage model.

(define v #(1 2 3)) ⇒ () ; unspecified
v ⇒ #(1 2 3)
(vector-set! v 0 313) ⇒ () ; unspecified
v ⇒ #(313 2 3)
(define v '#(1 2 3)) ⇒ () ; unspecified
(vector-set! v 0 313) ⇒ Error: CANNOT_MODIFY_CONSTANT