OpenRefine / OpenRefine/OpenRefine
Migrate GREL to the Truffle framework
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 12k
- Forks
- 2.2k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 27
Description
Is your feature request related to a problem or area of OpenRefine? Please describe.
It would be nice to re-implement GREL using the Truffle library, which is used by GraalVM to implement interpreters for various languages.
This would bring the following benefits:
- ability to improve interoperability between expression languages: for instance, using some GREL functions in other expression languages or conversely;
- potentially a faster evaluation if the GraalVM is used (although given GREL's simplicity I would not expect huge gains);
- allowing Truffle-based AST analysis, for #2248.
Describe the solution you'd like
Expose GREL as a Truffle-compatible language.
Additional context
This is not a blocking feature in our roadmap, it would just be a nice thing to have on the long term. It should also be a good first task to learn about Truffle.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how GREL is currently implemented and how Truffle-based languages are exposed in GraalVM. Consider the AST analysis goal described in #2248 and the requested interoperability benefits. Done means GREL is exposed as a Truffle-compatible language without making it a roadmap-blocking requirement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100