Schema System for 'typed' R packages
- Dominant language
- F#
- Stars
- 245
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Description
RProvider currently has a typed semantic layer for the core R types (H-lists, vectors, data frames, factors).
If RProvider was coupled with a typed schema for any particular R package, it would be plausable to scope R functions to only accept certain input types and output specific semantic types. Follows on from #11.
#### Background
The proposal is to add a schema overlay system for the fact that R’s introspection is ambiguous and cannot know the true nature of arguments or return types supported by a package developer. The aim is that common libraries would have typed files. Initially, base and stats R packages would be a priority.
#### Requirements
- [ ] Schema system (TypeScript‑style overlays)
- Schema file format (TOML/YAML?)
- Schema loader + validation
- [ ] Consume schema in design-time
- Merge algorithm: introspection → schema → final signature
- Support for functions, classes, return types, data‑frame schemas
- [ ] Ensure all plausable R types are supported
- System for defining R functions (e.g. X ~ Y)
#### Related issues
#11, #10, #8, #9, #42, #180, #63, #50, #176, #3
Contributor guide
Assessment
This issue has not been assessed yet.