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

Portabilityportable
Stabilityexperimental
Maintainergithub.com/justinethier
Safe HaskellSafe-Inferred

Language.Scheme.Macro.Matches

Description

This module contains utility functions used to support macro processing, by storing and/or manipulating data involving 0-or-many matches.

Synopsis

Documentation

getDataSource

Arguments

:: LispVal

The nested list to read from

-> [Int]

Location to read an element from, all numbers are 0-based

-> LispVal

Value read, or Nil if none

Get an element at given location in the nested list

setDataSource

Arguments

:: LispVal

The nested list to modify

-> [Int]

Location to insert the new element, from top-most to the leaf. For example [1, 2] means add to the second top-most list, at its 3rd position.

-> LispVal

Value to insert

-> LispVal

Resulant list

Add an element to the given nested list