Commit Graph

454 Commits

Author SHA1 Message Date
Erik Svedäng
e18cba50c6 Submodule for mouse state in SDL. 2018-03-20 16:15:26 +01:00
Erik Svedäng
f2742fe032 Moved event-related things into a submodule. 2018-03-20 16:05:52 +01:00
Erik Svedäng
10c1b62767 All tests run again, can build "game", "ant" and "reptile". 2018-03-20 14:34:49 +01:00
Erik Svedäng
eb7595b159 Game example works with kebab case. 2018-03-20 12:49:46 +01:00
Erik Svedäng
3965eaa73d Game example works with new SDLApp helper. 2018-03-20 12:26:27 +01:00
Erik Svedäng
7d9fd49e58 The SDLApp helper works fine now. 2018-03-20 12:17:48 +01:00
Erik Svedäng
39e16e9239 Started working on helper struct for SDL. 2018-03-20 11:53:24 +01:00
Erik Svedäng
10bc0e1e6c Fix 2018-03-19 13:01:14 +01:00
Erik Svedäng
d227533942 Merge branch 'master' into sdl-refactor 2018-03-19 12:54:14 +01:00
Erik Svedäng
9dae63491d fopen takes String& instead 2018-03-18 17:51:23 +01:00
Erik Svedäng
21c4d2d2fb Fix new function in carp_char.h 2018-03-18 15:23:34 +01:00
Erik Svedäng
7cb9288e5d Merge branch 'rename-c-types' of https://github.com/hellerve/Carp into hellerve-rename-c-types 2018-03-18 15:21:18 +01:00
hellerve
a55eeb98a5 core: rename string and pattern types 2018-03-18 14:53:03 +01:00
Erik Svedäng
00105618a4 A few extra functions for handling files and char pointers. 2018-03-18 14:40:49 +01:00
Erik Svedäng
0f6574193f Proper SDL module added, examples updated to work with it. 2018-03-15 21:14:18 +01:00
Erik Svedäng
4a74957b23 Merge branch 'hellerve-string-functions' 2018-03-13 17:31:07 +01:00
hellerve
ef5d50cad8 core: add Pattern.from-chars, simplify String.split-by 2018-03-13 17:06:14 +01:00
Erik Svedäng
87cf50fad9 Merge branch 'string-functions' of https://github.com/hellerve/Carp into hellerve-string-functions 2018-03-13 14:29:41 +01:00
Erik Svedäng
9d36c9e220 Fixed: 'assert' macro. Also -- reporting of errors in expanded macros now works. 2018-03-13 13:10:15 +01:00
hellerve
da91127563 core: add useful string functions 2018-03-13 12:13:29 +01:00
Erik Svedäng
b55bdd8e38 Preparations for making assert macro work. 2018-03-13 10:16:48 +01:00
Erik Svedäng
a9fd73ab2a Load 'Debug.carp' by default. 2018-03-13 09:43:08 +01:00
Erik Svedäng
832212d3fe The 'relative-include' macro works. 2018-03-13 09:36:18 +01:00
Erik Svedäng
ac6afff264 Started working on 'relative-include' macro - not working yet though. 2018-03-12 16:30:36 +01:00
Erik Svedäng
605a724765 Fixed memory leak in 'from-chars'. 2018-03-12 14:56:05 +01:00
Erik Svedäng
b5ab5cebca Fixed leaks in Array.reverse and Array.swap. 2018-03-12 14:37:53 +01:00
Erik Svedäng
0301837072 More useable signature for 'Array.element-count'. 2018-03-12 12:11:33 +01:00
Erik Svedäng
b23d60616b More permissive signature for 'Array.index-of'. 2018-03-12 12:04:23 +01:00
Erik Svedäng
2a79007a18 Todo. 2018-03-11 15:15:30 +01:00
Erik Svedäng
16cd751790 A String.join function. 2018-03-11 15:09:30 +01:00
Erik Svedäng
fcc01ff268 Some new functions and macros. 2018-03-11 14:53:50 +01:00
Erik Svedäng
a83d343a98 Optimized 'Array.subarray', 3.90575s -> 25.046ms for taking the first half of an array of 10k ints. 2018-03-11 14:30:38 +01:00
Erik Svedäng
f3b55e7937 Optimized Array.aupdate from 5.93691s to 2.75493s for array of 1000000 ints. 2018-03-11 13:56:07 +01:00
Erik Svedäng
ff6852d839 Changed signature of Array.swap. Optimized from 2.66486s -> 1.32265s for 1000000 Int elements. 2018-03-11 10:38:24 +01:00
Erik Svedäng
9941d7dcb2 Merge branch 'master' of https://github.com/hellerve/Carp 2018-03-10 18:08:38 +01:00
Erik Svedäng
8059bb3c45 Fixed bug in Bench.carp where a value was used outside of its stack scope. 2018-03-07 15:20:44 +01:00
Erik Svedäng
e4978d5a96 Optimization works. 2018-03-07 12:03:59 +01:00
Erik Svedäng
4c8b661bdc Moved safe int functions into their own file that's not automatically loaded. 2018-03-06 16:44:07 +01:00
Erik Svedäng
a6f0db8675 All OpenGL-functions registered. 2018-03-06 14:18:25 +01:00
Erik Svedäng
5aba1d22df Merge branch 'regex' of https://github.com/hellerve/Carp 2018-03-05 01:42:14 +01:00
hellerve
ae8b7644aa all: patterns need to be their own typedef 2018-03-04 19:39:00 +01:00
Erik Svedäng
2aa4a1a5c0 'eval' macro for easy printing of (compiled) values in the REPL. 2018-03-04 11:41:47 +01:00
hellerve
fa41129ff3 core: pattern functions are now prefixed 2018-03-03 19:58:53 +01:00
hellerve
dac3bad33a core: regex helper functions are done 2018-03-03 19:19:59 +01:00
hellerve
5c736fd224 core: rename regex to pattern, as @RyanSquared suggested in #192 2018-03-02 15:31:26 +01:00
hellerve
5da0e91de8 all: add lua license 2018-03-02 14:14:19 +01:00
hellerve
345f5d3c8a all: add autoescaping in regexes 2018-03-01 19:41:20 +01:00
hellerve
bdbb2d7c5b regex: add regex module and type 2018-03-01 19:19:20 +01:00
hellerve
0494dda3ff core: bugfixes to regex; return -1 on simple find error, return correct index on find, and correct string on match-str 2018-03-01 18:04:33 +01:00
Erik Svedäng
41a8c1566e Use pkg-config for finding location of glfw instead. 2018-02-28 22:43:43 +01:00
hellerve
3deb6f0658 core: add match-str and matches? to regex 2018-02-28 11:19:13 +01:00
hellerve
93171ccbaa core: regex api seems to work completely 2018-02-28 11:18:57 +01:00
hellerve
749a9eae10 core: iro (initial regex offering) 2018-02-28 11:18:39 +01:00
Erik Svedäng
59da82b5c1 A little bit of OpenGL. 2018-02-27 17:13:46 +01:00
Erik Svedäng
633be61c50 GLFW bindings (automatically generated). 2018-02-27 16:48:31 +01:00
hellerve
8e2cff8dcf core: manual merge 2018-02-27 15:30:22 +01:00
hellerve
890a2eab1e core: rename System.srand to System.seed-random 2018-02-27 15:12:25 +01:00
hellerve
01f366f2c8 core: remove interdependencies between modules 2018-02-27 15:10:42 +01:00
hellerve
1ec7ee184d core: split up core 2018-02-27 15:09:13 +01:00
hellerve
b7ea8d1487 core: namespaced split-up carp headers 2018-02-27 15:08:39 +01:00
hellerve
f56b1ff93f core: split up core.h, installment 1 2018-02-27 15:08:36 +01:00
hellerve
619089aead core: change globals to vars in test 2018-02-23 17:25:15 +01:00
Erik Svedäng
9c7793d6d1 Undefine things until cl.exe can compile a Hello World program. 2018-02-12 14:34:17 +01:00
Erik Svedäng
36274a29d3 Made System.exit return 'a' instead of (). 2018-02-08 22:13:27 +01:00
Erik Svedäng
0610c8e209 BUGFIX: Memory allocated in the condition of a while-loop is managed
first run through the loop.
2018-02-08 18:34:53 +01:00
Erik Svedäng
97fef54482 Some comments in the Debug module. 2018-02-08 17:55:44 +01:00
Erik Svedäng
74d4025223 Put the c[ad]r dynamic functions into the Dynamic module. 2018-02-08 17:39:42 +01:00
Erik Svedäng
fefce23b90 New Project.config command, the old project-set! is deprecated. 2018-02-08 17:12:32 +01:00
Erik Svedäng
aea08f5dfd Switch amount of bytes allocated. 2018-02-06 19:43:12 +01:00
Erik Svedäng
f9926f732e All tests run with 'prn' enabled. 2018-02-06 18:58:41 +01:00
Erik Svedäng
e80af19a39 Added prn for Strings, make 'str' not print with @ and quotes. 2018-02-06 18:37:15 +01:00
Erik Svedäng
5c6bdb87d8 Define 'prn' function for built in types. 2018-02-06 16:48:14 +01:00
Erik Svedäng
a25606725e Proper 'assert' macro that reports source location. 2018-02-06 10:12:43 +01:00
Erik Svedäng
d23a211985 BUG FIX: Must handle deletion of temporary values used during initialization of global variables. 2018-02-06 08:21:50 +01:00
Erik Svedäng
26887f3716 Changed type signature of (set! ...) form. 2018-02-02 07:19:10 +01:00
hellerve
27a4a3edff core: fix bench and ignore form, because they were buggy 2018-02-01 18:01:45 +01:00
hellerve
7b10c28aee core: fix bench for new member accesses 2018-02-01 17:18:05 +01:00
hellerve
3fe9a8f321 core: better loop start for Array.ax/min 2018-01-29 10:55:45 +01:00
Erik Svedäng
8281dfa109 Made inc, dec, max, min into interfaces. Changed Array.max/min to new
names. Fixed tests and removed special max/min from Statistics module.
2018-01-29 07:14:56 +01:00
Erik Svedäng
0f99128f9c Moved simplified dictionary code to generic struct examples. 2018-01-28 22:54:59 +01:00
Erik Svedäng
33aeab7c82 FIXED: Fails to find the correct Array.str when calling println* in a do-form. 2018-01-28 05:56:03 +01:00
Erik Svedäng
122ef5a4ce
Merge pull request #176 from hellerve/benchmarks
Add Benchmarks
2018-01-26 22:20:59 +01:00
Erik Svedäng
936dd8b26c Changed type of member getter method to always returning a Ref (used to be non-ref for primitive types). 2018-01-26 21:23:29 +01:00
hellerve
9a3b0e5f59 bench: added first bits of benchmarking 2018-01-25 17:26:20 +01:00
hellerve
b250be5a12 core: readded emap template :( 2018-01-24 17:14:43 +01:00
hellerve
9c933c64c5 core: rewrite both map functions in carp 2018-01-24 17:06:17 +01:00
hellerve
0f86e15f0e templates: add Array.allocate; core: rewrite repeat and replicate in Carp 2018-01-24 17:06:15 +01:00
Erik Svedäng
5e777a601f Merge branch 'master' of https://github.com/hellerve/Carp 2018-01-24 16:42:12 +01:00
hellerve
2fa8be21ab core: added set-min-runs! to Bench to be able to adjust the minimum number of runs 2018-01-24 13:28:57 +01:00
hellerve
a6e44d3c56 compiler: remove unused variable warning; core: add Statistics usage to Bench, fix ambiguity in Statistics 2018-01-24 13:08:46 +01:00
Thomas Dendale
8d49d76279 Added clamp to Int too. Fixed random-between floating point exception when lower = upper.
Added Array.initialize, symbol? commands
2018-01-23 16:23:37 +01:00
hellerve
8cb5f5311b core & templates: fixed size of stringification buffers 2018-01-22 12:47:38 +01:00
Thomas Dendale
24d6e625e6 Fix for macro when body is empty 2018-01-17 17:08:02 +01:00
Thomas Dendale
5480f5277a Print macro error (warning) when using more then one expression in body 2018-01-17 16:12:25 +01:00
Erik Svedäng
5042415109 Could avoid copying the array in String.repeat now. 2018-01-16 16:28:05 +01:00
hellerve
4d6b211853 core: sort->sort-with; fix statistics with new sorter 2018-01-15 16:47:22 +01:00
hellerve
eba07aeb34 core: added numerical ref modules 2018-01-15 16:27:05 +01:00
hellerve
f93eb16615 core: add cmp interface; src: better sort 2018-01-15 16:10:11 +01:00
hellerve
1c07003167 core: fix bugs and unnecessary check in fmt 2018-01-15 12:04:12 +01:00
hellerve
69a084e257 core: fixed bounds in range; tests: added regression tests 2018-01-10 14:24:32 +01:00
hellerve
1570f375bb core: fix range for non-reachable end 2018-01-10 14:20:17 +01:00
hellerve
f76d664c43 compiler: make range a regular function instead of a template 2018-01-10 14:20:17 +01:00
hellerve
41ac52af99 core: fixed behavior of from-chars and ends-with? 2018-01-03 12:50:47 +01:00
Erik Svedäng
ec1e41b7c7
Merge pull request #157 from hellerve/stdlib-update
Add a few more functions to stdlib
2018-01-02 22:29:00 +01:00
hellerve
d32fe4102f core: added a few more functions to stdlib 2018-01-02 18:13:52 +01:00
Erik Svedäng
9d0dc34ecc
Merge pull request #156 from hellerve/master
Rewrite index-of and elem-count in carp
2018-01-02 14:53:39 +01:00
hellerve
e1b1667ea3 core: fix printing percent in format 2018-01-02 14:46:42 +01:00
hellerve
de40aef4d8 array templates: rewrite index-of and elem-count in carp 2018-01-02 14:39:24 +01:00
Erik Svedäng
7cd40a8ad5 Better support for globals. 2018-01-02 08:56:23 +01:00
Erik Svedäng
6d5bd6a74d More uniform solution for memory logging. 2018-01-02 06:54:05 +01:00
Erik Svedäng
7296b83264 memory-logged macro 2018-01-02 06:46:01 +01:00
hellerve
7c9eaeac9f core: made format not leak memory; test: added test for format and fmt 2017-12-30 20:16:31 +01:00
hellerve
6a5e73e088 core: correct allocation in format 2017-12-30 18:39:16 +01:00
hellerve
8baffc1f77 core: fixed format on last arg 2017-12-30 18:21:59 +01:00
hellerve
2c529eba43 core: check whether too many arguments are there for the format string 2017-12-30 15:19:43 +01:00
hellerve
ff34744dc4 core: format works! 2017-12-30 15:13:58 +01:00
hellerve
eccddd00fe format: added simple versions of format (work on issue #108) 2017-12-30 15:13:56 +01:00
hellerve
38d7bcd32a format macro works 2017-12-30 15:13:00 +01:00
hellerve
2d183768fe compiler: added dynamic +, -, *, and / on integers 2017-12-30 15:13:00 +01:00
hellerve
85ce16d5db core & compiler: initial work on #108 2017-12-30 15:13:00 +01:00
Erik Svedäng
278a8c92ce
Merge pull request #153 from hellerve/varargs-macros
Add varargs macro
2017-12-29 12:23:55 +01:00
hellerve
a048d2f931 core: added and*, or*, str*, and println* macros 2017-12-29 11:49:51 +01:00
hellerve
66912d0ebe core: fixed limiter in chars 2017-12-29 10:28:46 +01:00
hellerve
6897606f39 core: added random & random-between to char, random to string 2017-12-28 18:10:38 +01:00
hellerve
b561713add core: added random to vector and double; added random and random-between interfaces 2017-12-28 18:02:50 +01:00
hellerve
cd9a0ddbbc core: added mod interface 2017-12-28 17:46:47 +01:00
hellerve
8c77e75ea2 added parallelity and perpendicularity test 2017-12-28 17:44:20 +01:00
hellerve
33c0a542e3 core: added zero api to vctor 2017-12-28 17:22:25 +01:00
Erik Svedäng
a75bc7719a Tweaked borrow semantics around 'set!' to allow for more efficient use
in loops, etc.
2017-12-25 18:02:03 +01:00
Erik Svedäng
b8c1da3e3b Sleeping functions. 2017-12-25 16:51:23 +01:00
Erik Svedäng
463050d8d7 Trace function. 2017-12-25 16:33:03 +01:00
Erik Svedäng
62da15ea5e
Merge pull request #149 from hellerve/float-to-int
Add Float.from-int
2017-12-23 17:54:27 +01:00
hellerve
3f245820a8 core: added Float.to-int 2017-12-23 16:37:27 +01:00
Erik Svedäng
69b6c43a59 Comment. 2017-12-23 14:32:24 +01:00
Erik Svedäng
ef1dd0a45e Fixed memory bug in String.repeat that was discovered when running with -fsanitize=address 2017-12-23 14:30:45 +01:00
Erik Svedäng
57bb9a7469 Extracted out Debug module. 2017-12-23 14:10:44 +01:00
Erik Svedäng
9a3ece2745 Some memory tests. 2017-12-23 09:24:16 +01:00
Erik Svedäng
bce28c65cd This might work. 2017-12-23 08:58:57 +01:00
Erik Svedäng
61208b599f Setting up proper test suit for finding memory errors. 2017-12-23 08:33:13 +01:00
hellerve
1c861d9f4d interim commit 2017-12-22 11:17:19 +01:00
Erik Svedäng
46c5a2af49
Merge pull request #140 from hellerve/examples-to-test
Moved a few examples to test
2017-12-21 16:56:33 +01:00
hellerve
ab9c0075a9 core: added SDL_Renderer opaque type; Eval: able to compare two symbols 2017-12-21 14:02:00 +01:00
hellerve
9ebd2c7997 core: moved from C for String./= to Carp 2017-12-19 18:01:06 +01:00
hellerve
d04cd6dfb1 core: added = and /= for regular strings, not just refs, fixed String./= 2017-12-19 17:53:27 +01:00
Erik Svedäng
849209db90
Merge pull request #138 from Nananas/fix-readfile
Fixed segfault in read-line when file doesn't exist.
2017-12-19 17:28:14 +01:00
Thomas Dendale
df34ad84c7 Fixed segfault in read-line when file doesn't exist. 2017-12-19 12:52:55 +01:00
hellerve
4e83a704e4 core: generalized subarray; tests: more extensive tests for array 2017-12-19 12:46:46 +01:00
Erik Svedäng
a3dd41cea7
Merge pull request #134 from hellerve/string-lib
Strings I: A few functions
2017-12-18 22:39:08 +01:00
hellerve
1dc11540d3 core: reimplemented reverse in carp 2017-12-18 16:53:46 +01:00
hellerve
9116d16e4c tests: tested new string functions 2017-12-18 16:19:29 +01:00
hellerve
582543a1cf core: simplified String.head 2017-12-18 16:06:17 +01:00
hellerve
309f1377dd core: added more string functions: compiler: added array reverse 2017-12-18 15:46:25 +01:00
hellerve
2f4505bf73 core: added char-at to String 2017-12-18 12:31:33 +01:00
hellerve
ea2f378cbf string: fixed padding functions 2017-12-18 12:31:33 +01:00
hellerve
9a521ef42a string: added head and tail 2017-12-18 12:31:33 +01:00
hellerve
5451c0367f string: started lib as specified in #94, currently blocked by #118 2017-12-18 12:31:08 +01:00
Erik Svedäng
dc49804068 Raise error when applying a non-existing macro / dynamic function. 2017-12-17 15:20:06 +01:00
Erik Svedäng
fbc3f4984f
Merge pull request #129 from hellerve/more-macros
Add useful macros to the standard library
2017-12-15 18:57:07 +01:00
hellerve
9e60ff01c1 core: fixed statistics cond and tests; core: accurate error message on cond 2017-12-15 17:43:06 +01:00
Erik Svedäng
87c52cd5eb <= and >= functions 2017-12-15 10:37:16 +01:00
hellerve
1deb64722a core: fix rebase error 2017-12-15 09:28:14 +01:00
hellerve
ffe4913a29 core: added suggestions of @eriksvedang to new macros 2017-12-15 09:27:06 +01:00
hellerve
0ad340ad55 core: added useful macros to the standard library 2017-12-15 09:26:21 +01:00
Your Name
3f0c5047f1 Changed pi symbol to 'pi' 2017-12-14 22:48:19 +01:00
Erik Svedäng
46de83b4b1 Two new interfaces: '<' and '>'. Also found a bug. 2017-12-13 22:29:43 +01:00
hellerve
5b08413aa2 macros: added unless 2017-12-13 12:34:14 +01:00
hellerve
74423320b4 macros: added when 2017-12-13 12:34:14 +01:00
hellerve
ca6ecafbbc core: added arithmetic ref interfaces and regular arithmetic interfaces, renamed functions in vectors 2017-12-13 11:10:42 +01:00
Erik Svedäng
79132cf13d Define an interface for pi (π). 2017-12-12 23:13:05 +01:00
Erik Svedäng
f446476523 Remove old code. 2017-12-12 23:04:40 +01:00
hellerve
5704a9268c macros: added use-all 2017-12-12 15:08:33 +01:00
Erik Svedäng
6938b65f01 Investigating bugs with symbol lookup in modules. 2017-12-12 12:57:13 +01:00
Erik Svedäng
0bf2d2bcaf Merge branch 'master' of https://github.com/carp-lang/Carp 2017-12-10 19:45:59 +01:00
Erik Svedäng
6ac76fc39e Subarray. 2017-12-08 15:12:50 +01:00
Erik Svedäng
42ce182669 Better "platform-only" macros. 2017-12-07 14:59:55 +01:00
hellerve
95dc737950 sdl: aded str and copy to keycode; compiler: use str function on member even if its external 2017-12-04 19:20:05 +01:00
hellerve
e17b6b892c core: minor fixes 2017-12-04 19:17:52 +01:00
Erik Svedäng
e15b35e58f Working on conditional compilation macros (not done). 2017-12-04 09:29:15 +01:00
Erik Svedäng
f902ea2be9 Revert "Adopt a length-prefixed string type"
This reverts commit d573372c7b.
2017-12-04 09:24:31 +01:00
Erik Svedäng
b0cdc65f4b Implemented 'add-ref' and 'zero' for Int/Float/Double. Allows nice 'Array.sum' function. 2017-12-04 07:21:35 +01:00
Erik Svedäng
270f54a1de Worked around a BUG: Importing Int and Array when defining String functions break things. 2017-12-04 06:58:06 +01:00
Erik Svedäng
ad6b1a9b6d Added 'words' and 'lines' function 2017-12-03 22:30:48 +01:00
Felipe Oliveira Carvalho
d573372c7b Adopt a length-prefixed string type 2017-12-03 19:15:25 +01:00
Felipe Oliveira Carvalho
17542b0bf4 Change type of Array.len to size_t 2017-12-03 19:14:58 +01:00
Felipe Oliveira Carvalho
3ba1ebfe65 Replace CARP_STRDUP with String_copy 2017-12-03 19:14:28 +01:00
Erik Svedäng
46004c7e69 A function for getting the numeric meaning of the chars '0' - '9'. 2017-12-01 12:02:36 +01:00
Erik Svedäng
5efecc1c8a Turned the def* commands into special forms to not evaluated their args. 2017-12-01 10:36:14 +01:00
Erik Svedäng
778b0d465e Args to commands are not evaluated at the REPL, for now. 2017-11-30 23:00:00 +01:00
Erik Svedäng
9e51b110af Added 'Dynamic' module that will contain dynamic versions of various functions. 2017-11-30 14:47:21 +01:00
Erik Svedäng
699e64d9ed Tried out writing a conditional compilation function. 2017-11-30 13:43:58 +01:00
hellerve
4e53130f53 long & int: updated tests 2017-11-29 17:28:05 +01:00
hellerve
fba4e8ba5e long & int: added binary arithmetic 2017-11-29 17:26:51 +01:00
Erik Svedäng
7d3931c46a
Merge pull request #117 from hellerve/misc
Miscellaneous fixes
2017-11-29 15:50:12 +01:00
Erik Svedäng
7bbdf2c041
Merge pull request #115 from hellerve/long-to-int
Added int conversion to long module
2017-11-29 15:49:24 +01:00
hellerve
911076276e all: miscellaneous fixes 2017-11-29 15:28:21 +01:00
hellerve
0e8558f6c3 long: added int conversion 2017-11-29 11:45:20 +01:00
Erik Svedäng
5dc648c93c Use carp malloc. 2017-11-28 10:08:17 +01:00
Erik Svedäng
6998bb04d7 File reading function. 2017-11-28 10:07:46 +01:00
Erik Svedäng
f4f9eed551 Interfaces for +-*/ would be cool. 2017-11-27 21:55:52 +01:00
hellerve
843402c42f fixed test cases 2017-11-27 14:51:33 +01:00