Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Here are my first stabs at modules for librang. There are three top-level modules, "el", "oneparticle" and "onscalar". Each has second-level modules, sharing the same name but with an "n" appended to it, that contain subroutines that are called from subroutines within the top-level modules. I still haven't settled on a good naming convention yet. There are also some third-level modules that contain subroutines called from the second-level. I haven't tried compiling these yet, I would like you to have a look first and give me your comments. One of the conventions that I like to use with modules is to be explicit as to which parts are public. Thus I always set my modules to be "private by default" and then explicitly choose what is public. I feel this is in line with an Object-Oriented philosophy.