You are looking at historical revision 45337 of this page. It may differ significantly from its current revision.
About
Graduate student at the Georgia Institute of Technology, School of Physics. I am phm on #chicken in libera.chat.
I like programming languages that are simple, standard, and with a few core ideas that can be widely leveraged. This includes C, Standard ML, and (of course) Scheme.
For more information see my website.
Eggs
Maintainer
Authors
SRFI 267
This SRFI can be implemented as a reader extension to CHICKEN.
(define (read-raw-string port) ;; This parser starts reading after `"`. ;; In the given examples, the parser starts at the dot: ;; ;; #"."asdf"" ;; #".--"#"()""--" (define (read-char* location) (let ((ch (read-char port))) (if (eof-object? ch) (error (list "eof in raw string literal" location)) ch))) (define delimiter (do ((ch (read-char* 'delim) (read-char* 'delim)) (acc '(#\") (cons ch acc))) ((char=? ch #\") (reverse (cons #\" acc))))) (call-with-port (open-output-string) (lambda (out) (define (read-delimiter n rest-of-delimiter) (if (null? rest-of-delimiter) (get-output-string out) (let ((ch (read-char* 'check))) (if (char=? ch (car rest-of-delimiter)) (read-delimiter (+ n 1) (cdr rest-of-delimiter)) (do ((n n (- n 1)) (delimiter delimiter (cdr delimiter))) ((zero? n) (read-raw ch)) (write-char (car delimiter) out)))))) (define (read-raw ch) (if (char=? ch (car delimiter)) (read-delimiter 1 (cdr delimiter)) (begin (write-char ch out) (read-raw (read-char* 'read))))) (read-raw (read-char* 'read))))) (import (chicken read-syntax)) (set-sharp-read-syntax! #\" read-raw-string))
Misc
Converting SRFI Pages to Chicken Wiki format using ChatGPT
I uploaded the HTML file of SRFI-225 to ChatGPT and used the following prompt to convert it into wiki format:
Convert the sections {insert your section names here} of this HTML
document into a format suitable for the
CHICKEN Scheme wiki format as level 4 sections. Do not paraphrase
or rewrite paragraphs. Put Scheme code blocks into `<enscript
language="scheme">` blocks. To create bold text, surround text with
`'`. To create italic text, surround text with two single quotes
`''`. For typewriter text, surround text with curly braces `{`. To
create a link, use `[[url]]` or `[[url | text]`. For descriptions
of procedures, surround the text with `<procedure>` and do not make
the inside of that block an inline or block code. Sections do not
have equals signs at the end of them. Put all of the text in a code
block so I can copy-paste it into the wiki.
It works well enough. It sometimes misses sections and messes up the formatting.