Skip to content

Macro defining macro working with compiler but not icyc #558

Description

@ChillPC

On cyclone 0.36.0, with the code:

;; main.scm
(import
  (scheme base)
  (scheme write))

(define-syntax
  m
  (syntax-rules ()
    ((_ macro-from who)
     (define-syntax
       macro-from
       (syntax-rules ()
         ((_ from)
          (begin
            (display
              (string-append "Hello " who " from " from "!"))
            (newline))))))))


(m message-for-you "you")

(message-for-you "me")

Compiling:

$ cyclone main.scm && ./main.scm
Hello you from me!

With icyc:

$ icyc -s main.scm
Error: Too few arguments supplied: (expr$52$63$72 rename$53$64$73 compare$54$65$74) ("me") 
Call history, most recent first:
[1] scheme/base.sld:raise
[2] scheme/base.sld:error
[3] scheme/cyclone/util.sld:env:extend-environment
[4] scheme/cyclone/util.sld:pack-lambda-arguments
[5] scheme/cyclone/util.sld:formals->list
[6] scheme/cyclone/util.sld:tagged-list?
[7] scheme/eval.sld:execute-application
[8] scheme/base.sld:Cyc-map-loop-1
[9] scheme/cyclone/util.sld:env:_lookup-variable-value

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions