https://github.com/ramiromagno/c3po
From C to R and back again
https://github.com/ramiromagno/c3po
c documentation r
Last synced: 10 months ago
JSON representation
From C to R and back again
- Host: GitHub
- URL: https://github.com/ramiromagno/c3po
- Owner: ramiromagno
- License: other
- Created: 2020-04-28T19:57:27.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-01-04T02:29:45.000Z (over 5 years ago)
- Last Synced: 2025-06-20T00:02:04.410Z (about 1 year ago)
- Topics: c, documentation, r
- Language: CSS
- Homepage: https://rmagno.eu/c3po
- Size: 1020 KB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
README
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# c3po 
[](https://www.tidyverse.org/lifecycle/#experimental)
[](https://travis-ci.org/ramiromagno/c3po)
c3po is a documentation-only package for the journey from R to C and back again. Please note this is still a very much work in progress.
## Installation
``` r
# install.packages("remotes")
remotes::install_github("ramiromagno/c3po")
```
## Usage
Browse the online documentation: https://rmagno.eu/c3po.
## Help
Help is emphatically appreciated! This package is at its infancy still, so if you feel like you can help documenting R's C API, please do. I will be glad to accept pull requests.
## References
These are the sources I have been using to write this documentation.
- R's source code: https://github.com/wch/r-source/
- Writing R Extensions: https://cran.r-project.org/doc/manuals/r-release/R-exts.html
- R Internals: https://cran.r-project.org/doc/manuals/r-release/R-ints.html
- Hadley's Advanced R 1st edition: http://adv-r.had.co.nz/C-interface.html
- Hadley's R packages: https://r-pkgs.org/src.html#clang
- Hadley's notes on R internals: https://github.com/hadley/r-internals
- Lukas Stadler's documentation for the R native API header files: https://lukasstadler.github.io/RAPI/html/index.html
- Native API stats of Rinternals.h without USE R INTERNALS: https://wiki.r-consortium.org/view/Native_API_stats_of_Rinternals.h_without_USE_R_INTERNALS
- The GNU C Reference Manual: https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html
- Tomas Kalibera: Common PROTECT Errors: https://developer.r-project.org/Blog/public/2019/04/18/common-protect-errors/
- The danger of PROTECT errors: https://github.com/kalibera/cran-checks/blob/master/rchk/PROTECT.md
- C source code from the rlang package: https://github.com/tidyverse/rlang
- Using R — Packaging a C library in 15 minutes: http://mazamascience.com/WorkingWithData/?p=1151