Skip to content

Replace syntax-rules implementation #175

Description

@okuoku

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions