Commit graph

155 commits

Author SHA1 Message Date
Justin Ethier
6441ce9409 Relocated macro expansion code 2017-11-28 18:46:48 -05:00
Justin Ethier
a55ab6780c Remove obsolete imports 2017-11-28 17:01:41 -05:00
Justin Ethier
eac413a2f5 Relocated functions 2017-11-27 17:43:44 -05:00
Justin Ethier
044d135b84 First working version of let-syntax 2017-11-25 19:03:00 -05:00
Justin Ethier
d590d1bf8b Added local-env parameter 2017-11-25 17:34:38 -05:00
Justin Ethier
454fe2c26c Additional hook required for let-syntax 2017-11-24 17:49:42 -05:00
Justin Ethier
5b8f47af43 WIP for let-syntax 2017-11-21 19:07:52 -05:00
Justin Ethier
5112aa9f46 Do not precompute user defined prim 2017-07-19 18:02:20 -04:00
Justin Ethier
2fd88a15e6 Relocate closure conversion 2017-07-07 13:03:30 +00:00
Justin Ethier
45c27f5a3a Experimenting with wrap-mutable optimizations 2017-05-09 15:19:29 +00:00
Justin Ethier
dfdd84d585 Issue #198 - Remove custom "member" function 2017-05-08 18:44:29 -04:00
Justin Ethier
3bd5d52671 Keep track of lambda's with continuations 2017-05-04 06:50:09 +00:00
Justin Ethier
75b9e7bf8a Explicit inlines 2017-04-29 01:18:39 +00:00
Justin Ethier
fef4663f78 Remove old function 2017-04-28 18:10:32 -04:00
Justin Ethier
8b88b8d36d Do not inline prims that create mutable objs 2017-04-24 14:55:57 +00:00
Justin Ethier
045a86dc44 Do not inline functions w/mutating primitives 2017-04-24 13:16:23 +00:00
Justin Ethier
0262beb351 Do not try to inline large lambda bodies
If a lambda body contains more than one expression it must be compiled using CPS, so the inline code must reject it as a possible candidate.
2017-04-19 00:12:49 +00:00
Justin Ethier
33ba61578b Remove unsafe code 2017-04-18 08:31:25 +00:00
Justin Ethier
f1d5bb6f83 Find inlinable scheme functions 2017-04-18 05:55:00 +00:00
Justin Ethier
b607f9a420 WIP: (inlinable-top-level-function? expr) 2017-04-18 19:03:31 -04:00
Justin Ethier
fae5813018 WIP: (inlinable-top-level-function? expr) 2017-04-17 21:34:21 +00:00
Justin Ethier
a4319fd48d prim-convert - do not stop on first ref 2017-04-04 08:54:06 +00:00
Justin Ethier
0b76fbc8b2 Use new function from prim library 2017-04-04 05:41:45 +00:00
Justin Ethier
470ea62e9d Handle define-c inline globals 2017-04-03 20:55:45 +00:00
Justin Ethier
2accd479c9 Cleanup 2017-03-21 11:57:53 +00:00
Justin Ethier
bf2643ce3d Added prim-convert 2017-03-21 11:15:53 +00:00
Justin Ethier
e8c5a3415a Comment-out WIP code 2017-03-20 18:56:52 -04:00
Justin Ethier
4d2cef3782 WIP 2017-03-20 18:55:53 -04:00
Justin Ethier
78c253e1c3 Issue #185 - Allow export of another lib's export 2017-03-20 17:01:25 +00:00
Justin Ethier
330780c44d Issue #13 - Allow compilation of code with local if 2016-12-08 13:57:19 +00:00
Justin Ethier
a3cb0b1ab8 Issue #13 - Better support for lexical scoping 2016-12-04 06:20:23 +00:00
Justin Ethier
71aaf162c9 Allow Cyc-list to handle 0 args 2016-11-28 18:32:27 -05:00
Justin Ethier
36e590610b WIP - Cyc-list for anonymous vararg lambdas 2016-11-28 18:12:08 -05:00
Justin Ethier
20a73cac64 Handle + and * without any args 2016-11-23 17:48:21 -05:00
Justin Ethier
fb54796d53 Optimize certain assoc and member function calls 2016-10-18 03:08:37 -04:00
Justin Ethier
2019937b97 WIP 2016-10-13 18:55:37 -04:00
Justin Ethier
acaea412ea WIP 2016-10-13 18:32:15 -04:00
Justin Ethier
8e3aedbb11 Issue #113 - Check for duplicate lambda parameters 2016-09-27 23:55:58 -04:00
Justin Ethier
7b441dcfcf Change rename env to a local instead of a global 2016-09-21 17:25:36 -04:00
Justin Ethier
4f99b8b629 Relocated (lambda->exp) 2016-09-16 17:51:48 -04:00
Justin Ethier
df7640777f Migrate functions 2016-09-16 17:35:07 -04:00
Justin Ethier
ee842057ce Removed dead code 2016-08-17 18:58:30 -04:00
Justin Ethier
6d3e5f041f Staging changes 2016-08-16 03:54:18 -04:00
Justin Ethier
d0d889f594 Relocated pair->list 2016-08-13 23:14:12 -04:00
Justin Ethier
5eeef5d992 Added (Cyc-compilation-environment) 2016-07-30 03:12:17 -04:00
Justin Ethier
f00929971d Allow local to have same identifier as a prim
Allow a local variable to use the same identifier as a primitive, by renaming the local and shadowing the primitive within that scope.
2016-07-15 22:43:56 -04:00
Justin Ethier
089a64d290 Replace (macro?) with (Cyc-macro?) 2016-07-14 22:29:58 -04:00
Justin Ethier
db68e7cdeb Removed dead code 2016-07-12 23:13:34 -04:00
Justin Ethier
3d138cbde8 Check number of args passed to anonymous lambdas 2016-07-12 23:06:32 -04:00
Justin Ethier
a72a7e1718 Validate number of args to prims 2016-07-11 21:53:28 -04:00