2.3 KiB
2.3 KiB
TODO
Push Language TODO
- Make all vector functions applicable to string functions and vice versa
- Implement all functions as seen in propeller
- Implement all functions as seen in the specification
- Implement Linear Algebra functions as specified in the previous papers
- These are in a separate branch, just need merging now
- Add a function to sort a vector forward and backwards
- Disambiguate isEmpty and stackIsEmpty
- Rename Logical to Bool
- Make int yank, shove, yankdup, and shovedup generic
- Write haddock documentation for each function
- Refactor all functions to take state as the final parameter
- Standardize the pattern matching parameter names, such as c1 : cs
- Write unit/quickcheck tests for the generic functions
- Use template haskell to generate function lists
- Move utility functions to their own file
- Make add/sub/mult/div/mod instructions generic
- Use template haskell to (mostly) generate functions from generic ones (Split files based on the arity of their functions)
- Add more special functions like sqrt, pow
PushGP TODO
- Implement a Plushy genome translator
- Implement
silent andskip marker(s) as well[ ] Have close amt of 1,2, and 3 - Need a random genome generator
- I'm only going to implement propeller's :specified version
- Is the best according to the papers
- I'm only going to implement propeller's :specified version
- Need a NoOp that opens blocks
- Have a way to balance amount of closes with open blocks
- Implement "balanced" closed PushArg
- Implement
- Need to make genomes serializable (Check pysh json files)
- Add Memory
- Add history stack(s), like a call stack
- Implement interpreter options (PushArgs would work well)
- Should probably place this in a separate file
- Implement Novelty Lexicase selection
- Implement different forms of downsampling
- Implement concurrent execution of creating random plushies and evaluating individuals
- Devise a good way to implement ERCs
- Implement random simplification of genomes
- Find a way to multi-thread this
- Look at using
uniformShuffleList
over System.Random.Shuffle - Impelment selectionCases for lexicase and tournament selection.
- Make all randomness a float and not an int in Variation