typepal
TypePal is a framework for name analysis, type checking and type inference
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.1%) to scientific vocabulary
Keywords
domain-specific-language
rascal
type-checking
typechecker
Last synced: 6 months ago
·
JSON representation
·
Repository
TypePal is a framework for name analysis, type checking and type inference
Basic Info
- Host: GitHub
- Owner: usethesource
- License: bsd-2-clause
- Language: Rascal
- Default Branch: main
- Homepage: https://www.rascal-mpl.org/docs/Packages/Typepal/TypePal/
- Size: 2.26 MB
Statistics
- Stars: 5
- Watchers: 22
- Forks: 4
- Open Issues: 4
- Releases: 10
Topics
domain-specific-language
rascal
type-checking
typechecker
Created about 8 years ago
· Last pushed 6 months ago
Metadata Files
Readme
License
Citation
README.md
TypePal
An experiment in type checker generation. Warning: work in progress!
From the user perspective the basic idea is as follows:
- Start with a Rascal grammar of the language of interest, say, MiniML.
- Write functions for specific language constructs
definecaptures all defining occurrences of variables and their scopes;usecaptures all uses of variables;requirecaptures all static requirements on the use of certain constructs, such formal/actual parameter correspondence and the like;calculateto compute a type for a language fragment using earlier calculated types, think of the result type of an operator based on its argument types.
- The above functions will populate a fact/requirement model (or
TModelfor short) of a source program to be type checked. - Apply the
collectfunction to a parsed program (a parse tree). This will applydefine/use/require/calculateto all relevant places in the tree, will create scopes and use/def information and will also build a collection of constraints. They are all part of theTModel. - Apply
solveto theTModelresulting from the previous step.solveis happy if all constraints can be solved and generates error messages otherwise.solvealso enhances the originalTModelwith derived facts that can be used for use/def analysis, interactive display of type information, and the like.
Owner
- Name: Use The Source
- Login: usethesource
- Kind: organization
- Email: jurgen.vinju@cwi.nl
- Website: http://www.usethesource.io
- Repositories: 26
- Profile: https://github.com/usethesource
Open Source Projects around Meta Programming
Citation (CITATION.md)
Paul Klint, Jurgen J. Vinju, Davy Landman, & Rodin Aarssen. (2023). usethesource/typepal: v0.8.5 (v0.8.5). Zenodo. https://doi.org/10.5281/zenodo.8093927
```bibtex
@software{paul_klint_2023_8093927,
author = {Paul Klint and
Jurgen J. Vinju and
Davy Landman and
Rodin Aarssen},
title = {usethesource/typepal: v0.8.5},
month = jun,
year = 2023,
publisher = {Zenodo},
version = {v0.8.5},
doi = {10.5281/zenodo.8093927},
url = {https://doi.org/10.5281/zenodo.8093927}
}
```
GitHub Events
Total
- Create event: 16
- Issues event: 2
- Release event: 3
- Issue comment event: 11
- Push event: 69
- Pull request review event: 17
- Pull request review comment event: 14
- Pull request event: 10
Last Year
- Create event: 16
- Issues event: 2
- Release event: 3
- Issue comment event: 11
- Push event: 69
- Pull request review event: 17
- Pull request review comment event: 14
- Pull request event: 10
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 10
- Average time to close issues: 3 months
- Average time to close pull requests: about 1 month
- Total issue authors: 4
- Total pull request authors: 5
- Average comments per issue: 2.14
- Average comments per pull request: 2.0
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 2
- Pull requests: 5
- Average time to close issues: N/A
- Average time to close pull requests: 9 days
- Issue authors: 2
- Pull request authors: 3
- Average comments per issue: 0.0
- Average comments per pull request: 2.6
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jurgenvinju (3)
- DavyLandman (2)
- toinehartman (1)
- kevinvandervlist (1)
Pull Request Authors
- jurgenvinju (4)
- DavyLandman (3)
- toinehartman (2)
- PaulKlint (2)
- dependabot[bot] (1)
Top Labels
Issue Labels
enhancement (2)
Pull Request Labels
dependencies (1)
enhancement (1)
Dependencies
pom.xml
maven
- junit:junit 4.13.1
- org.rascalmpl:rascal 0.23.0
.github/workflows/build.yaml
actions
- SWAT-engineering/maven-full-artifacts-action v1 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-java v1 composite
- scacap/action-surefire-report v1 composite
- softprops/action-gh-release v1 composite
- usethesource/releases-maven-action v1 composite