Joss-reviews: [REVIEW]: ResumableFunctions: C# sharp style generators for Julia.

Created on 11 Sep 2017  ·  30Comments  ·  Source: openjournals/joss-reviews

Submitting author: @benlauwens (Ben Lauwens)
Repository: https://github.com/BenLauwens/ResumableFunctions.jl.git
Version: v0.1.0
Editor: @danielskatz
Reviewer: @gasagna
Archive: 10.5281/zenodo.1039345

Status

status

Status badge code:

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

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer questions

@gasagna, please carry out your review in this issue by updating the checklist below (please make sure you're logged in to GitHub). The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @danielskatz know.

Conflict of interest

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Version: Does the release version given match the GitHub release (v0.1.0)?
  • [x] Authorship: Has the submitting author (@benlauwens) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)?
accepted published recommend-accept review

All 30 comments

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks for JOSS. @gasagna it looks like you're currently assigned as the reviewer for this paper :tada:.

:star: Important :star:

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As as reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all JOSS reviews 😿

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

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

@whedon commands

@gasagna - this is ready for you to review.

An informal guideline is that we would like your review in 2 weeks, but sooner (or later) are also ok.

Please carry out your review in this issue by updating the checklist above (please make sure you're logged in to GitHub)

The reviewer guidelines are available here: http://joss.theoj.org/about#reviewer_guidelines

Please avoid lengthy details of difficulties in this review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in this review thread. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Any questions/concerns, please let me know.

Thanks!!

@whedon commands

Here are some things you can ask me to do:

# List all of Whedon's capabilities
@whedon commands

# Assign a GitHub user as the reviewer of this submission
@whedon assign @username as reviewer

# List the GitHub usernames of the JOSS editors
@whedon list editors

# List of JOSS reviewers together with programming language preferences and domain expertise
@whedon list reviewers

# Change editorial assignment
@whedon assign @username as editor

# Set the software archive DOI at the top of the issue e.g.
@whedon set 10.0000/zenodo.00000 as archive

# Open the review issue
@whedon start review

:construction: Important :construction:

This is all quite new. Please make sure you check the top of the issue after running a @whedon command (you might also need to refresh the page to see the issue update).

It seems I am unable to edit directly the checklist above. Am I supposed to fork this and make pull requests?

The only time I've heard of this problem, it was when someone tried to check a box when they were not logged in.

So, please be sure you are logged in when you try to check a box. (I know you were when you commented, but perhaps you were not initially?)

Also, when you say "edit the checklist", do you really mean check a box? You should be able to do that, but you should not able to make other changes to the checklist.

Let me know if either of these clear up the problem.

No, sorry, I can't really check the boxes. I am logged in. Tried two different browsers as well.

@arfon - any thoughts on this? I haven't seen this before, and you are probably the GitHub expert :)

No, sorry, I can't really check the boxes. I am logged in. Tried two different browsers as well.

Looks like the API command to give you access must have failed silently. @gasagna - can you visit this URL (logged in): https://github.com/openjournals and accept the invite. You should then be able to update the check list.

Sorry, still unable to check the boxes after the invite.

Sorry, still unable to check the boxes after the invite.

OK, I officially give up. Please copy and paste the checklist content into a separate comment in this thread and work through it here.

Conflict of interest

  • [x] As the reviewer I confirm that I have read the JOSS conflict of interest policy and that there are no conflicts of interest for me to review this work.

Code of Conduct

  • [x] I confirm that I read and will adhere to the JOSS code of conduct.

General checks

  • [x] Repository: Is the source code for this software available at the repository url? _Yes._
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license? _Yes._
  • [x] Version: Does the release version given match the GitHub release (v0.1.0)?
    _The author has tagged other releases, so we are now at v0.1.4_
  • [x] Authorship: Has the submitting author (@BenLauwens) made major contributions to the software? Does the full list of paper authors seem appropriate and complete? _Yes._

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation? _Yes._
  • [x] Functionality: Have the functional claims of the software been confirmed? _Yes. I have reproduced successfully the examples reported in the repo and used the functionality in some custom code._
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)
    _The repo contains a benchmark folder with a benchmark file that compares the proposed approach with other "julian" approaches to obtain the same functionality. Maybe the author could mention the results of these benchmarks in the README.md file to justify the finite-state machine approach._

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is? _Yes. This is clearly spelled out in the main page. However, the author might wish to include the benchmarks in the documentation (or mention them), to show how this package solves the original problem (i.e. the slow performance of the Task-based approach)._
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution. _The package depends on another (popular) Julia package. This dependency is automatically pulled in using the standard package manager functionality._
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems). _Given the scope of this package, the examples provided in the repo are sufficient to demonstrate the functionality of this software. If the author is using this functionality in other public domain Julia packages (like he seems to be), these could be mentioned in the docs, so that users can then look at more involved examples._
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)? _Some usability limitations have been reported has issues in the repo. These limitations should be documented more clearly._
  • [x] Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified? _Yes. There are basic tests using standard Julia practices._
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support. _Yes._

Software paper

  • [x] Authors: Does the paper.md file include a list of authors with their affiliations? _Yes._
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is? _Yes._
  • [x] References: Do all archival references that should have a DOI list one (e.g., papers, datasets, software)? _Yes._

Hi @gasagna - How is this going?

(Note: I copied your 2 checkmarks from your comment above into the main list at the top of the issue, and I'm happy to continue to do this as you make progress, so that someone who looks at this later can see the status at the top.)

Hi Daniel,

I have completed my review, and I have pointed out minor issues that @BenLauwens should address (see unchecked boxes above). These are mostly documentation improvement suggestions.

I will wait for the author to fix these and then check the remaining boxes.

thanks!

@gasagna - it looks like @BenLauwens has made some changes and plans to make one more. Perhaps you can update some of the boxes?

And @BenLauwens, please let us know when the other change has been made.

Hi @BenLauwens - just checking on this... Is there any update?

Hi @danielskatz. I updated the documentation as proposed by @gasagna and I modified one line of code so that the behaviour of the iterator created by an @resumable function is in line with the already existing iterators in Julia.
One issue remains that is documented both in the README and the tutorial. Parametrised @resumable functions are not supported yet. The implementation of this feature is straightforward but tedious. I am using a supporting package Macrotools to do the heavy work but this package has not yet released a version that supports the 'where' clause (in master this is already supported). This is however a minor feature and ResumableFunctions are perfectly working without it.

@gasagna - what do you think?

I think this is OK. There are a few missing checks in my reviews, but these are not blocking acceptance. Just additional edits to the docs that the author might wish to add.

@gasagna - we do want to see all the boxes checked before we accept. For example, for performance, the description is

If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

So please check off everything you can, and if you don't feel you can check something off, please explain what you think is needed in order that you could do so.

@danielskatz The text in italic in my check list explains it already. My comments are suggestions to improve the docs that the author might wish to take into account. These are not acceptance-blocking.

Thanks @gasagna, but as I said, we will not move ahead until all boxes are checked. Can I suggest that rather than altering the list, you check the items (since you say that they are not blockers) and make the comments in italics issues that you open in the author's package?

Remember that if this was a normal review (where you could check the boxes on the top of the issue), you would not be able to edit the checklist, just check the boxes or leave the empty.

Done! All boxes have been checked, and an issue has been opened in the repo, as you suggested.

@arfon - Please go ahead with the acceptance process now

@BenLauwens - please merge this PR with some minor changes to your paper and bibtex https://github.com/BenLauwens/ResumableFunctions.jl/pull/8

Then, could you make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission.

@arfon
I have just merged the changes and created a new release.
DOI: 10.5281/zenodo.1039345

@whedon set 10.5281/zenodo.1039345 as archive

OK. 10.5281/zenodo.1039345 is the archive.

@gasagna - many thanks for your review and to @danielskatz for editing this submission ✨

@BenLauwens - your paper is now accepted into JOSS and your DOI is https://doi.org/10.21105/joss.00400 ⚡️ 🚀 💥

Was this page helpful?
0 / 5 - 0 ratings