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

Bootstrapping the compiler #21

Open
thomasvergne opened this issue May 18, 2024 · 0 comments
Open

Bootstrapping the compiler #21

thomasvergne opened this issue May 18, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@thomasvergne
Copy link
Member

Plume could be written in Plume itself to allow simpler and clearer compiler updates. This would additionally permit us to develop a more complex compiler that could allow developing compiler extensions. There are however some drawbacks to achieving such a thing: Plume compiler could be only developed by users who know well Plume.

Some features that bootstrapped compiler could enable:

  • Writing custom extensions and making Plume a maximum extensible language
  • Simplifying contribution process because of current Haskell difficulty and niche
  • Better compilation time as Haskell plus Cabal can be quite slow

Bootstrapping Plume will be achieved by rewriting everything that has been written in Haskell, in Plume, as a base. Some actual compiler features will be adapted to the new compiler.

@thomasvergne thomasvergne added enhancement New feature or request help wanted Extra attention is needed labels May 18, 2024
@thomasvergne thomasvergne added this to the Plume 1.0 milestone May 18, 2024
@thomasvergne thomasvergne self-assigned this May 18, 2024
@thomasvergne thomasvergne pinned this issue May 18, 2024
@thomasvergne thomasvergne unpinned this issue May 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant