Resurrection Panicz Maciej Godek (10 Feb 2022 22:09 UTC)
Re: Resurrection Arthur A. Gleckler (12 Feb 2022 16:35 UTC)
Re: Resurrection Panicz Maciej Godek (13 Feb 2022 10:35 UTC)
Re: Resurrection Amirouche (13 Feb 2022 13:16 UTC)
Re: Resurrection Arthur A. Gleckler (15 Feb 2022 20:28 UTC)
SRFI 200: 630 days Arthur A. Gleckler (17 Mar 2022 19:04 UTC)
Re: SRFI 200: 630 days Arthur A. Gleckler (17 Mar 2022 19:10 UTC)
Re: SRFI 200: 630 days Panicz Maciej Godek (17 Mar 2022 19:29 UTC)
Re: SRFI 200: 630 days Arthur A. Gleckler (17 Mar 2022 20:00 UTC)
Re: SRFI 200: 630 days Panicz Maciej Godek (23 Mar 2022 06:02 UTC)

Re: Resurrection Amirouche 13 Feb 2022 13:16 UTC

Hello,

I tried to port SRFI-204 to several Scheme implementation, I failed.

At this time a reduced test suite pass for the following implementations:

- chez
- chibi
- gambit
- gauche
- loko
- racket
- sagittarius

And fails for the following implementations:

- chicken
- cyclone
- gerbil
- guile
- mit

You can find the test suite I use at:

  git clone --branch=match https://github.com/scheme-live/live/
  cd live
  cat live/match/unstable/checks/check-*.scm

It seems to me a standard pattern matcher should be possible to implement on top R7RS-small, alas that exclude some rules such as:

> ($ record-name pat_1 ... pat_n) a record
>
> (= field pat)                   a ``field'' of an object
>
> (set! identifier)               anything, and binds setter
>
> (get! identifier)               anything, and binds getter
>

The box rule does not seem necessary; a box has no portable `write` representation (so far):

> #&qp                            box

I never used a guard.

ref: https://github.com/scheme-live/live/pull/67
ref: https://srfi.schemers.org/srfi-200/
ref: https://srfi.schemers.org/srfi-204/