husk-scheme-3.7: R5RS Scheme interpreter, compiler, and library.

Portabilityportable
Stabilityexperimental
Maintainergithub.com/justinethier
Safe HaskellSafe-Inferred

Language.Scheme.Primitives

Contents

Description

This module contains primitive functions written in Haskell. Most of these map directly to an equivalent Scheme function.

Synopsis

Pure functions

List

Vector

Bytevectors

Hash Table

String

doMakeString :: forall a. (Num a, Eq a) => a -> Char -> String -> LispValSource

Character

charPredicate :: (Char -> Bool) -> [LispVal] -> ThrowsError LispValSource

Determine if given character satisfies the given predicate

Predicate

Utility functions

Impure functions

All of these functions must be executed within the IO monad.

Input / Output

Symbol generation

gensym :: [LispVal] -> IOThrowsError LispValSource

Generate a (reasonably) unique symbol, given an optional prefix. This function is provided even though it is not part of R5RS.

_gensym :: String -> IOThrowsError LispValSource

Version of gensym that can be conveniently called from Haskell.