New Egg: SRFI-253 Data (Type-)Checking

Jeremy Steward <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Organization ThatGeoGuy
Message-ID <[email protected]>
Hey all,

There's lots of facilities for checking arguments / types / etc. already 
in CHICKEN; however, many of these are non-portable. They may include 
er-macro-transformers, assume some implementation-specific type syntax 
(e.g. typed-records), or otherwise just is difficult to make portable 
across R7RS implementations.

SRFI-253 was finalized a couple days ago, and it standardizes many of 
these things. This isn't necessarily new ground for anyone in the 
community, but I want to adopt it because the transducers and 
generalized-arrays eggs are pretty much only "not portable" across 
implementations because they rely on the wonderful check-errors egg 
rather than some cross-Scheme equivalent. SRFI-253 can more or less 
replace most of my usage of the check-errors egg in a more portable way, 
when I want or need something more portable over check-errors which very 
likely has more "features."

Nevertheless, many of you might find this useful as well, so I packaged 
SRFI-253. There were some implementation oddities in the sample 
implementation, but I think I covered those over pretty well. See the 
SRFI mailing list archives if you want context for that conversation.

Results of test-new-egg:

$ test-new-egg srfi-253 
https://gitlab.com/ThatGeoGuy/srfi-253/-/raw/main/srfi-253.release-info

... LOTS OF TEXT ...

==== srfi-253 (1 of 1) ====
   Fetching........................................[ ok ] 0s
   Reading .egg....................................[ ok ] 0s
   Checking dependencies...........................[ ok ] 0s
   Checking category...............................[ ok ] 0s
   Checking license................................[ ok ] 0s
   Checking author.................................[ ok ] 0s
   Installing......................................[ ok ] 2m3s
   Checking version................................[ -- ]
   Testing.........................................[ ok ] 11s
   Checking documentation..........................[ ok ] 1s
Removing /tmp/temp194e.197835
Egg looks ok!

My repo also has CI / tests (and the tests pass), and for the most part 
looks good with chicken-lint. Docs are located at 
<https://wiki.call-cc.org/eggref/5/srfi-253>.

Hope it's useful, and cheers!
-- 
Jeremy Steward
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.