Nic McPhee
da84852245
Move max-stack-items
to globals
...
This creates a `push/utils/globals/cljc` similar to that created by @mcgirjau and moved the `max-stack-items` def to that namespace, updating `polymorphic` as necessary.
2020-11-24 16:00:03 -06:00
Nic McPhee
f675f69276
Merge branch 'master' into limit-dup-times
2020-11-24 15:53:36 -06:00
Lee Spector
a8e9de97ce
Fix peek-stack for false on boolean stack
2020-11-23 09:57:04 -05:00
Nic McPhee
bfa557c6a1
Fix bug in random-int
...
The `random-int` function in both `number-io` and `smallest` subtracted a floating point value (`100.0`), which means they were both _actually_ returning a float instead of an int.
This removes both of the ".0"s so that they return integers as advertised.
2020-11-10 16:59:32 -06:00
Nic McPhee
1a882836de
Limit number of duplications onto a stack
...
Both `_dup_times` and `_dup_items` are risky and can place very large numbers of items on a stack if the value on the `:integer` is large. This limits both `_dup_times` and `_dup_items` so they never make a stack have more than `max-stack-items` entries.
This change was motivated by `OutOfMemory` errors we were receiving when doing runs. This is somewhat modeled after similar limits in Clojush, but we chose to not introduce an `atom` and to instead just define a constant in this namespace. That may not be as flexible as people would like, and we can move to the `atom` solution if necessary.
2020-11-10 16:17:50 -06:00
Nic McPhee
89f0f3568a
Add stack-size
...
Adds a function that returns the size of the specified stack in a given state.
2020-11-10 16:14:23 -06:00
skwak22
baf28a3e79
Working cljs version of propeller
2020-07-15 22:23:42 +09:00
skwak22
44aaf4a156
introduce shadow-cljs as ClojureScript compiler
2020-07-15 21:19:38 +09:00
skwak22
bf54db427b
Some changes for CLJS compatibility
2020-07-14 16:05:20 +09:00
mcgirjau
7820d5529b
Clean up macros
2020-07-14 00:14:04 -04:00
mcgirjau
3f5c2fd8a7
Add string instructions
2020-07-13 21:24:43 -04:00
mcgirjau
3e820407f3
Cleanup and metadata fix
2020-07-13 17:04:05 -04:00
mcgirjau
7ce624d4ba
Add Number IO and Smallest problems
2020-07-01 13:07:13 -04:00
Sunghoon Kwak
b555e1300e
Converted files to cljc & ns changes for cljs
2020-06-30 20:39:36 +09:00
skwak22
9eae13a89d
removed clj files
2020-06-30 20:36:40 +09:00
mcgirjau
74515bd11b
Add output instructions
2020-06-30 00:08:48 -04:00
mcgirjau
69142757ce
Add input handler and refactor interpreter
2020-06-29 22:52:41 -04:00
mcgirjau
7184cd6644
Finish polymorphic and vector instructions
2020-06-29 19:19:55 -04:00
mcgirjau
66856cf99f
Remove some stacks
2020-06-26 10:34:04 -04:00
Lee Spector
fa9befd8b0
Remove :zip
2020-06-25 16:40:10 -04:00
Lee Spector
d4140096a6
Reformat
2020-06-25 16:36:52 -04:00
mcgirjau
5ff0fbed77
Move require to top level
2020-06-25 13:26:11 -04:00
mcgirjau
11a2534f67
Alphabetize namespace dependencies
2020-06-25 13:21:41 -04:00
skwak22
b417e4c2aa
more namespace compatibility changes
2020-06-26 02:09:28 +09:00
mcgirjau
4bd92503a3
Move tools module for ClojureScript compatibility, and style fixes
2020-06-25 12:57:20 -04:00
skwak22
e324ee95ef
replaced :refer :all with :require
2020-06-26 01:04:06 +09:00
mcgirjau
9e0a8d51b7
Remove symbols from instruction names, and use 1 instead of NOOP for division
2020-06-25 09:40:29 -04:00
mcgirjau
f04804b00b
Namespace cleanup and add polymorphic instructions
2020-06-24 22:30:25 -04:00
mcgirjau
73b3963b90
Port numeric instructions
2020-06-24 19:57:20 -04:00
mcgirjau
bb5f74823c
Refactor instructions
2020-06-24 16:16:53 -04:00
mcgirjau
af033c1b0e
New structure
2020-06-23 11:09:15 -04:00
Lee Spector
c6f9b58556
Merge edited version of Mahran-Yousef:master pull request
2020-06-20 00:15:40 -04:00
Lee Spector
eed44cfc06
Reduce code duplication; additions before/after each gene; deletion runs on result of addition; tweak default parameters
2020-06-20 00:05:09 -04:00
Mahran-Yousef
ef6899d690
Using lexicase in the demo and reformatting
2020-06-19 11:12:19 -04:00
Mahran-Yousef
1d12a36566
Fixing previous issues and adding elitism as an option
2020-06-18 22:38:45 -04:00
mcgirjau
94d7547fc0
Add normal distribution, calculus, and basic math
2020-06-17 21:36:00 -04:00
Mahran-Yousef
6f930841fc
Adding UMAD Rate and variation
...
Adding the ability for the user to modify the UMAD rate that controls the addition and deletion rates and the ability to specify the percentages of new individuals created bu UMAD or crossover
2020-06-17 20:09:35 -04:00
Lee Spector
47f3c70b1d
Add newline
2020-06-08 00:03:45 -04:00
Lee Spector
f2f0804d75
Add "session" file with expressions for REPL
2020-06-07 16:59:53 -04:00
Lee Spector
601f53f6b1
Use resolve and var-get instead of eval
2020-06-07 16:43:34 -04:00
Lee Spector
bef1c112ff
Print diversity and lengths
2020-06-07 16:37:02 -04:00
Lee Spector
c8e096e9c3
Split into multiple namespaces
2020-06-07 16:28:10 -04:00
Lee Spector
7d2fdbb723
Add :main in project.clj and fix namespace reference in core
2020-06-07 15:55:05 -04:00
Lee Spector
8236d1fbed
Start with code from propel
2020-06-07 15:36:23 -04:00
Lee Spector
62dc09ec32
Create empty project
2020-06-07 11:13:33 -04:00