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

design the developer API #50

Open
dedbox opened this issue Apr 9, 2019 · 2 comments
Open

design the developer API #50

dedbox opened this issue Apr 9, 2019 · 2 comments
Labels
meta Issues about or in support of other issues

Comments

@dedbox
Copy link
Owner

dedbox commented Apr 9, 2019

The next release brings three major updates:

  1. a completed tutorial series
  2. tighter integration with match and syntax-parse
  3. the initial developer API

Most of the work will be for number 3.

We need more information to make any sort of meaningful decision. What must it provide to be useful? Are there any examples that clearly demonstrates its utility? Does it have any unique or surprising qualities? What does any of this have to do with language-oriented programming?

@dedbox dedbox added the meta Issues about or in support of other issues label Apr 9, 2019
@dedbox dedbox added this to the Release 1.1 milestone Apr 9, 2019
@dedbox
Copy link
Owner Author

dedbox commented Apr 9, 2019

Some initial thoughts.

At this stage, the existing syntax classes are low hanging fruit, but not necessarily that valuable to other developers. They're only much use for operating on algebraic functions or macros. The design just needs some polish: better names, more refined classes, miscellaneous tweaks.

A more substantial use case might require access to the information Algebraic Racket uses to generate definitions and hooks into the stages of a computation for checking types and whatnot. A simple coverage check (e.g. "you forgot a case for SomeProduct") would be useful. A more sophisticated exhaustivity check would be even better.

@dedbox
Copy link
Owner Author

dedbox commented Apr 10, 2019

The syntax classes are also useful for macro writers that want to ensure an argument is a sum or product identifier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues about or in support of other issues
Projects
None yet
Development

No branches or pull requests

1 participant