Commit Graph

346 Commits

Author SHA1 Message Date
Erik Svedäng
76acc68f6e fix double import of glfw lib 2016-06-20 06:27:57 +02:00
Erik
d9ed13d840 hashes for dictionaries 2016-06-17 15:42:06 +02:00
Erik
aa72248a0f while loop must pop values (from bytecode) 2016-06-17 13:58:14 +02:00
Erik Svedäng
330ae9f87d all tests except one run when bytecode is on (projects don't work either) 2016-06-17 00:39:51 +02:00
Erik Svedäng
6aa88ab5d7 struct tests also work! 2016-06-16 23:48:49 +02:00
Erik Svedäng
9522004e4a fixed bug with obj_string not evaling on top of stack 2016-06-16 23:43:23 +02:00
Erik Svedäng
e54781bb1e fixes to generic structs from bytecode 2016-06-16 17:52:11 +02:00
Erik Svedäng
40cb9b93f3 solved bug in bytecode 'apply' function 2016-06-16 17:31:45 +02:00
Erik Svedäng
12c733988e some more tests run... 2016-06-16 13:52:27 +02:00
Erik Svedäng
30f6547e67 can compile fib to C with bytecode turned on 2016-06-16 13:29:45 +02:00
Erik Svedäng
c282e2ab7c letrec 2016-06-16 13:06:15 +02:00
Erik Svedäng
6107e619d4 fix and*, make macros print their name when given wrong arg count 2016-06-16 12:26:14 +02:00
Erik Svedäng
7aec1eb6db bytecodes use ints to store indexes to literals 2016-06-16 11:23:49 +02:00
Erik Svedäng
ec30d8f320 ugh, so much to fix with bytecode... 2016-06-16 10:36:25 +02:00
Erik Svedäng
ad1961cdda much better stacktrace, still not as good as old interpreter though 2016-06-16 09:51:26 +02:00
Erik Svedäng
a2733fde0d better stack trace solution for bytecode 2016-06-15 18:39:07 +02:00
Erik Svedäng
c344804a11 a new let 2016-06-15 15:36:11 +02:00
Erik Svedäng
b6fb5c255a ah, I need let* for bindings refering to previous step 2016-06-15 14:07:43 +02:00
Erik Svedäng
964b97f0a3 must make jump instruction use int 2016-06-15 12:08:42 +02:00
Erik Svedäng
3ceb0d1c87 can load all the functions, just not run them... 2016-06-15 11:25:44 +02:00
Erik Svedäng
b033d637bf getting there with the bytecode... 2016-06-15 09:45:28 +02:00
Erik Svedäng
aeb7d8d7c3 can activate bytecode evaluation for the repl, if desired 2016-06-14 15:51:22 +02:00
Erik Svedäng
caea2ee803 'match' works for bytecode 2016-06-14 15:32:52 +02:00
Erik Svedäng
c06cd76d76 started working on 'match' 2016-06-14 12:13:08 +02:00
Erik Svedäng
b631a185ef fixed bug with 'do' form not popping it's values 2016-06-14 11:54:32 +02:00
Erik Svedäng
7e6ab241cd nested lambdas work 2016-06-14 11:20:02 +02:00
Erik Svedäng
3688d9e158 working on nested lambdas in bytecode 2016-06-14 10:31:27 +02:00
Erik Svedäng
31368bc206 fibb 2016-06-13 23:26:15 +02:00
Erik Svedäng
c4bb69c98c reverted instructions 2016-06-13 17:08:38 +02:00
Erik Svedäng
ace58ee1fa argument check for macros work 2016-06-13 16:03:22 +02:00
Erik Svedäng
9e094d3864 can detect stack overflow in bytecode 2016-06-13 15:46:02 +02:00
Erik Svedäng
14c64cf63b macros in bytecode works 2016-06-13 15:13:55 +02:00
Erik Svedäng
4e1547c8fd in the middle of something... 2016-06-10 17:00:53 +02:00
Erik Svedäng
0b98637624 cleanup 2016-06-10 15:41:11 +02:00
Erik Svedäng
0ad825b72a todo 2016-06-10 15:19:01 +02:00
Erik Svedäng
9a767bdb4b if and while bytecode works 2016-06-10 15:18:25 +02:00
Erik Svedäng
eed5a902de figthing the bytecode 2016-06-10 11:13:40 +02:00
Erik Svedäng
90be2c3769 more bytecode things 2016-06-10 10:30:55 +02:00
Erik Svedäng
28666ea33f structs can have structs and arrays as members 2016-06-08 13:19:32 +02:00
Erik
cc969ea822 removed some old examples 2016-06-01 19:13:54 +02:00
Erik
f98e7ff75e fixed battle.carp 2016-06-01 19:12:42 +02:00
Erik
91dd366153 made game and typograf run again 2016-06-01 19:09:58 +02:00
Erik
bbc71a57aa tests for generic structs 2016-06-01 18:52:13 +02:00
Erik
691e1ba076 detecting generic stubs correctly in func-deps 2016-06-01 14:42:07 +02:00
Erik
d8acf8a852 type of generic struct instantiated dynamically is set correctly 2016-06-01 14:10:59 +02:00
Erik
bc6cdaae24 tests run etc 2016-06-01 14:01:33 +02:00
Erik
8158221f02 dynamic call to generic struct constructor can figure out the type variables 2016-06-01 11:19:25 +02:00
Erik
78df4f92df can kind of instantiate structs dynamically 2016-06-01 10:57:44 +02:00
Erik
8a72b9d6f2 can concretize getter from dynamic code 2016-05-31 15:34:56 +02:00
Erik
86c56c1ab7 tests run, still a bit to go... 2016-05-31 14:51:05 +02:00
Erik
260dd44c61 moved concretizing of lens functions to much better location 2016-05-31 13:52:10 +02:00
Erik
e09d3511c9 stub thingy works! 2016-05-31 09:55:51 +02:00
Erik
8eb08fda2d code is being stubborn... generic structs is harder than expected 2016-05-30 16:56:18 +02:00
Erik
061393714a cleanup (of unfinished code) 2016-05-30 15:01:17 +02:00
Erik
131c1caaaf tests run... 2016-05-30 14:44:13 +02:00
Erik
8b4568c3a3 concretizing structs based on lenses is problematic 2016-05-30 12:47:30 +02:00
Erik Svedäng
0a63e271af tests run, have still not solved the problem with stub lens functions 2016-05-27 16:33:00 +02:00
Erik Svedäng
ec65c3a108 prevent refs in structs 2016-05-27 14:41:06 +02:00
Erik Svedäng
37e7cb90dc compiling generic structs work now (for 1 typevar) 2016-05-27 13:57:04 +02:00
Erik Svedäng
7c911d2490 Merge branch 'master' of https://github.com/eriksvedang/Carp 2016-05-27 13:05:17 +02:00
Erik Svedäng
e73106cbe7 delete _string 2016-05-27 13:05:06 +02:00
Erik
eccfe39610 making strides towards the generic struct of our dreams... 2016-05-26 10:09:30 +02:00
Erik Svedäng
ce24d00241 some more work on generic structs 2016-05-25 08:45:34 +02:00
Erik
7b21a35104 starting to think about generic structs... 2016-05-23 16:19:00 +02:00
Erik
0643b72f73 fixed bug with printing of char in ptr-to-global 2016-05-23 13:31:08 +02:00
Erik
d9406b2209 and & or are macros now 2016-05-18 19:36:53 +02:00
Erik
bd8afafd01 "or" 2016-05-18 18:54:56 +02:00
Erik
38473975b2 moved functions to test files 2016-05-18 18:07:58 +02:00
Erik
180ff2ab53 'reduce' works! 2016-05-18 17:56:00 +02:00
Erik
5f6b0a31c3 prevented infinite recursion in constraint solver 2016-05-18 16:42:04 +02:00
Erik Svedäng
30b315d37f big problems with 'reduce'... get infinite recursion in
extend-substitutions :(
2016-05-02 22:03:30 +02:00
Erik Svedäng
a90d94eeaf reduce 2016-05-02 11:25:44 +02:00
Erik Svedäng
64e407f4be can compare non-ref primitive types again 2016-05-02 11:14:16 +02:00
Erik Svedäng
78762a34e5 Bounds checking on arrays 2016-05-02 10:33:14 +02:00
Erik Svedäng
dfe9f59932 hmm... 2016-05-02 10:27:23 +02:00
Erik Svedäng
ed5e7fe012 handle true case 2016-05-02 10:10:16 +02:00
Erik Svedäng
1d2a509e9a 'error' can be baked 2016-05-02 08:26:34 +02:00
Erik Svedäng
14edefc930 can compile part of Rövarspråket algorithm 2016-05-02 08:05:57 +02:00
Erik Svedäng
1be6dde0c9 need to add a special form for 'or' 2016-04-27 21:45:05 +02:00
Erik Svedäng
8bc17bf786 and* 2016-04-27 21:18:12 +02:00
Erik Svedäng
05efae290d and binop, *-macros 2016-04-27 21:09:43 +02:00
Erik Svedäng
f558271235 equality for all types 2016-04-27 15:34:41 +02:00
Erik Svedäng
1c98133a06 clean up of more tests 2016-04-27 10:46:26 +02:00
Erik Svedäng
a61097c2cd Not allow putting refs into an array 2016-04-27 10:13:21 +02:00
Erik Svedäng
4632c589b6 more work 2016-04-26 11:38:38 +02:00
Erik Svedäng
07fcc11d8a started working on str* macro 2016-04-26 11:33:06 +02:00
Erik Svedäng
b92cc0e407 sending Obj arrays to ffi functions is more complete 2016-04-26 11:06:22 +02:00
Erik Svedäng
843b1cdac3 globals of various kinds work 2016-04-26 00:06:27 +02:00
Erik Svedäng
0f8955152a clean up docs 2016-04-25 23:35:20 +02:00
Erik
12139f20a4 handle OS signals 2016-04-25 17:26:25 +02:00
Erik
2bf19f4fed update function 2016-04-25 16:59:49 +02:00
Erik
97aa41b33d all the letters! 2016-04-25 16:56:43 +02:00
Erik
c3d31d23e5 minor fixes 2016-04-25 16:36:44 +02:00
Erik Svedäng
05e239013e p_sort_by has some kind of error... 2016-04-25 11:58:20 +02:00
Erik Svedäng
5c522e17f4 still some bug in faster 'extend-substitutions' 2016-04-25 10:58:57 +02:00
Erik Svedäng
cb039cdcf8 add 'types-exactly-eq?' 2016-04-25 07:49:17 +02:00
Erik Svedäng
d4ff624924 slashed infer-time by ~40-50% :D 2016-04-25 07:33:12 +02:00
Erik Svedäng
d866be114c implemented lookup-in-substs-fast 2016-04-25 06:56:35 +02:00
Erik Svedäng
8f3c511d9f preparing for faster unification 2016-04-25 00:00:56 +02:00
Erik Svedäng
b2ac56ae49 remove call to bake exe 2016-04-24 23:38:29 +02:00
Erik Svedäng
b7d464bb6b ownership in arrays seems fine 2016-04-24 23:36:42 +02:00
Erik Svedäng
37a43ffed0 moved test 2016-04-24 22:58:21 +02:00
Erik Svedäng
b2499bc0c9 add :Array in calculate_lifetimes.carp 2016-04-24 22:52:09 +02:00
Erik Svedäng
681f4954f6 fixing memory leaks in generated C code 2016-04-24 22:20:18 +02:00
Erik Svedäng
6a495a3d09 cleanup 2016-04-24 21:01:15 +02:00
Erik Svedäng
45de5be946 globals with arrays and structs works now!!! 2016-04-24 20:57:08 +02:00
Erik Svedäng
28ed8a4603 tests run again, solved segfault 2016-04-23 23:21:04 +02:00
Erik
f4948747fb still got some crashes when baking global variables, something with the GC 2016-04-22 16:53:17 +02:00
Erik
ba2ed774e2 spaces 2016-04-22 12:11:44 +02:00
Erik
44d058c79f much more sane solution for building exe:s 2016-04-22 09:59:05 +02:00
Erik
cc4deec25a things work, savepoint! 2016-04-22 07:34:40 +02:00
Erik
f79c6067b0 no log 2016-04-21 16:11:16 +02:00
Erik
9f4170e8d3 all tests run now, can redefine structs 2016-04-21 16:06:24 +02:00
Erik
00584a6236 can redefine structs deep in a hierarchy 2016-04-21 15:49:50 +02:00
Erik
13094c1096 structs will depend on the groups of their members (if they are structs) 2016-04-21 14:08:54 +02:00
Erik
b7879efbfd sort struct defintions by order 2016-04-21 13:35:24 +02:00
Erik
bb5acca520 moved test 2016-04-21 11:29:29 +02:00
Erik
2877ba38d2 fixed tests 2016-04-21 11:18:18 +02:00
Erik
f3cd32266c concrete versions of functions depends on their generic originals in the graph 2016-04-21 11:00:26 +02:00
Erik
1a71073463 all functions for a struct are compiled into a single dylib (group) 2016-04-21 10:27:22 +02:00
Erik
4470b703a5 made ALL deps into strings 2016-04-21 09:20:50 +02:00
Erik
6d1afd2a3a all tests run again! 2016-04-21 09:10:51 +02:00
Erik Svedäng
a2d18099ef more cleanup of compiler.carp 2016-04-20 15:18:37 +02:00
Erik Svedäng
c10c3b3585 removed unnecessary saving of prototypes 2016-04-20 12:45:54 +02:00
Erik Svedäng
62255b2ee8 removed function-dependency-graph and its functions 2016-04-20 12:23:24 +02:00
Erik Svedäng
74752c83fb cleaning up 2016-04-20 12:09:45 +02:00
Erik Svedäng
f505e65566 faster! 2016-04-19 23:38:29 +02:00
Erik Svedäng
82385359a4 fixed typograf so that it compiles with new map-copy signature 2016-04-16 11:07:41 +02:00
Erik
cde9a472b1 more glyphs 2016-04-15 18:13:37 +02:00
Erik
738c8010e9 Ownership in while loops 2016-04-15 14:42:38 +02:00
Erik
0714828977 fixed bug with dashes in names of globals 2016-04-15 14:07:19 +02:00
Erik
2eee495411 cleanup 2016-04-15 13:44:58 +02:00
Erik Svedäng
26b0e2bc8d can bake init closures 2016-04-15 10:23:21 +02:00
Erik Svedäng
f4dcf2fe5c tests run 2016-04-15 00:21:03 +02:00
Erik Svedäng
e2bd8060d4 todo 2016-04-15 00:01:12 +02:00
Erik Svedäng
bac947df62 can use arrays of arrays in globals 2016-04-14 23:52:37 +02:00
Erik Svedäng
fd337bf946 cleanups 2016-04-14 23:27:19 +02:00
Erik Svedäng
cf979de6c2 can reset arrays too 2016-04-14 22:30:28 +02:00
Erik
d4380d48cc cleanup before meetup 2016-04-14 18:03:15 +02:00
Erik Svedäng
5296871b63 can't reset baked arrays from repl 2016-04-14 00:05:21 +02:00
Erik Svedäng
89c94038d9 moved code to tests 2016-04-13 23:52:26 +02:00
Erik Svedäng
79e8b08a83 solved bugs, can now print pointers to globals in the repl 2016-04-13 23:48:56 +02:00
Erik Svedäng
a002cb6659 messing around with globals... 2016-04-13 23:34:09 +02:00
Erik Svedäng
ed40c3cf98 found bug with shared builder (need to enable it before defining structs) 2016-04-13 21:24:32 +02:00
Erik Svedäng
2001c637e2 made the reader accept bigger inputs 2016-04-13 17:53:55 +02:00
Erik Svedäng
4dbff45738 tried to fix the reader so that it can handle big forms 2016-04-13 17:50:38 +02:00
Erik Svedäng
a5f930cbda more messing around with globals and their initialization 2016-04-13 15:57:17 +02:00
Erik Svedäng
c8cecd1bdc can reset! baked global variables 2016-04-13 14:43:00 +02:00
Erik Svedäng
05ad46f701 baked global variables are shared between functions in repl 2016-04-13 13:36:12 +02:00
Erik Svedäng
d5ec94d7c6 automatically enable shared builder when baking exe 2016-04-13 10:21:45 +02:00