Commit graph

41 commits

Author SHA1 Message Date
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