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


Reply via email to