openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
714 stars 38 forks source link

[PRE REVIEW]: extendr: Frictionless bindings for R and Rust #6328

Closed editorialbot closed 7 months ago

editorialbot commented 8 months ago

Submitting author: !--author-handle-->@cgmossa<!--end-author-handle-- (Mossa Reimert) Repository: https://github.com/extendr/extendr Branch with paper.md (empty if default branch): paper Version: v0.6.0 Editor: !--editor-->@jbytecode<!--end-editor-- Reviewers: @dccsillag, @luciorq Managing EiC: Daniel S. Katz

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/6a548b055fc6169052583bcf402cbf38"><img src="https://joss.theoj.org/papers/6a548b055fc6169052583bcf402cbf38/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/6a548b055fc6169052583bcf402cbf38/status.svg)](https://joss.theoj.org/papers/6a548b055fc6169052583bcf402cbf38)

Author instructions

Thanks for submitting your paper to JOSS @cgmossa. Currently, there isn't a JOSS editor assigned to your paper.

@cgmossa if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). You can search the list of people that have already agreed to review and may be suitable for this submission.

Editor instructions

The JOSS submission bot @editorialbot is here to help you find and assign reviewers and start the main review. To find out what @editorialbot can do for you type:

@editorialbot commands
editorialbot commented 8 months ago

Hello human, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 8 months ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.13 s (1343.3 files/s, 271409.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Rust                           126           2800           5434          17166
Markdown                        14            358              0           7158
R                               16            168            120            480
YAML                             5             78             99            368
TeX                              1              2              0            239
TOML                             7             32             28            124
PowerShell                       1             14             29             28
JSON                             1              0              0             19
C                                1              2              2              4
-------------------------------------------------------------------------------
SUM:                           172           3454           5712          25586
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 8 months ago

Wordcount for paper.md is 2120

editorialbot commented 8 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.18637/jss.v040.i08 is OK
- 10.1007/978-1-4614-6868-4 is OK
- 10.1080/00031305.2017.1375990 is OK
- 10.1038/d41586-020-03382-2 is OK
- 10.1007/978-981-15-1078-6_2 is OK
- 10.1093/bioinformatics/btv573 is OK
- 10.3384/ecp20176475 is OK
- 10.1101/2022.09.07.506908 is OK

MISSING DOIs

- None

INVALID DOIs

- None
editorialbot commented 8 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

editorialbot commented 8 months ago

Five most similar historical JOSS papers:

JuliaCall: an R package for seamless integration between R and Julia Submitting author: @Non-Contradiction Handling editor: @leouieda (Retired) Reviewers: @matbesancon, @aguang Similarity score: 0.8054

Bedtoolsr: An R package for genomic data analysis and manipulation Submitting author: @dphansti Handling editor: @mgymrek (Retired) Reviewers: @nhejazi, @mikmaksi Similarity score: 0.8036

rustworkx: A High-Performance Graph Library for Python Submitting author: @IvanIsCoding Handling editor: @drvinceknight (Active) Reviewers: @szhorvat, @inakleinbottle Similarity score: 0.8029

mlr3: A modern object-oriented machine learning framework in R Submitting author: @mllg Handling editor: @terrytangyuan (Retired) Reviewers: @nhejazi, @osorensen Similarity score: 0.8020

FEM_2D: A Rust Package for 2D Finite Element Method Computations with Extensive Support for hp-refinement Submitting author: @jeremiah-corrado Handling editor: @jedbrown (Active) Reviewers: @jeremylt, @YohannDudouit Similarity score: 0.8006

⚠️ Note to editors: If these papers look like they might be a good match, click through to the review issue for that paper and invite one or more of the authors before considering asking the reviewers of these papers to review again for JOSS.

danielskatz commented 8 months ago

@openjournals/dev - for some reason, the check repository command that was automatically run when this issue was opened doesn't seem to have given the expected word count for the paper, which seems like a bug. Can you check on this? (I don't see any issue with the paper length, this is really a request to make sure the command works properly in all cases)

danielskatz commented 8 months ago

πŸ‘‹ @CGMossa - thanks for your submission. Can you explain how this is research software, as I'm not sure I see it that way from the paper. What kinds of research papers would you expect to cite this work?

CGMossa commented 8 months ago

Thanks for your prompt handling of our submission! This software has broad applicability (as you can see from the diverse affiliations of the authors), but to give you a specific example: the focus of the team at the University of Copenhagen is on research into infectious disease modelling. Specifically, we are using extendR to facilitate implementation of agent-based models of disease spread, where there is a big need for researchers to code up complex models in an efficient language, where most/all of them are based around workflows in R.

My own PhD project is on African Swine Fever in domestic pigs and wild boar (and we would cite this paper in future work on specific models), but there are a lot of other similar applications in veterinary epidemiology and human infectious disease modelling. We cited a few of the researchers using Rust for models of ASF in wild boar in the introduction to our paper, but there are many others that are currently using a combination of e.g. C++ and R but would benefit from switching to Rust with an interface in R that we expect to cite extendR. In fact, we see extendR as fulfilling the same remit for R/Rust as Rcpp does for R/C++ - and the relevant article for Rcpp (https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Rcpp&btnG=) has been cited almost 2000 times!

We also mention changeforest https://github.com/mlondschien/changeforest/ which is published research software & paper. They would probably have cited an extendr-reference if it was present at that time.

Researchers that mainly write simulation/analysis/visualisation code in R, that occassionally need performance-focused code are one potential target. changeforest is an example of that.

In JOSS there is a paper on JuliaCall https://github.com/Non-Contradiction/JuliaCall, https://joss.theoj.org/papers/10.21105/joss.01284 which fulfills the exact same niche we do. However, we cited jlrs, because it brings Rust to Julia (which makes more sense for our paper).

I hope that helps to alleviate your concerns but please let me know if you would like further explanation.

JosiahParry commented 8 months ago

To provide a bit more context extendr plays a core role in this network merge paper that was recently submitted. A key part of the algorithm is written in rust and bindings are provided to R via extendr. Those rust algorithms/routines are then used as a part of a larger algorithm to merge two transit networks.

danielskatz commented 8 months ago

Thanks @CGMossa and @JosiahParry - I'm going to ask the JOSS editorial board to consider this issue and your responses, and then we'll make a decision about this, probably in a week or two.

danielskatz commented 8 months ago

@editorialbot query scope

editorialbot commented 8 months ago

Submission flagged for editorial review.

mdenwood commented 8 months ago

@danielskatz thanks for looking at the paper.

Could I also add another point to the discussion with the JOSS editorial board: as @CGMossa says, our paper is very similar in scope and purpose to https://joss.theoj.org/papers/10.21105/joss.01284 - which is one of the reasons we sent the extendR paper to JOSS. According to google scholar, the JuliaCall paper has been cited 15 times in a variety of fields, but I actually see the use case for R/Rust integration to be substantially more compelling than that for R/Julia integration - and perhaps eventually (if Rust continues its current growth in popularity) even similar to the use case for R/C++ integration (where the Rcpp article in JSS that @CGMossa mentioned has been very frequently cited). My own JSS article on interfacing R to JAGS (another similar use case to our paper) is by far the most frequently cited of my >100 research publications (https://scholar.google.co.uk/citations?user=Zos2XTkAAAAJ&hl=en), so I am a big believer in the research impact of this kind of software.

danielskatz commented 7 months ago

Note: if this passes the scope review, @jbytecode would like to edit it

CGMossa commented 7 months ago

@danielskatz That's good - I'm very happy that somebody has already volunteered for editorial duties!

I was also contacted by @luciorq who expressed an interest in reviewing the paper, if it passes editorial review. They heard about the paper submission via our discord server but are independent of the extendR project and we have not previously been in contact, so there is no conflict of interest. I couldn't find any other mechanism to suggest reviewers so have done so here - hope that's OK.

danielskatz commented 7 months ago

@CGMossa - please see the first comment in this issue, which includes

@cgmossa if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). You can search the list of people that have already agreed to review and may be suitable for this submission.

so basically, yes, we are happy with recommendations for reviewers, but in general don't want them tagged so they don't get notified before an editor chooses to ask them, to not send extra notifications to people...

danielskatz commented 7 months ago

@CGMossa - this has passed the scope review, so we'll start the process, by assigning @jbytecode as the editor, and then he'll work on finding reviewers, perhaps with your suggestions.

danielskatz commented 7 months ago

@editorialbot assign @jbytecode as editor

πŸ™

editorialbot commented 7 months ago

Assigned! @jbytecode is now the editor

jbytecode commented 7 months ago

@danielskatz - Thank you. I'll be doing my best.

Let me take a close look at the submission first. Since I'm familiar with the project, everything will be straightforward.

jbytecode commented 7 months ago

@editorialbot check references

jbytecode commented 7 months ago

@CGMossa - Hi, thank you for submitting your paper on such a valuable software to JOSS. I am the handling editor. We will be handling whole the stuff during the review process until a final decision is made by our track editor. Upon initial review, I noticed a couple of things that need correction in your BibTeX file (as well as the manuscript), but these can also be addressed after the review as they require only minor changes.

We need to identify at least 2 suitable reviewers. It appears you have already suggested one reviewer, and I would be happy to invite them as they seem to have expertise in R.

You may also suggest additional reviewers from the potential reviewers' list provided at the top of this issue. I believe including at least one Rustacean who is familiar with the R environment would be beneficial. Please provide the list of potential reviewers without using the '@' character to avoid triggering notifications.

Thank you in advance!

jbytecode commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

editorialbot commented 7 months ago

Five most similar historical JOSS papers:

eixport: An R package to export emissions to atmospheric models Submitting author: @ibarraespinosa Handling editor: @leeper (Retired) Reviewers: @jhollist Similarity score: 0.8089

rustworkx: A High-Performance Graph Library for Python Submitting author: @IvanIsCoding Handling editor: @drvinceknight (Active) Reviewers: @szhorvat, @inakleinbottle Similarity score: 0.8050

Bedtoolsr: An R package for genomic data analysis and manipulation Submitting author: @dphansti Handling editor: @mgymrek (Retired) Reviewers: @nhejazi, @mikmaksi Similarity score: 0.8046

FEM_2D: A Rust Package for 2D Finite Element Method Computations with Extensive Support for hp-refinement Submitting author: @jeremiah-corrado Handling editor: @jedbrown (Active) Reviewers: @jeremylt, @YohannDudouit Similarity score: 0.8030

mlr3: A modern object-oriented machine learning framework in R Submitting author: @mllg Handling editor: @terrytangyuan (Retired) Reviewers: @nhejazi, @osorensen Similarity score: 0.8014

⚠️ Note to editors: If these papers look like they might be a good match, click through to the review issue for that paper and invite one or more of the authors before considering asking the reviewers of these papers to review again for JOSS.

jbytecode commented 7 months ago

@CGMossa - you can also investigate the suggested papers (Five most similar historical JOSS papers) and we can give priority to their authors.

jbytecode commented 7 months ago

πŸ‘‹πŸ‘‹πŸ‘‹ Dear @luciorq πŸ‘‹πŸ‘‹πŸ‘‹

Would you be willing to assist in reviewing this submission for JOSS (Journal of Open Source Software)?

JOSS publishes articles about open source research software. The submission I'd like you to review is titled:

extendr: Frictionless bindings for R and Rust

You can find more information at the top of this Github issue (https://github.com/openjournals/joss-reviews/issues/6328).

The review process at JOSS is unique: it takes place in a GitHub issue, is open, and author-reviewer-editor conversations are encouraged. If you have any questions please let me know.

This is the pre-review issue. After setting at least 2 reviewers we will start the review process in a separate thread. In that thread, there will be 23 check items for each single reviewer.

Thank you in advance!

CGMossa commented 7 months ago

Thank you very much the guidance on the next steps.

jbytecode commented 7 months ago

@CGMossa - Thank you for providing a set of potential reviewers, indeed, that's very helpful. Sure, you can push your commits as we haven't started the review process yet. You can also push your commits of code changes during the review process but this time it wouldn't make breaking changes and/or become a cause of confusing. Changing the content of the manuscript is not usual.

jbytecode commented 7 months ago

πŸ‘‹πŸ‘‹πŸ‘‹ Dear @dccsillag and @esteinig πŸ‘‹πŸ‘‹πŸ‘‹

Would you be willing to assist in reviewing this submission for JOSS (Journal of Open Source Software)?

JOSS publishes articles about open source research software. The submission I'd like you to review is titled:

extendr: Frictionless bindings for R and Rust

You can find more information at the top of this Github issue (https://github.com/openjournals/joss-reviews/issues/6328).

The review process at JOSS is unique: it takes place in a GitHub issue, is open, and author-reviewer-editor conversations are encouraged. If you have any questions please let me know.

This is the pre-review issue. After setting at least 2 reviewers we will start the review process in a separate thread. In that thread, there will be 23 check items for each single reviewer.

Thank you in advance!

jbytecode commented 7 months ago

@CGMossa - please trigger a @editorialbot generate pdf task to update your manuscript when you've finished your changes.

CGMossa commented 7 months ago

@editorialbot generate pdf

editorialbot commented 7 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

editorialbot commented 7 months ago

Five most similar historical JOSS papers:

JuliaCall: an R package for seamless integration between R and Julia Submitting author: @Non-Contradiction Handling editor: @leouieda (Retired) Reviewers: @matbesancon, @aguang Similarity score: 0.8036

eixport: An R package to export emissions to atmospheric models Submitting author: @ibarraespinosa Handling editor: @leeper (Retired) Reviewers: @jhollist Similarity score: 0.8030

FEM_2D: A Rust Package for 2D Finite Element Method Computations with Extensive Support for hp-refinement Submitting author: @jeremiah-corrado Handling editor: @jedbrown (Active) Reviewers: @jeremylt, @YohannDudouit Similarity score: 0.8028

mlr3: A modern object-oriented machine learning framework in R Submitting author: @mllg Handling editor: @terrytangyuan (Retired) Reviewers: @nhejazi, @osorensen Similarity score: 0.8001

Bedtoolsr: An R package for genomic data analysis and manipulation Submitting author: @dphansti Handling editor: @mgymrek (Retired) Reviewers: @nhejazi, @mikmaksi Similarity score: 0.7982

⚠️ Note to editors: If these papers look like they might be a good match, click through to the review issue for that paper and invite one or more of the authors before considering asking the reviewers of these papers to review again for JOSS.

jbytecode commented 7 months ago

πŸ‘‹πŸ‘‹πŸ‘‹ Dear @robmoss πŸ‘‹πŸ‘‹πŸ‘‹

Would you be willing to assist in reviewing this submission for JOSS (Journal of Open Source Software)?

JOSS publishes articles about open source research software. The submission I'd like you to review is titled:

extendr: Frictionless bindings for R and Rust

You can find more information at the top of this Github issue (https://github.com/openjournals/joss-reviews/issues/6328).

The review process at JOSS is unique: it takes place in a GitHub issue, is open, and author-reviewer-editor conversations are encouraged. If you have any questions please let me know.

This is the pre-review issue. After setting at least 2 reviewers we will start the review process in a separate thread. In that thread, there will be 23 check items for each single reviewer.

Thank you in advance!

robmoss commented 7 months ago

@jbytecode in principle I'd be interested in reviewing this paper, but my capacity is extremely limited at the moment β€” I have impending deadlines for several research contracts β€” and I don't believe I could complete the review in a timely manner. I have another JOSS review underway, and once I finish it I might be able to review this paper, if you're still searching for reviewers at that point. Sorry!

jbytecode commented 7 months ago

@robmoss - thank you for the response. Please keep in touch.

@CGMossa - You mentioned that luciorq has accepted to review if the submission passes the scope check, but it seems they haven't caught our notifications yet. Maybe you can reach them on discord if possible.

dccsillag commented 7 months ago

Hello! Yes, I'd be happy to review it.

jbytecode commented 7 months ago

@editorialbot add @dccsillag as reviewer

@dccsillag - thank you for accepting our invitation. whenever we set at least two reviewers, the review will start in a separate thread. I will introduce the review instructions there. thank you.

editorialbot commented 7 months ago

@dccsillag added to the reviewers list!

jbytecode commented 7 months ago

πŸ‘‹πŸ‘‹πŸ‘‹ Dear @lskatz πŸ‘‹πŸ‘‹πŸ‘‹

Would you be willing to assist in reviewing this submission for JOSS (Journal of Open Source Software)?

JOSS publishes articles about open source research software. The submission I'd like you to review is titled:

extendr: Frictionless bindings for R and Rust

You can find more information at the top of this Github issue (https://github.com/openjournals/joss-reviews/issues/6328).

The review process at JOSS is unique: it takes place in a GitHub issue, is open, and author-reviewer-editor conversations are encouraged. If you have any questions please let me know.

This is the pre-review issue. After setting at least 2 reviewers we will start the review process in a separate thread. In that thread, there will be 23 check items for each single reviewer.

Thank you in advance!

luciorq commented 7 months ago

Dear @jbytecode,

Thank you for the invitation to review "extendr: Frictionless bindings for R and Rust" for JOSS. I am intrigued by the subject, given my background in R and bindings to other languages.

Looking forward to contributing to the JOSS community.

jbytecode commented 7 months ago

@editorialbot add @luciorq as reviewer

@luciorq - thank you for accepting our invitation

@CGMossa, @dccsillag, @luciorq - I am now starting the review process in a separate thread (issue). The pre-review thread will be automatically closed. See you there. Thank you in advance.

editorialbot commented 7 months ago

@luciorq added to the reviewers list!

jbytecode commented 7 months ago

@editorialbot start review

editorialbot commented 7 months ago

OK, I've started the review over in https://github.com/openjournals/joss-reviews/issues/6394.

lskatz commented 7 months ago

Hi, thank you for including me. I do not feel like I am enough of an expert in R and Rust to view language bindings between them, but I am comforted that you found enough reviewers to move forward.