Hi everyone,

I am dealing with a similar situation involving an R package that sources
Julia code. One approach we are considering is to provide parallel
implementations in both R and Julia, with the package defaulting to the
Julia backend when available and automatically falling back to a pure R
implementation otherwise. This would allow the package to remain usable
without a Julia installation, while still benefiting from Julia’s
performance when present.

Would such a design be considered reasonable, and potentially acceptable,
for a Bioconductor submission?

Kind regards,
Ali

On Tue, 3 Feb 2026 at 10:26, Verena Korber via Bioc-devel <
[email protected]> wrote:

> Hi both,
>
> Many thanks for your detailed responses. The reason we want to build the
> package on Julia is that we use approximate Bayesian Computation, which
> runs significantly faster in Julia than in R. You’re probably right that
> compiling on C++ would be more straightforward and I see the points you
> make. My senses was it would be nice to have an R interface as this is more
> accessible to many users but reading your responses, I think that’s
> probably not the way to take things forward.
>
> Many thanks again for your help and all the best,
>
> Verena
>
> > On 30 Jan 2026, at 20:06, Nanda, Pariksheet <[email protected]> wrote:
> >
> > Hi Verena,
> >
> > Polyglot code can be tricky as Hervé points out. Another option, if
> you're open to using Rcpp in your Bioconductor package, is the mlpack C++
> header-only library that interfaces with Julia, R, Python, and Go (
> mlpack.org) and there is a spack package that may simplify the
> installation for you (packages.spack.io/package.html?name=mlpack) if
> you're not keen on containers and/or prefer native architecture compilation.
> >
> > That way, you're specifying an external dependency on mlpack only for
> which you can also create an R package (CRAN has plenty of C++ header-only
> packages you can refer to) and to Hervé's point you could limit certain
> unit tests that are julia-specific to CI systems that provide that
> functionality (perhaps your own).
> >
> > I don't use mlpack and don't know how well it would suit your purpose;
> you don't describe what Julia packages or functionality you're using the
> Julia code for. mlpack is the only relevant result that showed up from
> searching for polyglot r packages in the spack repository with julia [1].
> >
> > As Hervé mentions, you would have to think carefully about your user
> setup experience and how maintainable it would be to have robust packaging
> with Julia code compared to rewriting the Julia code into existing R
> packages or setup that requires fewer additional steps and moving parts. I
> don't meant to discourage you from what you're doing: polyglot code is more
> common and in large scientific codes but can need a bit of work to maintain
> within language-specific package managers or require a language-agnostic
> package manager.
> >
> > Pariksheet
> >
> > [1] Namely:
> > git clone https://github.com/spack/spack.git spack
> > cd spack
> > source share/spack/setup-env.sh
> > spack repo update
> > spack cd -P
> > grep -lw r packages/*/*.py | xargs grep -F julia
> > less packages/mlpack/package.py
> >
> > ________________________________________
> > From: Bioc-devel <[email protected]> on behalf of Hervé
> Pagès <[email protected]>
> > Sent: Friday, January 30, 2026 1:26 PM
> > To: Verena Korber; [email protected]
> > Subject: Re: [Bioc-devel] Bioconductor package based on Julia?
> >
> > Hi Verena,
> >
> > I personally don't have any experience with using Julia within an R
> > package, and I don't think we have any packages in Bioconductor that do
> > this at the moment. As you mentioned, the implication is that users will
> > need a Julia installation for the package to run. Ask yourself how many
> > users are going to be comfortable doing this. I don't know how
> > mainstream Julia has become at this point, and how easy it is to
> > install. Is it available on the 4 major platforms that we officially
> > support, i.e. on Linux, Windows, Intel Mac, and Mac Silicon?
> >
> > It also means that we will need to install Julia on our build machines.
> > And also that, in the near future, the builds on r-universe will be able
> > to accommodate this requirement (I'm mentioning this in the context of
> > an ongoing effort by the core team to move the Bioconductor daily builds
> > to the r-universe build facilities).
> >
> > At the very least, you'll need to:
> >
> > 1. List Julia in the SystemRequirements field of the package.
> >
> > 2. Provide an INSTALL file that explains how to install Julia on the 4
> > major platforms that we support. See
> > https://contributions.bioconductor.org/sysdep.html?q=install#sysdep
> >
> > They have JuliaCall and JuliaConnectoR on CRAN for interfacing R with
> > Julia code, which I'm not familiar with either, but it seems to me that
> > you'd want to leverage that.
> >
> > Sorry for the very generic answer. Hopefully someone on this mailing
> > list has some experience with Julia in R and can give more useful
> > recommendations.
> >
> > Best,
> >
> > H.
> >
> >
> > On 15/01/2026 08:47, Verena Korber via Bioc-devel wrote:
> >> Hello,
> >>
> >> We are currently developing an R package that sources Julia code. Is it
> possible to submit sth. like this to Bioconductor and if so, what would the
> requirements be? I guess one challenge is that users would need a Julia
> installation for the package to run. If anyone has any experience in that
> direction, it would be super helpful.
> >>
> >> Many thanks and kind regards,
> >>
> >> Verena
> >> _______________________________________________
> >> [email protected] mailing list
> >> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> >
> > --
> > Hervé Pagès
> >
> > Bioconductor Core Team
> > [email protected]
> >
> >        [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > [email protected] mailing list
> > https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> _______________________________________________
> [email protected] mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

        [[alternative HTML version deleted]]

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to