Hi Ali and Verena,

I like Ali’s idea and it would certainly simplify Bioconductor acceptance. Two 
things to keep in mind with a parallel implementation approach would be keeping 
the R and Julia backends consistent with any upstream changes and the 
possibility of getting different results from the two backends. I have found 
that approximate Bayesian computing (ABC) calibration frameworks typically do 
not sufficiently expose their pseudo random number generation (PRNG) facility 
to guarantee consistency of outputs because of the inherent particle sampling 
parallelism in ABC. If one were to go down the route of using an R ABC 
implementation, one would need to at least warn about differences in results 
between the R and Julia backends. For consistency of output from a given 
backend, instead of a quiet fallback, it may be better for the user to 
explicitly choose which backend to use at runtime given the potential PRNG 
issue above.

Pariksheet

On Feb 3, 2026, at 03:48, Ali Mostafa <[email protected]> wrote:

You don't often get email from [email protected]. Learn why this is 
important<https://aka.ms/LearnAboutSenderIdentification>

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]<mailto:[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]<mailto:[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<http://mlpack.org/>) and there is a spack package that may 
> simplify the installation for you 
> (packages.spack.io/package.html?name=mlpack<http://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]<mailto:[email protected]>> 
> on behalf of Hervé Pagès 
> <[email protected]<mailto:[email protected]>>
> Sent: Friday, January 30, 2026 1:26 PM
> To: Verena Korber; [email protected]<mailto:[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]<mailto:[email protected]> mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
> --
> Hervé Pagès
>
> Bioconductor Core Team
> [email protected]<mailto:[email protected]>
>
>        [[alternative HTML version deleted]]
>
> _______________________________________________
> [email protected]<mailto:[email protected]> mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

_______________________________________________
[email protected]<mailto:[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