SRFI
Builtin SRFI
This is a list of builin SRFI that don't require any action from user:
| description | spec |
|---|---|
| Feature-based conditional expansion construct | SRFI-0 |
| Homogeneous numeric vector datatypes | SRFI-4 |
| Basic String Ports | SRFI-6 |
| Running Scheme Scripts on Unix | SRFI-22 |
| Error reporting mechanism | SRFI-23 |
| Basic Format Strings | SRFI-28 |
| Basic Syntax-rules Extensions | SRFI-46 |
| An interface to access environment variables | SRFI-98 |
| Syntax parameters | SRFI-139 |
| Custom macro transformers | SRFI-147 |
| Version flag | SRFI-176 |
| Command line | SRFI-193 |
Included SRFI
Those SRFI are included as files that can be loaded into LIPS Scheme system:
| description | spec | source |
|---|---|---|
| List Library | SRFI-1 | 1.scm |
AND-LET*: an AND with local bindings, a guarded LET* special form | SRFI-2 | 2.scm |
| receive: Binding to multiple values | SRFI-8 | 8.scm |
#, external form | SRFI-10 | 10.scm |
| Notation for Specializing Parameters without Currying | SRFI-26 | 26.scm |
A more general cond clause | SRFI-61 | 61.scm |
| Basic hash tables | SRFI-69 | 69.scm |
| Boxes | SRFI-111 | 111.scm |
| Syntactic combiners for binary predicates | SRFI-156 | 156.scm |
| Multiple-value boxes | SRFI-195 | 195.scm |
| Procedures and Syntax for Multiple Values | SRFI-210 | 210.scm |
| Evaluating expressions in an unspecified order | SRFI-236 | 236.scm |
| Applicative syntax | SRFI-239 | 239.scm |
| Gensym | SRFI-258 | 258.scm |
On the Web you can use this code to load above SRFI:
(load "https://cdn.jsdelivr.net/npm/lips@beta/lib/srfi/<NUMBER>.scm")
In NodeJS you can use this code:
(load "<LIPS PATH>/lib/srfi/<number>.scm")
Future plans
On devel branch there is a way to load those SRFI with @lips marker instead of full path.
The final version LIPS 1.0 will most likely include some mechanism to load SRFI as R7RS libraries.