Justin Ethier
89c58f8b44
Omit C meaningless expressions
...
When compiling Cyc-seq expressions there are cases where the generated C code would have no effect. Just omit it in this case to prevent a warning from the C compiler.
2017-07-13 10:35:10 +00:00
Justin Ethier
8ba1954ac3
WIP
2017-07-07 18:44:13 -04:00
Justin Ethier
7bad122821
WIP
2017-07-07 17:47:24 +00:00
Justin Ethier
27970524c5
Generalization of globals_changed thread param
2017-06-09 17:17:01 +00:00
Justin Ethier
75b9e7bf8a
Explicit inlines
2017-04-29 01:18:39 +00:00
Justin Ethier
6e1073387a
Expose UDF inlines and original symbols
2017-04-24 23:03:09 +00:00
Justin Ethier
1c82f0e74a
Add Scheme inlines to global inline list
2017-04-24 22:08:15 +00:00
Justin Ethier
62559ee2c0
No extra comma for inlined scheme functions
2017-04-19 00:54:01 +00:00
Justin Ethier
506a7e6136
Generate code using new return_copy macro
2017-04-18 20:36:05 +00:00
Justin Ethier
bd9119c274
WIP
2017-04-18 19:14:52 +00:00
Justin Ethier
021113ced4
Add cps param
2017-04-20 17:57:59 -04:00
Justin Ethier
f50aafffe4
WIP - starting to add cps parameter
2017-04-18 13:49:34 +00:00
Justin Ethier
2da2317a91
Rename param to "cps?"
2017-04-18 13:21:19 +00:00
Justin Ethier
b27dab456d
WIP
2017-04-18 12:44:45 +00:00
Justin Ethier
68b8e1fc38
WIP
2017-04-18 10:53:30 +00:00
Justin Ethier
529585d92c
Expose list of inlinable functions
2017-04-17 18:11:51 -04:00
Justin Ethier
08a960306c
WIP
2017-04-17 17:46:39 +00:00
Justin Ethier
396888f1b8
Bug fixes for listing inlinables
2017-04-17 16:59:41 +00:00
Justin Ethier
3fbdbb2e72
WIP - output list of inlinable funcs
2017-04-17 14:22:27 +00:00
Justin Ethier
1a28889caf
Emit inline functions as primitives
2017-04-04 08:14:39 +00:00
Justin Ethier
c7476fb1ed
Emit code for define-c inlines
2017-04-03 21:58:45 +00:00
Justin Ethier
6d85b83240
WIP
2017-03-28 01:19:20 -04:00
Justin Ethier
24a2b63b7f
Issue #185 - Ensure objects are moved during init
...
This prevents broken hearts by ensuring objects are in their final locations before assigning pointers to pointers.
2017-03-21 19:01:06 -04:00
Justin Ethier
c99e046517
Added TODO
2017-03-21 17:56:41 +00:00
Justin Ethier
78c253e1c3
Issue #185 - Allow export of another lib's export
2017-03-20 17:01:25 +00:00
Justin Ethier
470fb17465
Compile bignum consts
2017-02-17 18:28:32 +00:00
Justin Ethier
07500ce6d6
Properly store thread ID in thread objects
...
Also sketched out thread-join support but there are larger issues to consider to get that working.
2017-01-22 18:58:37 -05:00
Justin Ethier
b0ec9d9671
Handle conversion of other chars
2016-11-23 18:28:47 -05:00
Justin Ethier
b1ca2627d1
Issue #112 - Compilation of nan/inf
2016-10-24 17:15:32 -04:00
Justin Ethier
fa53f1225e
Add fast numeric comparisons
2016-10-15 02:37:13 -04:00
Justin Ethier
5d089b83eb
Bugfix, do not add & for "fast" functions
2016-10-14 23:10:16 -04:00
Justin Ethier
cf735c7917
Integrating fast sum
2016-10-14 22:41:08 -04:00
Justin Ethier
6d9ebb1a7c
Use import DB to compile globals
2016-10-11 03:19:50 -04:00
Justin Ethier
cc16ca8de2
Store environment information
2016-09-28 23:23:24 -04:00
Justin Ethier
55f4a7403c
Issue #3 - Fix C compiler warning for varargs
2016-08-12 18:07:05 -04:00
Justin Ethier
17ce827d8e
Issue #3 - Allow compiling a pure varargs lambda
2016-08-13 01:42:58 -04:00
Justin Ethier
5dceed4e2d
Issue #101 - Include an extra ; to prevent errors
...
Include an extra semicolon in the C entry point to prevent it from missing in cases where one is no normally inserted, such as for non-cps primitives or constants. This prevents C compilation errors in edge cases.
2016-08-11 23:50:43 -04:00
Justin Ethier
a8062e3f13
Issue #93 - Type-check call/cc argument
2016-08-05 23:31:15 -04:00
Justin Ethier
f46cc5b010
Explicitly declare C main as returning int
2016-07-20 22:35:01 -04:00
Justin Ethier
199b685de3
Use only one comparison in closcall macros
...
This improves performance a bit since these macros are called after almost every C function.
2016-07-04 22:42:35 -04:00
Justin Ethier
f4b8dbc8a1
Added a special case to set num_args to 0 for call/cc
...
This fixes validation later on for call/cc's internal lambda function. When we eval it we only want to validate 1 arg, not 2.
2016-06-11 01:27:50 -04:00
Justin Ethier
c3a7fcbe45
Deleted relocated code
2016-06-04 04:10:32 -04:00
Justin Ethier
d3fbcdc9c2
New library
2016-06-04 04:07:12 -04:00
Justin Ethier
24cf670237
Added Cyc-opaque?
2016-04-26 21:52:30 -04:00
Justin Ethier
360e9c1127
Added TODO
2016-04-27 04:07:04 -04:00
Justin Ethier
e892ed2270
Refactoring
2016-04-27 03:18:47 -04:00
Justin Ethier
008c857755
Refactoring
2016-04-26 23:33:36 -04:00
Justin Ethier
df20aaa6d3
Refactoring
2016-04-20 23:42:21 -04:00
Justin Ethier
ef1db96f2a
Refactoring
2016-04-20 23:10:46 -04:00
Justin Ethier
ea225a3ab7
Refactoring
2016-04-21 00:36:51 -04:00