diff --git a/README.md b/README.md new file mode 100644 index 0000000..63fa2d0 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +# 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.