Justin Ethier
f091d0267e
Unsafe (length)
2019-11-26 23:06:01 -05:00
Justin Ethier
0651716196
Unsafe vector-set
2019-11-26 22:58:24 -05:00
Justin Ethier
c30bf50b5d
Fix unsafe car/cdr
2019-11-26 16:11:57 -05:00
Justin Ethier
5f42a06601
More unsafe prims
2019-11-26 16:03:06 -05:00
Justin Ethier
537e8bc975
Experimenting with unsafe prims
2019-11-26 15:37:52 -05:00
Justin Ethier
e6c23e25c1
Issue #337
...
Added `open-binary-input-file` and `open-binary-output-file` from R7RS.
2019-09-15 10:40:06 -04:00
Justin Ethier
1edb877c5f
Speed up vector
for five args or less
2019-08-02 12:13:30 -04:00
Justin Ethier
f64d429ab8
WIP
2019-02-28 09:43:58 -05:00
Justin Ethier
c564400f5a
Classify apply functions as mutators
...
We don't know if the functions they call will mutate or not, so err on the side of caution. Not sure this is really necessary since they receive a cont and therefore cannot be inlined anyway.
2018-12-21 21:48:57 -05:00
Justin Ethier
58e2809330
Use hashsets
2018-12-19 14:24:20 -05:00
Justin Ethier
9727e9f86c
Use memq instead of member
...
We are looking up symbols so memq can be used instead, which is must faster at scale.
2018-12-18 22:01:27 -05:00
Justin Ethier
d54a0130c0
Issue #284 - Fix how udf:prims are compiled
2018-12-14 14:04:19 -05:00
Justin Ethier
c625e8b0e6
Second try with fast list
2018-12-05 17:39:09 -05:00
Justin Ethier
1a586b188c
Disable fast list functions
...
Having problems getting macros to work in a safe way with Cyc-seq. Since these functions were never a big win anyway, we are going to disable them for now.
2018-12-04 17:51:35 -05:00
Justin Ethier
c65977a6a2
Cut over list_2 to new macro
2018-12-04 14:51:03 -05:00
Justin Ethier
f7d76bd90a
Do not use make_cell
2018-12-03 18:06:59 -05:00
Justin Ethier
01a73839ac
Cut cons over to new expr-safe code
...
Want to ensure cons can be used safely as part of a Cyc-seq. This cannot happen if the cons used the previous make_pair macro as that can only be called at the top of a function as part of a declaration.
2018-12-03 13:17:17 -05:00
Justin Ethier
69a35f7d2e
Revert I/O changes for now
2018-11-30 17:50:34 -05:00
Justin Ethier
f5b7c75184
Temporarily revert previous changes for cons
2018-11-30 17:26:45 -05:00
Justin Ethier
8ccd2b3525
WIP, seq safe allocation/assignment of pairs
2018-11-30 13:38:10 -05:00
Justin Ethier
e6e6527be7
WIP
2018-11-29 18:51:08 -05:00
Justin Ethier
a918f2cb2d
issue #282 - Put numeric operations in body
...
This avoids ordering issues. But I think we still have trouble with other primtives. Is there ever a legitimate need to declare a c var for a prim??? I am not seeing it, especially with our changes now for Cyc-seq.
2018-11-29 13:36:07 -05:00
Justin Ethier
b0e6c42eb1
Added prim->c-func-uses-alloca?
2018-11-22 17:33:06 -05:00
Justin Ethier
4824fc50ed
Increased alloca support
2018-10-26 13:03:54 -04:00
Justin Ethier
be5a5f1c6b
WIP - optionally emit alloca-based prims
2018-10-24 13:17:44 -04:00
Justin Ethier
f2704eb5e4
Experimenting with faster versions of (list)
2018-06-19 13:18:14 -04:00
Justin Ethier
df0f325c00
Issue #55
2018-05-16 14:15:45 -04:00
Justin Ethier
4a3c68a7d3
Prevent a compiler error when there is only one argument to +
or *
.
2018-02-01 17:42:05 -05:00
Justin Ethier
be8ad49ac4
Issue #76
...
Compile a faster version of `apply` when only two arguments are received.
2018-01-04 18:36:44 -05:00
Justin Ethier
94df8603c6
Issue #217 - Use primitives directly if possible
2017-09-05 17:44:25 -04:00
Justin Ethier
8f2a918283
Issue #217 - Optional port arg for peek-char
2017-09-04 18:38:15 -04:00
Justin Ethier
12c91b86a5
Issue #217
2017-09-02 18:49:41 -04:00
Justin Ethier
945c171892
Issue #215
2017-08-29 13:52:20 +00:00
Justin Ethier
fc49dbb52a
Issue #215 - Added (->dyadic) and some conversions
2017-08-28 19:02:11 -04:00
Justin Ethier
856f201eb0
Optimize negation
2017-07-12 12:07:41 +00:00
Justin Ethier
7cdabc02b6
WIP
2017-05-25 17:46:41 -04:00
Justin Ethier
d533cf6910
Use double_type as ptr type for UDF inlines
...
Cannot use common_type as it leads to segfaults when running the gcbench benchmark. There must be an alignment problem or such that seems to work most of the time but is ultimately unstable.
2017-05-09 21:44:26 +00:00
Justin Ethier
27bacda445
Use car instead of cell_get
...
car is much faster since there is no function overhead.
2017-05-09 15:33:56 +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
ca68ab358a
Added fast char cmp prims
2017-03-20 18:17:40 -04:00
Justin Ethier
e78b336b78
Issue #102 - Pass data parameter to Cyc_display()
2016-12-22 00:14:53 -05:00
Justin Ethier
f60fed7344
Issue #102 - Added a data parameter to Cyc_write()
2016-12-21 23:47:39 -05:00
Justin Ethier
3985544a0f
Designated more primitives dealing with immutables
2016-12-14 17:31:46 -05:00
Justin Ethier
44bd8986d7
WIP
2016-12-14 03:35:15 +00:00
Justin Ethier
c3b31e0181
Added (prim:immutable-args/result? sym)
2016-12-13 18:48:54 -05:00