Replace non-hygienic syntax-rules implementation with our own.
Currently, yuni uses syntax-rules implementation that derived from Chibi-scheme which is BSD licensed. The license conflicts Scheme standard licensing that can be found in the reports(public domain) thus we need our own.
Although there are some discussions whether or not result of macro/template expansion would form derived product, some language implementations have explicit exception on their license such as:
https://github.com/llvm/llvm-project/blob/ba1915028ecb4f6081f25e6ec9abe27b3e9d34ae/libcxx/LICENSE.TXT#L208-L222
Design
- Can be implemented in terms of
define-macro -- allow non-hygienic behaviour because there is no way to achieve it
- Support proprietary gensym operator
__1 ... __9 to support temporary variable definition
- Support automatic gensym replacement for
define and named-let
Replace non-hygienic
syntax-rulesimplementation with our own.Currently, yuni uses
syntax-rulesimplementation that derived from Chibi-scheme which is BSD licensed. The license conflicts Scheme standard licensing that can be found in the reports(public domain) thus we need our own.Although there are some discussions whether or not result of macro/template expansion would form derived product, some language implementations have explicit exception on their license such as:
https://github.com/llvm/llvm-project/blob/ba1915028ecb4f6081f25e6ec9abe27b3e9d34ae/libcxx/LICENSE.TXT#L208-L222
Design
define-macro-- allow non-hygienic behaviour because there is no way to achieve it__1...__9to support temporary variable definitiondefineand named-let