Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheme missing special keywords #2303

Closed
jcubic opened this issue Apr 11, 2020 · 5 comments · Fixed by #2304
Closed

Scheme missing special keywords #2303

jcubic opened this issue Apr 11, 2020 · 5 comments · Fixed by #2304

Comments

@jcubic
Copy link
Contributor

jcubic commented Apr 11, 2020

Found another missing features in Scheme syntax:

(syntax-case x)
(letrec-syntax x)
(let-syntax x)

They are special syntax for hygienic macro system, they are documented on Wikipedia.

@jcubic
Copy link
Contributor Author

jcubic commented Apr 11, 2020

syntax-case is optional it's part of R6RS, GitHub don't highlight it, but Prism can support it, it's minor change.

@jcubic
Copy link
Contributor Author

jcubic commented Apr 16, 2020

I'm wondering it's worth adding define-macro maybe multiple variants like /(def(ine)?-?macro)/

that will match:

define-macro
def-macro
defmacro
definemacro

this will make sure that different scheme implementations will have macro as keyword, I think that only defmacro and define-macro are needed, define-macro is more Scheme like (even that they are lisp macros) and defmacro is Common Lisp keyword.

@RunDevelopment
Copy link
Member

Lisp has its own language definition independent of Scheme, so we don't need to add keywords to Scheme that aren't part of Scheme.

@jcubic
Copy link
Contributor Author

jcubic commented Apr 16, 2020

define-macro is supported by lot of Scheme implementations, I think that it's not standard to have always given name, https://www.biwascheme.org/ supports define-macro the same as my interpreter, but it's not part of the standard.

@RunDevelopment
Copy link
Member

In that case, I'll add it. I thought it was Lisp-specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants