guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (ice-9 nice-9) module update


From: Panicz Maciej Godek
Subject: Re: (ice-9 nice-9) module update
Date: Thu, 3 Sep 2015 16:16:23 +0200

I inform that I eventually resigned from publishing the "publish" form, as it might be considered too idiosyncratic to some (mostly in its implementation).

It now exports exactly 9 bindings, 7 of which are the core bindings (lambda, define, define-syntax, let, let*, let-syntax, letrec-syntax), one which replaces the srfi-2 and-let* whith a pattern matching one, and one which simply re-exports match from (ice-9 match).

The main novelty is that I allowed a new usage of define-syntax and let*-syntax variants, as suggested by Taylan. In addition to

(define-syntax (foo a b)
  (bar b a))

(which can be used in place of "define-syntax-rule"), one can also use it as

(define-syntax new-syntax keywords
  (pattern template)
  ...)

which will expand to

(define-syntax new-syntax
  (syntax-rules keywords
    (pattern template)
    ...))

The same applies to let-syntax and letrec-syntax.

The latest version can be found here:
https://bitbucket.org/panicz/slayer/src/42956355fc0aaab3c5b4897be3e37bbbf7f0963b/guile-modules/ice-9/nice-9.scm?at=default

HF


reply via email to

[Prev in Thread] Current Thread [Next in Thread]