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

Try to connect stdin with Lexer/Parser #150

Closed
jcubic opened this issue Mar 26, 2021 · 3 comments
Closed

Try to connect stdin with Lexer/Parser #150

jcubic opened this issue Mar 26, 2021 · 3 comments
Labels
enhancement New feature or request
Milestone

Comments

@jcubic
Copy link
Collaborator

jcubic commented Mar 26, 2021

This would make possible to access Lexer using read from inside syntax extension, and allow to create completely new syntax, the same as Common Lisp reader macros. There would be requirement of new type of specials that don't accept any object that will modify the lexer when it's running.

@jcubic jcubic added the enhancement New feature or request label Mar 26, 2021
@jcubic
Copy link
Collaborator Author

jcubic commented Apr 2, 2021

There was failed attempt to implement reader macros in #13 but here after Lexer is added that is in fact like character stream this is possible to implement.

@jcubic jcubic added this to the 1.1 milestone May 11, 2021
@jcubic
Copy link
Collaborator Author

jcubic commented Aug 22, 2022

Here is reference for CL Reader Macros

@jcubic
Copy link
Collaborator Author

jcubic commented Jan 23, 2024

It should be possible to implement object literal syntax like this:

#{ "foo": "bar" }

The extension should use stdin to read the text and process it. It should be a recursive process. The reader should use Lexer to process the text inside to allow nested objects:

#{ "foo": #(1 2 3) }

It should red string symbol : and a value. until it finds }.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant