[Rd] Is ALTREP "non-API"?

Gabriel Becker g@bembecker @end|ng |rom gm@||@com
Mon Apr 22 09:37:22 CEST 2024


Hi Yutani,

ALTREP is part of the official R api, as illustrated by the presence of
src/include/R_ext/Altrep.h. Everything declared in the header files in that
directory is official API AFAIK (and I believe that is more definitive than
the manuals).

The documentation of ALTREP has lagged behind its implementation
unfortunately, which may partially my fault for not submitting doc
patches for it against the manuals. Sorry for my contribution to that, I'll
see if I can loop back around to contributing documentation for ALTREP.

Best,
~G

On Sun, Apr 21, 2024 at 6:36 PM Hiroaki Yutani <yutani.ini using gmail.com> wrote:

> Thanks, Hernando,
>
> Sorry, "API" is a bit confusing term in this context, but what I want to
> discuss is the "API" that Writing R Extension defines as quoted in my
> previous email. It's probably different from an ordinary sense when we
> casually say "R C API".
>
> You might wonder why I care about such a difference. This is because
> calling a "non-API" is considered a violation of CRAN repository policy,
> which means CRAN will kick out the R package. I know many CRAN packages use
> ALTREP, but just being accepted by CRAN at the moment doesn't mean CRAN
> will keep accepting it. So, I want to clarify the current status of ALTREP.
>
> Best,
> Yutani
>
> 2024年4月22日(月) 10:17 <hcortina71 using gmail.com>:
>
> > Hello, I don't believe it is illegal, as ALTREP "implements an
> abstraction
> > underneath the C API". And is "compatible with all code which uses the
> > API".
> >
> > Please see slide deck by Gabriel Becker,  with L Tierney, M Lawrence and
> T
> > Kalibera.
> >
> >
> >
> https://bioconductor.org/help/course-materials/2020/BiocDevelForum/16-ALTREP
> > .pdf
> > <
> https://bioconductor.org/help/course-materials/2020/BiocDevelForum/16-ALTREP.pdf
> >
> >
> > ALTREP framework implements an abstraction underneath traditional R C API
> > - Generalizes whats underneath the API
> > - Without changing how data are accessed
> > - Compatible with all C code which uses the API
> > - Compatible with R internals
> >
> >
> > I hope this helps,
> > Hernando
> >
> >
> > -----Original Message-----
> > From: R-devel <r-devel-bounces using r-project.org> On Behalf Of Hiroaki
> Yutani
> > Sent: Sunday, April 21, 2024 8:48 PM
> > To: r-devel <r-devel using r-project.org>
> > Subject: [Rd] Is ALTREP "non-API"?
> >
> > Writing R Extension[1] defines "API" as:
> >
> >     Entry points which are documented in this manual and declared in an
> > installed header file. These can be used in distributed packages and will
> > only be changed after deprecation.
> >
> > But, the document (WRE) doesn't have even a single mention of ALTREP, the
> > term "ALTREP" itself or any entry points related to ALTREP. Does this
> mean,
> > despite the widespread use of it on R packages including CRAN ones,
> ALTREP
> > is not the API and accordingly using it in distributed packages is
> > considered illegal?
> >
> > Best,
> > Yutani
> >
> > [1]:
> > https://cran.r-project.org/doc/manuals/r-release/R-exts.html#The-R-API
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-devel using r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> >
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

	[[alternative HTML version deleted]]



More information about the R-devel mailing list