You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are apparently as many different approaches in src/clojush/problems as there are files.
We know, because we've wrestled with it, that to build a new problem you need to define a certain set of constants, functions and training and test cases.
I can find no documentation describing what those are.
Many of the most interesting problems are burdened with an ornate pile of spaghetti error function code, with no docstrings and no description of what global variables you're blithely invoking or why. Clearly many of the software synthesis functions have just been copied and pasted without being refactoring, over several rounds of "experimental" tinkering.
The only problem definition I could find that offered any chance at legibility was golomb.clj, but even that has several variable names that are misleadingly abbreviated (for example, in should not be a variable name in a Clojure program).
But no docstring at all.
Please fix this. Pick a complicated but not difficult problem and make sure whenever you add functionality (for example :train and :test case separation) that you write a version of that example problem's definition that implements the new functionality, and which explains it in legible words a person can read.
The text was updated successfully, but these errors were encountered:
Suggestion: Make absolutely sure that every problem in demo has every feature explained in detail, and none of the features available in Clojush (anywhere!) lack a working, documented example in at least one demo problem, and that that no demo problem has anything that isn't implemented in Clojush!
There are apparently as many different approaches in
src/clojush/problems
as there are files.We know, because we've wrestled with it, that to build a new problem you need to define a certain set of constants, functions and training and test cases.
I can find no documentation describing what those are.
Many of the most interesting problems are burdened with an ornate pile of spaghetti error function code, with no docstrings and no description of what global variables you're blithely invoking or why. Clearly many of the software synthesis functions have just been copied and pasted without being refactoring, over several rounds of "experimental" tinkering.
The only problem definition I could find that offered any chance at legibility was
golomb.clj
, but even that has several variable names that are misleadingly abbreviated (for example,in
should not be a variable name in a Clojure program).But no docstring at all.
Please fix this. Pick a complicated but not difficult problem and make sure whenever you add functionality (for example
:train
and:test
case separation) that you write a version of that example problem's definition that implements the new functionality, and which explains it in legible words a person can read.The text was updated successfully, but these errors were encountered: