openjournals / joss-reviews

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

[PRE REVIEW]: Lepton #836

Closed whedon closed 6 years ago

whedon commented 6 years ago

Submitting author: @slithiaote (Sébastien Li-Thiao-Té) Repository: https://github.com/slithiaote/lepton Version: v1.0 Editor: @yochannah Reviewers: @adammichaelwood, @tpetricek

Author instructions

Thanks for submitting your paper to JOSS @slithiaote. The JOSS editor (shown at the top of this issue) will work with you on this issue to find a reviewer for your submission before creating the main review issue.

@slithiaote if you have any suggestions for potential reviewers then please mention them here in this thread. In addition, this list of people have already agreed to review for JOSS and may be suitable for this submission.

Editor instructions

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

@whedon commands
whedon commented 6 years ago

Hello human, I'm @whedon. I'm here to help you with some common editorial tasks.

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

@whedon commands
whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago

--> Check article proof :page_facing_up: <--

jedbrown commented 6 years ago

Thanks for your submission. I have some questions and concerns:

https://joss.readthedocs.io/en/latest/submitting.html#submission-requirements

slithiaote commented 6 years ago

Thank you for your comments.

Can I improve the paper.md file after submission following your comments ? How should I do it ?

jedbrown commented 6 years ago
  1. How was lepton.bin bootstrapped? Is it possible to recreate without executing the existing Linux/x86-only binary?

  2. Correct, CeCILL-B (which is very different from CeCILL-2.1) is not OSI-approved.

  3. This is more "meta" than typical, but there have been accepted papers on tooling to facilitate reproducible research and I think it would be in scope according to that precedent.

slithiaote commented 6 years ago
  1. How was lepton.bin bootstrapped? Is it possible to recreate without executing the existing Linux/x86-only binary? -- From the point of view of the computer, lepton.bin is compiled from main.ml (and several modules such as lepton.ml, lexer.ml, interpreters.ml, see chunk 26 on page 8 of lepton.pdf) -- It is possible to recreate the source files from lepton.nw, with just copy-and-paste. The executable does that for you, and executes the instructions in chunk 16 for lexer.ml and chunk 26 for compiling, but everything is manageable by hand. It is a feature of Lepton that the source code is not too large so that it should be easy to recreate by hand, and sufficiently documented so that it should be easy to re-implement for long-term maintainability. -- Bootstrapping starts with a program that assembles and writes chunks to disk from a .nw file. As soon as you have that, you can stop writing source code directly, and write lepton.nw instead. -- The second stage is command execution via the shell interpreter, which enables lepton to generate itself by typing lepton.bin lepton.nw -- A third stage is to encapsulate the source code in an executable program. Lepton does this partially. As lepton can process input on stdin, it is usable as a command interpreter via the #! mechanism. On a suitably configured system, the command ./lepton.nw in a terminal will generate the lepton.bin executable and the manual.
  2. Correct, CeCILL-B (which is very different from CeCILL-2.1) is not OSI-approved. -- I understand. I will switch to CeCILL-2.1 then.

I have updated the github repository and improved the paper.md file following your comments. Was that the correct way to proceed ?

jedbrown commented 6 years ago
  1. Thanks for the explanation. Please consider the review criteria.

  2. You could consider an OSI-approved permissive license. Changing to CeCILL-2.1 is far more consequential.

  3. Yes, updating the repository to improve paper.md and/or address reviewer comments is the intended process.

slithiaote commented 6 years ago

Following your comments, I have modified the "Compilation" section into broader and more detailed instructions for "Obtaining the software". I have re-read and I hope that this should satisfy the review criteria. If not, could you be more specific as to what you feel needs improvements ?

arfon commented 6 years ago

:wave: @yochannah - would you be willing to edit this submission for JOSS?

yochannah commented 6 years ago

@whedon assign @yochannah as editor

whedon commented 6 years ago

OK, the editor is @yochannah

yochannah commented 6 years ago

I know of one possible reviewer who uses OCaml - just checking with them now. @slithiaote do you have any suggestions for reviewers?

yochannah commented 6 years ago

@kit-ty-kate 👋 would you be interested in reviewing this?

kit-ty-kate commented 6 years ago

I'm not sure I'm well suited to review this. I tried to compile the project, there were no instructions to compile anything and the only thing I could try (i.e. ./lepton.bin lepton.nw) ended up in an infinite loop with some error messages and some OCaml files being generated. The generated code itself is not very readable, almost no indentation and I don't know what to do with it. Also it uses old-style OCaml constructs but that's minor. I couldn't find any instructions to build the generated OCaml files but I managed to have something with ocamlbuild -package str,unix main.byte in the end (but it produced some maybe relevant and some irrelevant warnings)

Modern OCaml code have at least an opam file and it's not the case here, but I guess it's maybe not the goal of the tool as it seems to have its own build format (e.g. <<shell_compile -exec shell>>= in lepton.nw) I'm certainly not an expert in literate programming and don't know much about it so I can't really comment on that I guess apart from the fact that it is very different from how OCaml projects are usually handled.

yochannah commented 6 years ago

@whedon generate pdf

whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago

:point_right: Check article proof :page_facing_up: :point_left:

slithiaote commented 6 years ago

Thank you for your comments.

I agree that this is very different from how OCaml projects are usually handled. In literate programming, the file lepton.nw containing the documentation is intended to also generate the source code. In the case of Lepton, you should not have to compile the generated OCaml files yourself because running ./lepton.bin lepton.nw -o lepton.tex should produce a new lepton.bin. Similarly, the generated code is not intended to be read directly, but rather from the lepton.pdf file.

The ocamlopt compilation command is in Section 3 of lepton.pdf. Did you download the Zenodo package ? Following Jed Brown's comments, I rewrote that section on Github and I feel that the instructions are now clearer.

The "infinite loop" is a LaTeX compilation issue, at least on my system. When encountering a serious error such as a missing package, LaTeX stops and asks the user what to do, which puts everything in a waiting state. I removed the unnecessary packages, selected nonstopmode and inserted a warning in the manual.

The article proof does not render the item list, whereas the github preview does.

arfon commented 6 years ago

The article proof does not render the item list, whereas the github preview does.

@slithiaote - this PR should fix the rendering issue in the PDF: https://github.com/slithiaote/lepton/pull/1

arfon commented 6 years ago

@whedon generate pdf

whedon commented 6 years ago
Attempting PDF compilation. Reticulating splines etc...
whedon commented 6 years ago

:point_right: Check article proof :page_facing_up: :point_left:

yochannah commented 6 years ago

@slithiaote thanks for the edits you've made. I think there are still some formatting issues in your pdf around the quotes - it looks like maybe there are two single apostrophes '' rather than a single double quote " around Lepton, which makes the proof look a little strange.

I'm still hunting for reviewers & will update when I find someone.

adammichaelwood commented 6 years ago

I'm available for review. Let me know how I can best help.

yochannah commented 6 years ago

@adammichaelwood Hooray, and thank you for volunteering!

I would like to have a second reviewer for this paper. I'll kick off the official reviewer process once I find a second (if you can suggest anyone who might be able to review this, that would be awesome!). In the meantime feel free to look at the package and look at the review criteria for JOSS.

yochannah commented 6 years ago

Still hunting for a second reviewer at the minute. I've sent a few more emails & will update as soon as we find someone.

slithiaote commented 6 years ago

Thanks

adammichaelwood commented 6 years ago

I will mention this in the Write the Docs slack. It seems likely there are some other people into literate programming in that community.

tpetricek commented 6 years ago

Hi all, @yochannah asked me to be the second reviewer for this - I'm happy to accept. I'll go ahead and put together a review following the guidelines in the next few days. Is there anything else that I need to do?

yochannah commented 6 years ago

Hey @tpetricek and thanks for volunteering to review! I'll kick the review process off now.

yochannah commented 6 years ago

@whedon assign @adammichaelwood as reviewer

whedon commented 6 years ago

OK, the reviewer is @adammichaelwood

yochannah commented 6 years ago

@whedon add @tpetricek as reviewer

whedon commented 6 years ago

OK, @tpetricek is now a reviewer

yochannah commented 6 years ago

@whedon start review

whedon commented 6 years ago

OK, I've started the review over in https://github.com/openjournals/joss-reviews/issues/1005. Feel free to close this issue now!

yochannah commented 6 years ago

Okies - @adammichaelwood @tpetricek, you can start the review over in #1005. @slithiaote thanks for your patience while we were finding reviewers!