Justin Ethier
a2c0d8c511
Debug traces
2017-04-29 19:02:23 -04:00
Justin Ethier
f80da86712
Do not inline functions with free vars
2017-04-28 18:27:51 -04:00
Justin Ethier
fef4663f78
Remove old function
2017-04-28 18:10:32 -04:00
Justin Ethier
eb4fe26284
Relocated function
2017-04-28 17:54:04 +00:00
Justin Ethier
19e0346968
Temporary workaround for name conflict
...
A longer-term solution will need to address cases where a function is defined with the same name as an inlinable function from another library. These are effectively promoted to primitives, which are not renamed by alpha conversion.
A possible workaround might be to allow a global in the module being compiled to "override" a primitive of the same name. TBD
2017-04-27 18:11:57 -04:00
Justin Ethier
e469f4d5a6
Added (imported?)
2017-04-26 17:22:33 -04: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
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
62559ee2c0
No extra comma for inlined scheme functions
2017-04-19 00:54:01 +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
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
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
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
719cbaec2f
Inline log and sin
2017-04-17 16:59:53 +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
8cb74fb075
Inline version of truncate
2017-04-17 10:27:23 +00:00
Justin Ethier
7cc3532385
Version bump
2017-04-15 19:18:47 -04:00
Justin Ethier
498fa6f54e
Issue #194 - Disable inline define-c's for now
2017-04-12 18:01:33 -04:00
Justin Ethier
861330bc82
WIP
2017-04-05 19:00:42 -04:00
Justin Ethier
4b8d143627
Cleanup
2017-04-05 18:08:08 -04:00
Justin Ethier
e5d63a61d5
WIP
2017-04-04 09:11:07 +00:00
Justin Ethier
a4319fd48d
prim-convert - do not stop on first ref
2017-04-04 08:54:06 +00:00
Justin Ethier
1a28889caf
Emit inline functions as primitives
2017-04-04 08:14:39 +00:00
Justin Ethier
10fb038c37
Added (prim:udf?)
2017-04-04 07:54:39 +00:00
Justin Ethier
742c55bf45
Take udf-prims into account
2017-04-04 07:45:24 +00:00
Justin Ethier
0b76fbc8b2
Use new function from prim library
2017-04-04 05:41:45 +00:00
Justin Ethier
99bb171bb1
Added prim:func->prim
2017-04-04 05:30:51 +00:00
Justin Ethier
acef00a5b6
WIP
2017-04-04 19:00:50 -04:00
Justin Ethier
0e092da703
WIP
2017-04-04 18:47:05 -04:00
Justin Ethier
c7476fb1ed
Emit code for define-c inlines
2017-04-03 21:58:45 +00:00
Justin Ethier
470ea62e9d
Handle define-c inline globals
2017-04-03 20:55:45 +00:00
Justin Ethier
2af740f763
Added define-c inline helpers
2017-04-03 20:55:25 +00:00
Justin Ethier
074dee7886
Exploring how define-c could inline functions
2017-04-03 13:37:27 +00:00
Justin Ethier
acbb33cf5b
Always output relative path to libs
2017-03-29 01:21:05 +00:00
Justin Ethier
4c08f7099d
Added TODO
2017-03-28 21:44:59 +00:00
Justin Ethier
205905a629
Cleanup
2017-03-28 11:12:01 +00:00
Justin Ethier
4dd72a876c
Load unloaded or explicitly imported libs
2017-03-28 10:14:02 +00:00