23 lines
704 B
Markdown
23 lines
704 B
Markdown
# SRFI 238 - portable string-based implementation
|
|
|
|
This is an implementation SRFI 238 based around the following C
|
|
interface.
|
|
|
|
```
|
|
char *codeset_list(void);
|
|
char *codeset_numbers(const char *codeset);
|
|
char *codeset_symbols(const char *codeset);
|
|
char *codeset_messages(const char *codeset);
|
|
```
|
|
|
|
Each function returns a newline-delimited C string.
|
|
|
|
The idea is to make the interface so simple that it can be wrapped
|
|
easily using the FFI of any Scheme implementation that has one.
|
|
(Non-Scheme languages like Common Lisp or ML could make use of the
|
|
same C code.)
|
|
|
|
The downside is that memory usage is not optimal. All strings are
|
|
retrieved from C at once, and half of the string handling is done in
|
|
Scheme.
|