Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
You can edit this page using
wiki syntax
for markup.
Article contents:
[[tags:users]] == About Graduate student at the [[https://physics.gatech.edu/user/peter-mcgoron|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 [[https://www.c-language.org/|C]], [[https://smlfamily.github.io/|Standard ML]], and (of course) Scheme. For more information see my [[https://peter.mcgoron.com|website]]. I contributed to the implementations of the complex inverse trigonometric functions in CHICKEN. == Eggs === Maintainer * [[/egg/srfi-194|SRFI-194]] * [[/egg/srfi-228|SRFI-228]] * [[/egg/srfi-252|SRFI-252]] * [[/egg/srfi-225|SRFI-225]] === Author * [[/egg/srfi-259|SRFI-259]] implementation * [[/egg/hascheme|HaScheme]] * [[/egg/nitrate|Nitrate]] * [[/egg/phosphate|Phosphate]] ==== SRFI 267 * [[https://srfi.schemers.org/srfi-267/srfi-267.html|SRFI 267 (Raw String Syntax)]] This SRFI can be implemented as a reader extension to CHICKEN. <enscript language="scheme"> (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)) </enscript> == Misc * [[https://peter.mcgoron.com/posts/vibe-coding-in-scheme/|Vibe Coding in CHICKEN]]
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you subtract 20 from 22?