https://github.com/purefunctor/purescript-alexandrite
Language implementation for PureScript
https://github.com/purefunctor/purescript-alexandrite
compiler functional-programming purescript
Last synced: 11 days ago
JSON representation
Language implementation for PureScript
- Host: GitHub
- URL: https://github.com/purefunctor/purescript-alexandrite
- Owner: purefunctor
- License: other
- Created: 2023-07-23T08:38:57.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-05-26T14:00:06.000Z (17 days ago)
- Last Synced: 2026-05-26T14:34:21.035Z (17 days ago)
- Topics: compiler, functional-programming, purescript
- Language: Rust
- Homepage: https://purefunctor.github.io/purescript-alexandrite/
- Size: 8 MB
- Stars: 84
- Watchers: 9
- Forks: 10
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
alexandrite
a language implementation for PureScript
---
Alexandrite is a language implementation for PureScript, powered by an incremental, query-based build
system. Instead of a sequence of compiler phases, Alexandrite models compilation and semantic information
as incrementally computed queries. These queries are used extensively to implement code intelligence
features in the language server.
The build system is designed with interactive editing in mind. To support this, it tracks dependencies
between inputs and queries, caches query results, deduplicates in-progress work across threads, and
supports cooperative cancellation when inputs change. Crucially, many query results are designed to
be incrementally reusable. For example, the compiler uses stable identities in lieu of source ranges
to enable minimal recomputation across trivial formatting changes.
The language server component implements core code intelligence features such as completion, jump to
definition, hover information, find references, workspace symbol search, and diagnostics.