UNPKG

js-slang

Version:

Javascript-based implementations of Source, written in Typescript

52 lines (51 loc) 1.28 kB
import { List, Pair } from '../stdlib/list'; /** * Low-level check for a list. * @param value any value * @returns whether the value is a list */ export declare function isList(value: any): value is List; /** * Turn a list into an array. * @param value a list * @returns */ export declare function flattenList(value: List): any[]; /** * Convert an array into a list. * @param arr * @returns */ export declare function arrayToList(arr: any[]): List; /** * Convert an array into an improper list. * @param arr * @param last * @returns */ export declare function arrayToImproperList(arr: any[], last: any): any; /** * Check if a value is an improper list. * We force an improper list to be an array of two elements. * @param value * @returns */ export declare function isImproperList(value: any): value is Pair<any, any>; /** * Check if a value is a pair. * @param value * @returns */ export declare function isPair(value: any): value is Pair<any, any>; /** * Convert an improper list into an array and a terminator. * @param value * @returns */ export declare function flattenImproperList(value: any): [any[], any]; /** * Get the length of an improper list. * @param value * @returns */ export declare function improperListLength(value: any): number;