Justin Ethier
c9af448be2
More library integration
2015-05-12 18:20:48 -04:00
Justin Ethier
e51ca308ff
Renamed to 'imports'
2015-05-11 10:11:00 -04:00
Justin Ethier
842ddb597b
Library compilation changes
2015-05-08 17:55:44 -04:00
Justin Ethier
4b211430c4
Allow generated C files to compile
2015-05-07 15:15:17 -04:00
Justin Ethier
cd45021b2b
Pass lib args to cgen
2015-05-06 13:14:08 -04:00
Justin Ethier
4230295683
Fix load_varargs to prevent local var corruption
...
Assigning to a varargs variable that is not passed by the C caller can result in corruption of another parameter. EG: the var contains data for another parameter, which is then changed unexpectedly. The code was rewritten to assign to a new variable, to prevent this from happening.
2015-04-23 15:06:49 -04:00
Justin Ethier
538a010893
Allow varargs for - * / as well as +
2015-04-20 13:55:26 -04:00
Justin Ethier
388d0c3017
WIP - move Cyc-current-exception-handler to runtime
2015-04-15 22:58:39 -04:00
Justin Ethier
6cadac2be8
Renamed cyc_sum family of functions
2015-04-15 13:43:02 -04:00
Justin Ethier
abac04c58e
Replace set-cell! with set-car!
...
Set-cell was just a wrapper on set-car anyway, but it was failing to record a mutation, which would cause problems later on for the GC. By using set-car directly we avoid GC issues and simplify the runtime code a bit.
2015-04-15 13:30:28 -04:00
Justin Ethier
98fc7fa642
Added varargs sum, but working through issues with segfaults
2015-04-14 13:52:14 -04:00
Justin Ethier
88ad7b614e
Moved code to group together primitive config
2015-04-13 17:56:57 -04:00
Justin Ethier
04c11eabfb
Replacing __sum macro with Cyc_sum
2015-04-10 14:56:47 -04:00
Justin Ethier
010d3e6a18
Modified code to account for numeric tower, fixed up number->string
2015-04-09 21:52:49 -04:00
Justin Ethier
d9add7ab54
WIP
2015-04-09 18:04:06 -04:00
Justin Ethier
b2cc35e141
Added real?
and integer?
2015-04-09 17:54:35 -04:00
Justin Ethier
ea8f56a4ee
Allow (string->number) to return common type (int and double)
2015-04-08 22:59:22 -04:00
Justin Ethier
503770a899
Only emit funcall macros that are used by the generated code
2015-04-01 15:11:19 -04:00
Justin Ethier
96b5037449
Removed obsolete macro generation
2015-03-31 22:58:39 -04:00
Justin Ethier
c41608af7c
Removed DEBUG_ALWAYS_GC
2015-03-30 13:33:02 -04:00
Justin Ethier
f23b89a05f
Two fixes:
...
- Renamed 'Cyc-has-cycle?'
- Fixed Cyc_has_cycle to prevent an infinite loop
2015-03-25 21:58:02 -04:00
Justin Ethier
19ccf7cda3
Added remaining list/pair functions
2015-03-25 14:09:49 -04:00
Justin Ethier
582524af81
Moving core exception handler code from C to Scheme
2015-03-21 22:01:14 -04:00
Justin Ethier
1d5409b4ae
Initial version of (raise-continuable)
2015-03-19 22:20:12 -04:00
Justin Ethier
f819b9e055
WIP
2015-03-18 15:12:50 -04:00
Justin Ethier
35dd277080
WIP
2015-03-17 22:52:15 -04:00
Justin Ethier
6a27bd44ad
WIP - raise
2015-03-17 22:32:52 -04:00
Justin Ethier
5bd3deefa1
Added (exit)
2015-03-13 23:42:41 -04:00
Justin Ethier
b886fd8871
Store printable name of primitives to improve display
2015-03-03 22:39:12 -05:00
Justin Ethier
4dff6070ce
Use CYC_EVAL to selectively include eval code
2015-03-03 21:07:20 -05:00
Justin Ethier
a2fe40b348
Recognize cons types in funcall's
2015-03-02 22:50:40 -05:00
Justin Ethier
b36f0a8237
Proof-of-concept for va dispatch
2015-02-26 17:00:49 -05:00
Justin Ethier
03d5aef9e3
Call function directly in dispatch()
2015-02-25 22:35:12 -05:00
Justin Ethier
cf96477cea
Generate prim function name
2015-02-25 15:46:28 -05:00
Justin Ethier
2909343c47
Added function parameter to primitive type
2015-02-24 22:57:15 -05:00
Justin Ethier
1d3968664f
Delimit defprimitive section
2015-02-24 13:23:48 -05:00
Justin Ethier
8e40505015
Added cmd line option to autogen blocks of code
2015-02-24 12:54:05 -05:00
Justin Ethier
a4fcdf0e9e
Added autogen functions
2015-02-24 12:47:30 -05:00
Justin Ethier
cb9c21013c
Working method to apply larger numbers of args
2015-02-23 21:50:04 -05:00
Justin Ethier
e056b72f6f
Added (procedure?)
2015-02-23 13:10:58 -05:00
Justin Ethier
cdec643680
Initial file
2015-02-21 22:15:18 -05:00