fslaborg / fslaborg/RProvider

Schema System for 'typed' R packages

Open
#272 0 comments 0 reactions 0 assignees View on GitHub
Status: Available Type: Enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.