Commit Graph

1987 Commits

Author SHA1 Message Date
dzaima
56d148832e support unsorted argument for /⁼ 2021-12-12 17:25:14 +02:00
dzaima
1b878ccdb6 better readme 2021-12-10 22:49:04 +02:00
dzaima
3351f6b303 l*sizeof(B*) → l*sizeof(B) for copying l items in a B* 2021-12-10 21:51:09 +02:00
dzaima
3da8302249 cast ptrdiff to i64 2021-12-10 21:40:13 +02:00
dzaima
d0f4773120 use correct type for m_nns computation 2021-12-10 21:38:33 +02:00
dzaima
b9232a1f68 fix handling of first element in /⁼ 2021-12-06 11:01:52 +02:00
dzaima
9af0d4b66f don't inline hashmap size doubling function 2021-12-05 19:25:54 +02:00
dzaima
0b42b35d51 use variable in FL_KEEP 2021-12-03 14:29:41 +02:00
dzaima
3c09781d1a )gc, )mem 2021-12-01 17:09:19 +02:00
dzaima
c8b15987b5 optimize mm_allocS 2021-11-30 17:13:07 +02:00
dzaima
f81b680aad NOTM 2021-11-29 22:40:12 +02:00
dzaima
736861dd29 use native namespace to initialize REPL 2021-11-29 17:49:29 +02:00
dzaima
4f66b6b88a native namespace creation 2021-11-29 16:44:20 +02:00
dzaima
ef5864afbc global name list 2021-11-29 00:21:41 +02:00
dzaima
4af5f3d4a6 store Value* as gc roots 2021-11-28 21:56:01 +02:00
dzaima
94e38e7162 fix import A →import B; import A 2021-11-26 12:23:46 +02:00
dzaima
4697b91b1e fix >2 repeated imports & error on cyclical importing 2021-11-26 00:25:11 +02:00
dzaima
d032c97b13 cache monadic •Import 2021-11-26 00:01:37 +02:00
dzaima
0389eda29b inverse modifiers 2021-11-25 00:24:16 +02:00
dzaima
b76d30d4bc add •state and •name 2021-11-24 23:03:17 +02:00
dzaima
097f39da15 make •Type throw on bi_optOut 2021-11-23 10:30:13 +02:00
dzaima
996114a73b make file writing accept characters 2021-11-23 01:16:46 +02:00
dzaima
77144cd79c •math function inverses 2021-11-23 01:10:08 +02:00
dzaima
29bf1f1234 don't pointlessly copy register 2021-11-22 11:22:50 +02:00
dzaima
7168633f35 lGPos is set by following GET 2021-11-22 11:11:35 +02:00
dzaima
55c1d79d86 headers for immediate modifiers 2021-11-22 10:56:18 +02:00
dzaima
b000576572 native /⁼ 2021-11-22 00:24:59 +02:00
dzaima
c2e6c57007 cache builtin inverses 2021-11-21 23:24:41 +02:00
dzaima
ab49bb5d3d native -⁼ 2021-11-21 22:54:07 +02:00
dzaima
f155792856 native ⁼ 2021-11-21 21:27:08 +02:00
dzaima
f55e349999 inverse headers 2021-11-21 21:03:14 +02:00
dzaima
896049ab12 directly call scope_freeF from scope_dec 2021-11-20 17:30:09 +02:00
dzaima
cd97714ef5 ptr_dec with inlined freeing method 2021-11-20 17:09:05 +02:00
dzaima
ff6e6aa9c7 clean up evalBC 2021-11-20 16:56:54 +02:00
dzaima
c79e260e34 m_v[1234] → m_hVec[1234] 2021-11-20 01:05:14 +02:00
dzaima
5484c109ea return value from ptr_inc 2021-11-20 00:58:18 +02:00
dzaima
2baa9ac196 fix & speed up variable modification fns 2021-11-18 01:10:30 +02:00
dzaima
3ba3558c93 fills for monadic ⋈ 2021-11-13 23:00:36 +02:00
dzaima
68e1590325 machine code generation rework 2021-11-12 16:43:19 +02:00
dzaima
fde8f89354 remove _Thread_local because plenty other things don't have it 2021-11-07 19:01:29 +02:00
dzaima
ae07fd2312 remove pos updating for immediate SETN 2021-11-07 18:45:57 +02:00
dzaima
cd866e1e45 lazy fallback to runtime on ∾ errors 2021-11-06 17:30:01 +02:00
dzaima
049188d8a6 complete native ⋈ 2021-11-03 20:44:43 +02:00
dzaima
8cfbaf8b30 enum of primitive numbering 2021-11-03 20:28:00 +02:00
dzaima
dd3965cb3c 2021-11-03 20:16:04 +02:00
dzaima
a663c0bbee reorder md*Bl_d 2021-11-03 19:08:24 +02:00
dzaima
9bcf8d7d64 bl_m*d → md*Bl_d 2021-11-02 18:34:34 +02:00
dzaima
6aaaaeb39c more consistent print method naming scheme 2021-11-02 18:32:25 +02:00
dzaima
ce36f03f11 fix •SH for OSX 2021-11-01 19:51:44 +02:00
dzaima
026b15977b make precompiled.bqn run within CBQN 2021-10-30 12:05:38 +03:00
dzaima
f9253a477e fix zero printing 2021-10-28 22:03:51 +03:00
dzaima
0deb5cfcd4 add missing bytecodes to FOR_BC 2021-10-28 21:55:18 +03:00
dzaima
06c7e40642 ⋄ → ; in DEBUG_VM 2021-10-28 21:22:15 +03:00
dzaima
470bb0968a use hex in printBC 2021-10-28 21:21:25 +03:00
dzaima
e526fede86 clean up DEBUG_VM 2021-10-28 20:46:30 +03:00
dzaima
dba145a14b rename folder 2021-10-28 17:50:10 +03:00
dzaima
dfa04f4922 properly free 𝕩 when needed 2021-10-26 16:15:33 +03:00
dzaima
8eb3989d84 separate avx file 2021-10-25 16:18:03 +03:00
dzaima
071aebd8ea god dammit c compilers, why 2021-10-25 15:45:28 +03:00
dzaima
798f6e9e17 move length zero check outside singeli 2021-10-25 14:00:01 +03:00
dzaima
4e17e28d4a get rid of function pointer cast 2021-10-25 13:40:40 +03:00
dzaima
4717023167 cmp C cleanup, assert length!=0 before while 2021-10-25 12:27:21 +03:00
dzaima
f8798affc4 full array-scalar comparison error checking in singeli 2021-10-25 01:59:25 +03:00
dzaima
3e372620a2 array-scalar comparison function lookup table 2021-10-24 21:12:39 +03:00
dzaima
d42dd3dcf9 merged typed types 2021-10-22 17:11:54 +03:00
dzaima
4ca34e3f8e function lookup table 2021-10-22 09:53:40 +03:00
dzaima
5d76148c51 lazy singeli bit comparison fns 2021-10-22 00:58:34 +03:00
dzaima
71c454235c singeli 2021-10-22 00:17:44 +03:00
dzaima
f50b8ab503 fix fill of n↑fillarr 2021-10-20 18:29:28 +03:00
dzaima
e38e4f89ae overallocate heap 2021-10-19 18:12:27 +03:00
dzaima
044431bb7d less bad way of doing JIT jumps 2021-10-16 13:08:00 +03:00
dzaima
ef230f8dc0 remove static from function that isn't 2021-10-15 12:08:48 +03:00
dzaima
5c59f0de6f make precompiled.bqn work 2021-10-14 18:34:28 +03:00
dzaima
1816b6cd5d changes to rand.Range 2021-10-13 23:01:37 +03:00
Josh Holland
a290e4dc0d support arbitrary shape in rand.Range 2021-10-13 20:48:45 +01:00
dzaima
49622f59ce fix •wdpath refcounting 2021-10-12 00:56:42 +03:00
dzaima
d4f183ccda •wdpath, path_resolve → path_rel 2021-10-12 00:53:54 +03:00
dzaima
d98cb0b80a dyadic •file.At 2021-10-12 00:34:44 +03:00
dzaima
6860ba5f9d make some more flags compile 2021-10-11 22:39:52 +03:00
dzaima
363309a218 some cleanup 2021-10-11 21:50:16 +03:00
dzaima
1072a8aa77 break less on recursive errors 2021-10-10 23:24:53 +03:00
dzaima
b7f60ffb1c move GC tag resetting from alloc to another pass 2021-10-10 23:11:49 +03:00
dzaima
a62a41249e native ◶ 2021-10-10 22:54:39 +03:00
dzaima
5c2dfe8e18 verify path & arguments to be strings 2021-10-10 18:21:01 +03:00
dzaima
2c77470d99 dyadic •BQN 2021-10-10 17:48:39 +03:00
dzaima
debc4e2afe don't truncate max stack size 2021-10-09 14:47:26 +03:00
dzaima
71de4fcc59 don't use x++ on bool 2021-10-04 16:19:46 +03:00
sternenseemann
3909dca0cc builtins/sfns.c: fix compilation with GCC
B is interpreted as a label by GCC unless we make the block explicit by
surrounding it with curly braces.
2021-10-04 15:05:18 +02:00
dzaima
dc535763bc •_while_ 2021-10-04 15:13:39 +03:00
dzaima
e0b987930f fix error message of ⍟ 2021-10-04 13:59:33 +03:00
dzaima
561199ab16 fast 𝕨∨´𝕩 and 𝕨∧´𝕩 2021-10-04 11:15:21 +03:00
dzaima
85d27ddc83 fast 𝕨≠`𝕩 2021-10-04 11:11:40 +03:00
dzaima
573b97f60b fast ∧´ 2021-10-04 00:23:53 +03:00
dzaima
f0c6671ec0 fast ∨´ 2021-10-04 00:10:24 +03:00
dzaima
3d23d8ef70 fast ≠` 2021-10-03 23:57:43 +03:00
dzaima
5224e03a1d deduplicate & and | impls in arithd.c 2021-10-03 23:31:37 +03:00
dzaima
1bca264db8 bitarrs 2021-10-03 23:18:30 +03:00
dzaima
3725bd58c7 hide unknown stackframes in non-debug mode 2021-10-01 23:08:48 +03:00
dzaima
34fb5c275a manual tables for bytecode switches 2021-10-01 22:48:33 +03:00
dzaima
ad436a07ee fix PRED in nested blocks 2021-10-01 20:25:23 +03:00
dzaima
bc7e7e3627 copy special name fix to ns_qgetU 2021-10-01 20:08:03 +03:00
dzaima
c4cc861054 fix namespace assignment to special name list 2021-10-01 19:59:55 +03:00
dzaima
07ae36e672 faster loop when not yet seen PRED 2021-10-01 19:01:28 +03:00
dzaima
89c19662d8 argument remapping for PRED 2021-10-01 18:52:03 +03:00
dzaima
dac6f29a41 more eachd_fn and eachm_fn out of header file 2021-09-30 20:24:14 +03:00
dzaima
1c83483d53 fix formatter incorrectly consuming an argument 2021-09-29 21:19:21 +03:00
dzaima
dc1295afb7 fix SETH in immediate bodies 2021-09-28 18:17:12 +03:00
dzaima
9631702b14 PRED 2021-09-28 18:09:22 +03:00
dzaima
eca2a7eca4 wrap MAP_FIXED_NOREPLACE in an ifdef 2021-09-26 22:41:41 +03:00
dzaima
751652c392 alternative JIT memory allocation if MAP_32BIT isn't sufficient 2021-09-26 22:00:19 +03:00
dzaima
7600431fa6 fix slow small array checks 2021-09-26 14:26:37 +03:00
dzaima
01b36e927f monadic arith slow warnings 2021-09-26 13:55:44 +03:00
dzaima
d2ea19c757 more slow warns 2021-09-26 13:36:37 +03:00
dzaima
797a848ed4 warn slow for unknown scans & folds & ⍋ 2021-09-26 01:04:18 +03:00
dzaima
2ddfc43682 function to print a sequence of bytecode 2021-09-25 23:19:23 +03:00
dzaima
084eaaecbd SETC 2021-09-25 23:05:15 +03:00
dzaima
4f0841c95e make -p use bqn_fmt 2021-09-25 22:25:41 +03:00
dzaima
28f40e5368 slow notes 2021-09-25 20:39:06 +03:00
dzaima
a91e351aee fix deep squeeze 2021-09-25 19:34:48 +03:00
dzaima
02605fe271 more tyarrTemplate.h instancing out of core.h 2021-09-25 15:53:42 +03:00
dzaima
a8c5dd6581 better squeezing 2021-09-25 15:26:06 +03:00
dzaima
ecb8af658b fix squeezing of ¯2147483648 2021-09-25 14:52:35 +03:00
dzaima
4bdc1ec3cd squeeze objects
negative effect on performance, but whatever
2021-09-25 14:39:48 +03:00
dzaima
a15f66c43b rename formatting functions 2021-09-25 13:53:53 +03:00
dzaima
749b3e1e81 Type to macro 2021-09-25 13:08:25 +03:00
dzaima
c492de413f fix ⌾⥊ error check 2021-09-25 02:52:26 +03:00
dzaima
8cc6732cd4 ⌾⥊ and ⌾(const G H) 2021-09-25 02:34:58 +03:00
dzaima
20d0b3a288 time command 2021-09-23 10:46:49 +03:00
dzaima
cfc5059627 support another variant of compiler assert 2021-09-22 23:03:12 +03:00
dzaima
bce0c2853c fix error formatting when there are >1 positions given 2021-09-22 22:58:51 +03:00
dzaima
fab1ffadf5 fifo support or whatever 2021-09-21 23:42:47 +03:00
dzaima
811fe16f93 fix <˘"abc" 2021-09-21 19:12:50 +03:00
dzaima
f73da4d7eb fix offset for JIT 2021-09-21 19:10:40 +03:00
dzaima
c1ff25a253 fix multi-body function error offset 2021-09-21 19:00:16 +03:00
dzaima
b076f4bd43 fix ¯∞ formatting 2021-09-21 17:50:23 +03:00
dzaima
c53b4b2294 move builtins.h to root of src 2021-09-21 17:28:25 +03:00
dzaima
b38e8c9aeb normalize tag whitespace 2021-09-21 17:24:23 +03:00
dzaima
ebb010ea34 re-enable <˘
appears to work as fine as the rest of the impl, don't remember what was wrong with it ¯\_(ツ)_/¯
2021-09-21 17:20:42 +03:00
dzaima
59ac1a00fb format single position compiler errors 2021-09-21 17:08:41 +03:00
dzaima
77cb03033d throw overflow error in isum 2021-09-21 17:02:38 +03:00
dzaima
97c1b1d31d overflow builtin cleanup 2021-09-21 16:56:20 +03:00
dzaima
6f99b58099 argument "-" for stdin file 2021-09-21 16:44:23 +03:00
dzaima
59a9a5daf4 make empty REPL line not stop REPL 2021-09-21 14:05:23 +03:00
dzaima
d1047fcdc6 make building on android possible 2021-09-21 11:59:04 +03:00
dzaima
3da7323c57 char specialized squeezing 2021-09-20 23:32:02 +03:00
dzaima
3bace2e33a more 𝕨⍋𝕩 fallback 2021-09-20 23:24:41 +03:00
dzaima
5db4967500 lamer JIT constant array folder 2021-09-20 13:24:04 +03:00
dzaima
7cc37e2723 special-case JIT ARRO for 1 and 2 items 2021-09-20 13:17:51 +03:00
dzaima
4246aa5694 more reasonable 𝕨⍋𝕩 fallback 2021-09-18 17:22:54 +03:00
dzaima
327ea102cd convert arguments to equal sizes in comparison 2021-09-18 13:52:54 +03:00
dzaima
44c07fd6ab integer ⌊⌈ 2021-09-18 13:28:06 +03:00
dzaima
f5ace72b27 ascending/descending flag 2021-09-17 15:22:38 +03:00
dzaima
9494ef7b9f don't keep fl_squoze of not actually guaranteed full squeeze 2021-09-17 15:12:23 +03:00
dzaima
663c318219 deep squeeze 2021-09-17 14:46:03 +03:00
dzaima
7f6740ec07 more flag clearing 2021-09-16 23:27:40 +03:00
dzaima
62a96f1196 squoze 2021-09-16 23:20:58 +03:00
dzaima
427d508324 more precise flags usage 2021-09-16 21:54:37 +03:00
dzaima
cd5f50e3eb incG 2021-09-16 17:09:12 +03:00
dzaima
0969acef35 don't keep around reuse in eachm 2021-09-13 12:28:12 +03:00
dzaima
e8fecf64fa generate c8arr in fromUTF8 2021-09-12 00:07:13 +03:00
dzaima
93f362c4f2 use str8l more 2021-09-11 23:52:27 +03:00
dzaima
83011df536 typed ⌾(a⊸⊏) 2021-09-11 23:39:58 +03:00
dzaima
9b779726b5 use conversion functions in Variation 2021-09-11 23:22:08 +03:00
dzaima
6cf3ccb7d5 use new conversion functions 2021-09-11 23:17:37 +03:00
dzaima
e98660bfa8 more typed array conversion 2021-09-11 23:17:17 +03:00
dzaima
0df5538a2a rename header files 2021-09-11 17:22:26 +03:00
dzaima
d748baab37 typed ⌽𝕩 2021-09-11 17:16:21 +03:00
dzaima
8b93156a9e ⊔ i8arr 2021-09-11 17:12:13 +03:00
dzaima
28566f5c9c i8 ∊, typed ≢ & ≍ 2021-09-11 17:06:27 +03:00
dzaima
23f2f4303b more mixed type arith 2021-09-11 00:34:10 +03:00
dzaima
ed2374fcc7 ∨` 2021-09-10 21:01:31 +03:00
dzaima
0a1cda63f5 mixed i8arr/i32arr arithd 2021-09-10 20:31:19 +03:00
dzaima
b09d3785fd more typed ⊏ 2021-09-10 20:21:06 +03:00
dzaima
fc67c92510 typed atomUnit 2021-09-10 20:03:10 +03:00
dzaima
732610fba1 typed 𝕨𝔽`𝕩 2021-09-10 19:42:08 +03:00
dzaima
b2070ea70f fix +`i8arr 2021-09-10 19:26:52 +03:00
dzaima
e55aa352f0 typed 𝔽` 2021-09-10 19:19:04 +03:00
dzaima
1022910b33 fix ⌈´ 2021-09-10 19:04:52 +03:00
dzaima
427450e5d8 typed 𝕨𝔽´𝕩 2021-09-10 18:40:48 +03:00
dzaima
85097f681a typed 𝔽´𝕩 2021-09-10 18:34:14 +03:00
dzaima
96c68b66c5 typed ⌾(n⊸⊑) 2021-09-10 17:59:26 +03:00
dzaima
c3b46a42bc typed ⥊ 2021-09-10 17:56:26 +03:00
dzaima
3d62f9c109 typed / 2021-09-10 16:54:31 +03:00
dzaima
82a32684f5 /i8arr, i32arr⊏* 2021-09-10 15:51:55 +03:00
dzaima
d8d56bbdd4 TmpFile→I8Arr 2021-09-10 15:24:07 +03:00
dzaima
1d43e72a16 updated src/README.md 2021-09-10 15:17:35 +03:00
dzaima
a36ae1a716 pass untagged pointer to get & getU 2021-09-09 23:52:18 +03:00
dzaima
12d5a5a829 i8arr grade 2021-09-09 22:28:39 +03:00
dzaima
59dcde16c9 untag this pointer of modifier impl functions 2021-09-09 21:38:56 +03:00
dzaima
818675e4c0 another place for arr_bptr 2021-09-09 19:22:36 +03:00
dzaima
32e476b0c2 fix ⥊ 2021-09-09 18:47:16 +03:00
dzaima
337a6bbc5e more changes 2021-09-09 18:42:48 +03:00
dzaima
85dd03ac11 more types for join & add 2021-09-09 18:14:14 +03:00
dzaima
f8962c1eb9 use generic squeeze for arith 2021-09-09 17:30:40 +03:00
dzaima
0913d3b8f2 ElType cleanup 2021-09-09 17:21:19 +03:00
dzaima
d568363144 fix -𝕩 2021-09-09 17:07:39 +03:00
dzaima
fded6996e6 squeeze & hash fixes 2021-09-09 16:59:47 +03:00
dzaima
a6251ff3e7 squeeze int arrs on withFill 2021-09-09 16:08:13 +03:00
dzaima
85f8a5e7bd saner comparison code 2021-09-06 01:02:11 +03:00
dzaima
ffc4cec1ae monadic i8/i16 arith 2021-09-05 23:26:31 +03:00
dzaima
b1b066ce5c atom-arr arith 2021-09-05 23:04:14 +03:00
dzaima
667ac0b1d6 extremely basic i8/i16arr arith 2021-09-05 22:56:25 +03:00
dzaima
45c2fb41cc matching el_i8 and el_i16 cmp impls 2021-09-05 22:33:36 +03:00
dzaima
4e883f4812 comparisons now return i8arrs 2021-09-05 22:23:46 +03:00
dzaima
c2f0c2e76c comparisons don't return floats 2021-09-05 22:14:50 +03:00
dzaima
cec962fb8c usz multiplication 2021-09-05 21:51:00 +03:00
dzaima
4299fef6b6 clz macro 2021-09-05 21:05:19 +03:00
dzaima
e5338e931f fuzzing support 2021-09-05 18:00:28 +03:00
dzaima
21ba88751a working i8/i16-arrs 2021-09-05 16:06:31 +03:00
dzaima
80be141968 tyarr.c 2021-09-05 02:58:18 +03:00
dzaima
a191222967 tyarrTemplate.h 2021-09-05 02:29:06 +03:00
dzaima
4961c22c8b more incorrect fsizeof 2021-09-05 01:55:29 +03:00
dzaima
e225da87c7 fix i32/c32-arr allocation size 2021-09-05 01:36:16 +03:00
dzaima
8aa0687ef9 reorganize typed arr files 2021-09-05 01:10:40 +03:00
dzaima
7547fc1679 randomize •rand, don't use m_i32 for time seconds 2021-09-04 23:26:35 +03:00
Jesus Galan Lopez (yy)
2d954c3e9c •Delay return value 2021-09-04 21:50:19 +02:00
Jesus Galan Lopez (yy)
146bb600ac •MonoTime 2021-09-04 20:56:26 +02:00
Jesus Galan Lopez (yy)
77573522b3 •UnixTime 2021-09-04 20:36:55 +02:00
Jesus Galan Lopez (yy)
72a5167813 •rand (simpler) 2021-09-04 19:25:27 +02:00
Jesus Galan Lopez (yy)
93caa03983 •rand 2021-09-04 19:16:12 +02:00
dzaima
21c376416c fix •FLines@ 2021-09-03 15:13:46 +03:00
dzaima
563e4a8780 new bytecode numbering 2021-09-03 00:46:34 +03:00
dzaima
2c7febca75 that was never a thing 2021-09-02 00:34:10 +03:00
dzaima
59241d86ff clean up asserts 2021-09-01 23:56:19 +03:00
dzaima
e577dca32e make !𝕩 throw 𝕩 2021-08-30 22:27:04 +03:00
dzaima
17a3ed150d fixes for usz==u64 2021-08-29 04:29:50 +03:00
dzaima
1d13a1ef07 •ReBQN with only the repl setting 2021-08-28 23:55:48 +03:00
dzaima
6b52c2069f compile-time separated DFND 2021-08-27 12:35:23 +03:00
dzaima
305f578707 add •Fmt, changes to readme files 2021-08-27 11:52:56 +03:00
dzaima
a7ee8044d1 mention *_c1/*_c2 in src/readme 2021-08-24 02:51:34 +03:00
dzaima
0c1d4843ab fix undefined path handling 2021-08-23 18:37:01 +03:00
dzaima
ca86971df3 •path, •file.path, •file.At 2021-08-23 05:28:48 +03:00
dzaima
5e6bf0df29 fix ↑‿3⥊3 once more 2021-08-23 03:05:48 +03:00
dzaima
63cafe8e7b unified filling for ⥊ and ↑
well except for ¯N↑
2021-08-23 02:30:06 +03:00
dzaima
68214dda53 fix ↑‿3⥊3 2021-08-22 23:41:37 +03:00
dzaima
a3f87d4dcb fix %f and clarify o2s message 2021-08-22 23:20:28 +03:00
dzaima
0899ee31b3 move inc(p) inside first use 2021-08-22 18:35:36 +03:00
Jesus Galan Lopez (yy)
080a800ac7 dyadic FChars, FBytes and FLines 2021-08-22 17:14:38 +02:00
dzaima
8f8828c671 fix no fill case in ⥊ and namespace destructuring in header 2021-08-22 04:58:01 +03:00
dzaima
750207f1f8 fix exponential notation 2021-08-21 06:16:07 +03:00
dzaima
b61380aa73 better number formatting 2021-08-21 05:52:17 +03:00
dzaima
a56a20b046 fix vm_fmtPoint on non-equal s and src types 2021-08-21 04:41:51 +03:00
dzaima
167351bdba more file descriptions in src/readme 2021-08-21 04:27:19 +03:00
dzaima
e8fc4c4f69 left arg for REPL 2021-08-21 04:14:50 +03:00
dzaima
5dbd1688bc •MakeREPL 2021-08-21 03:52:49 +03:00
dzaima
3991efd3cd full SETH 2021-08-21 03:32:11 +03:00
dzaima
b38db2dda0 use err more 2021-08-21 00:14:26 +03:00
dzaima
a1870123cd disable IEEE 754 check 2021-08-19 16:31:58 +03:00
dzaima
a99a80a7a0 VFYM 2021-08-19 00:37:54 +03:00
dzaima
7d43d74b28 make evalBC consume the scope 2021-08-16 02:24:34 +03:00
dzaima
0abb24821d fix SETH in JIT too 2021-08-16 01:28:05 +03:00
dzaima
521abe669d hopefully fix SETH refcounts 2021-08-16 00:48:15 +03:00
dzaima
0af6895f4b unfinished SETH 2021-08-15 03:54:13 +03:00
dzaima
de86ce2aaa src/README.md, and cleaning up things while at it 2021-08-14 21:27:06 +03:00
dzaima
5d82350b0b fix more things about multiple bodies 2021-08-14 18:32:27 +03:00
dzaima
5d1d3467d9 append only know character arrays in formatter 2021-08-14 16:35:23 +03:00
dzaima
10d0cdc2fe •SH 2021-08-13 23:22:37 +03:00
dzaima
5c829a7fd7 fix wrong sortedness check for body indices 2021-08-12 05:11:34 +03:00
dzaima
ef92ddc69e •FromUTF8 2021-08-11 00:22:59 +03:00
Marshall Lochbaum
9a0cfa340a Don't allow First of empty or reshaping empty to non-empty 2021-08-07 20:25:07 -04:00
dzaima
2ab2f35a34 move fmtF to •Glyph 2021-08-04 22:06:33 +03:00
dzaima
65fe3d9aa2 basic namespace formatting 2021-08-04 22:02:21 +03:00
dzaima
2710786bf0 format blocks 2021-08-04 21:47:41 +03:00
dzaima
8934db0ec5 impure function mess 2021-08-04 21:06:33 +03:00
dzaima
39d095c8dc fix •-things being considered pure 2021-08-04 20:32:16 +03:00
dzaima
e9aff609bf more m_arr refactoring cleanup 2021-08-03 20:52:53 +03:00
dzaima
6799e8f078 fix >0⥊0 2021-08-03 16:51:25 +03:00
dzaima
849eeff465 initialize ia on allocation always 2021-08-03 02:57:46 +03:00
dzaima
8d7a31c8e9 store object pointer in slice 2021-08-01 18:59:31 +03:00
dzaima
be10e0d509 better fork_c2 2021-08-01 04:15:00 +03:00
dzaima
65f2cca251 better fork_c1 2021-08-01 04:12:46 +03:00
dzaima
86b3882c5e improve ⊸⟜ 2021-08-01 03:53:48 +03:00
dzaima
e5d876eb80 fix -R 2021-08-01 02:32:47 +03:00
dzaima
a444d4827d decSh doesn't really need to be split 2021-08-01 00:27:00 +03:00
dzaima
46d4acb72b special-case HArrs in withFill 2021-07-31 23:56:57 +03:00
dzaima
74a3a87166 handle arr⊸F and (arr G H) faster 2021-07-31 23:29:21 +03:00
dzaima
749b098f1e use decR less 2021-07-31 22:40:33 +03:00
dzaima
1f5cfbe766 more proper PERF_TEST, )ex 2021-07-31 20:02:56 +03:00
dzaima
c00834cf15 move mm_free call into virtual function so dec is simpler 2021-07-30 04:40:56 +03:00
dzaima
36afe7f533 integrate mode for consistent timing
use with
make t=perftest f='-O3 -DPERF_TEST' c
2021-07-30 02:19:15 +03:00
dzaima
b18157d86b native ⥊
it's horrible but it appears to work
2021-07-27 19:48:22 +03:00
dzaima
25c89c06b1 •GetLine 2021-07-25 20:02:48 +03:00
dzaima
64b3a4ae6a clean up cc.bqn, specialize small arrays 2021-07-22 19:48:45 +03:00
dzaima
9f3ca80509 make it actually run
wow
2021-07-22 04:28:19 +03:00
dzaima
e04cd3c135 make gcc warn less 2021-07-22 03:38:25 +03:00
dzaima
4b8210d1bd apparently i broke 𝕨/𝕩.. 2021-07-22 03:23:49 +03:00
dzaima
0aceb2f8bb correct outdated comments in h.h 2021-07-22 01:24:14 +03:00
dzaima
55f7f8ef5b couple more type fixes 2021-07-21 00:03:45 +03:00
dzaima
5dd7288144 strict prototypes 2021-07-20 22:21:59 +03:00
dzaima
7ee8d642dc trailing newlines 2021-07-20 22:18:37 +03:00
dzaima
d4d4521e52 more fixing of warnings 2021-07-20 22:09:59 +03:00
dzaima
0bcf3b592f more comparison type fixing
and some more / opt to make it not slower
2021-07-20 21:56:35 +03:00
dzaima
99896fbace improving loop counter variable types 2021-07-20 21:32:41 +03:00
dzaima
68c2332fef return on FAIL 2021-07-20 19:58:34 +03:00
dzaima
c2c64f9654 move thrF to a full function
0.3% more instrs with it never being called what
2021-07-20 02:57:18 +03:00
dzaima
78cd23907e make err fails more clear 2021-07-19 23:09:10 +03:00
dzaima
0d5af28043 use mut_copyG in one more place 2021-07-19 19:56:14 +03:00
dzaima
2e2b479d37 shorten mut_init 2021-07-19 19:25:25 +03:00
dzaima
ca264d1332 move init out of mut_to 2021-07-19 19:23:36 +03:00
dzaima
cf10914d63 refactor mut type expanding 2021-07-19 04:54:29 +03:00
dzaima
d8cfac38a2 move mut_pfree out of .c 2021-07-19 04:41:01 +03:00
dzaima
0c04b7e03b move vec_add slow case to .c file 2021-07-19 04:36:04 +03:00
dzaima
708e06c0ea simplify mut usage where type is guaranteed correct 2021-07-19 04:22:18 +03:00
dzaima
9c66cbbb4b move noinline fns out of .h files 2021-07-19 03:48:52 +03:00
dzaima
61e58c7a02 basic monadic arith special-case 2021-07-18 18:12:11 +03:00
dzaima
d8e3f78e6c better dyadic arith messages 2021-07-18 17:24:21 +03:00
dzaima
1719374e0a make ubsan happier, optimize nextBC
still doesn't like f==(f64)(someIntType)f but that's, like, not replaceable
2021-07-17 21:25:11 +03:00
dzaima
43d2946447 fix refcount errors in merge 2021-07-16 23:11:34 +03:00
dzaima
9ae1ab80cf multiple body support 2021-07-16 22:42:22 +03:00
dzaima
c192125a9c fix •file in REPL 2021-07-12 12:10:06 +03:00
dzaima
cdc363c94f initialize rtperf time counters 2021-07-12 01:45:28 +03:00
dzaima
bb463c8f87 fix rtverify failing on usz==u64 2021-07-12 01:06:39 +03:00
dzaima
576876dd32 fix warnings for usz==u64 2021-07-12 00:50:29 +03:00
dzaima
ed691f3dae joined 2buddy 2021-07-12 00:17:59 +03:00
dzaima
8f3f9ba114 don't read mmInfo from RAM 2021-07-11 23:24:13 +03:00
dzaima
2a0b91e7b4 counters instead of allocB 2021-07-11 23:07:07 +03:00
dzaima
1b31c88e4c use mm_heapUsed() instead of allocB 2021-07-11 22:45:08 +03:00
dzaima
9982c62526 move OBJ_COUNTER increment 2021-07-11 22:14:28 +03:00
dzaima
48380be063 separate allocB for mmX 2021-07-11 22:09:26 +03:00
dzaima
1d5e7212fd extract bucket definitions from template 2021-07-11 21:13:41 +03:00
dzaima
edd1f308ce clean up mm macros & globals 2021-07-11 21:04:49 +03:00
Marshall Lochbaum
dde05f5f02 Just use bit sets, not hashing, for complementary selection 2021-07-08 20:56:28 -04:00
Marshall Lochbaum
3546419816 Use the correct complement algorithm for the hash set 2021-07-08 17:54:34 -04:00
Marshall Lochbaum
619b9827de Faster random deal, and sorted subset 2021-07-08 17:33:50 -04:00
dzaima
cce52dd40e random deal & subset 2021-07-07 21:31:48 +03:00
dzaima
fc4d36de07 test for MAP_32BIT to enable JIT 2021-07-06 20:04:14 +03:00
dzaima
aef9702b7b list-of-structs → struct-of-lists for TypeInfo 2021-07-06 19:31:42 +03:00
dzaima
08723a3c80 use TI macros everywhere 2021-07-06 19:22:45 +03:00
dzaima
cd60db1c89 optimize fast allocation path 2021-07-05 02:52:42 +03:00
dzaima
d063e83a8d apparently BSZI is barely used 2021-07-05 01:22:49 +03:00
dzaima
7bc8856cd1 inline LOCU 2021-07-05 01:05:43 +03:00
dzaima
2a49cf8205 update objdump usage 2021-07-04 13:49:27 +03:00
dzaima
eca7699580 more ⊔ changes 2021-07-04 05:31:23 +03:00
dzaima
6942b2d04c add checks for 𝕨<¯1 in ⊔ 2021-07-04 05:05:13 +03:00
dzaima
f5388fbdfa depth check for ⊔ 2021-07-04 05:00:56 +03:00
dzaima
774db7a956 tagged bytecode position 2021-07-04 02:13:52 +03:00
dzaima
223d6ccca0 GS_SET on RET_ only when needed 2021-07-04 00:56:43 +03:00
dzaima
51c41f0766 push out perf/writing stuff from m_nvm 2021-07-03 23:32:56 +03:00
dzaima
72896feb8f merged SET_i+POPS 2021-07-03 18:04:27 +03:00
dzaima
9ee36dae94 fix TypeInfo.arrD1 for c32arr 2021-07-03 17:01:39 +03:00
dzaima
ee3ef4370c waste less on thrF 2021-07-03 02:55:22 +03:00
dzaima
7999683edf skip value checking for builtin loading
perf is reporting an 0.15% increase in instruction count (what?), but that's not gonna stop me
2021-07-03 02:38:09 +03:00
dzaima
f75efbcc26 static harr.c functions 2021-07-03 02:04:31 +03:00
dzaima
ceb967bbd4 return Arr* from m_fillarrp 2021-07-03 01:53:26 +03:00
dzaima
08df9bfe7b arrP_sh* → arr_sh* 2021-07-03 01:38:56 +03:00
dzaima
d49d5a3e31 don't use arr_sh* 2021-07-03 01:37:54 +03:00
dzaima
c0a75327ef return Arr* from mut_fp 2021-07-03 01:25:55 +03:00
dzaima
c52a042eb4 return Arr* from slices 2021-07-03 01:25:55 +03:00
dzaima
daa8294252 return Arr* from m_(i32|c32|f64)arrp 2021-07-03 00:37:00 +03:00
dzaima
49810ce8bc rename mm_allocN 2021-07-03 00:27:20 +03:00
dzaima
43d0d1e043 delay tagging for arrays 2021-07-03 00:22:40 +03:00
dzaima
d8b2ac0268 delay tagging 2021-07-03 00:02:56 +03:00
dzaima
c62369c0c5 initialize objects a bit better
0.29% improvement
2021-07-02 23:07:46 +03:00
dzaima
693f8e0139 CSTACK==0 didn't work anyway 2021-07-02 22:29:16 +03:00
dzaima
3451cc48c2 0 parent scope loading 2021-07-02 22:26:14 +03:00
dzaima
be5c22af37 update gStack only when needed
a tiny 0.13% improvement
2021-07-02 22:19:11 +03:00
dzaima
387f8f7581 stack management for RETD & FLDO 2021-07-02 19:57:16 +03:00
dzaima
b1b3b7eed3 stack management for DFND 2021-07-02 19:36:54 +03:00
dzaima
9de843aeb5 stack management for FN_Oi 2021-07-02 19:27:52 +03:00
dzaima
ee93543af3 stack management for TR__/OP__
0.06% less performance, but these changes aren't for performance
2021-07-02 19:20:23 +03:00
dzaima
475fe269a8 better GET 2021-07-02 19:03:23 +03:00
dzaima
a1113c418e stack management for FN__ 2021-07-02 18:50:18 +03:00
dzaima
c029703c3a cleaner stack reading 2021-07-02 18:42:58 +03:00
dzaima
3ebaed2b35 stack management for SET_i 2021-07-02 18:26:35 +03:00
dzaima
a7e8678a16 stack management for SET_ 2021-07-02 18:15:32 +03:00
dzaima
2a7eebad93 move instruction length offsets to instruction generation 2021-07-02 18:02:20 +03:00
dzaima
9fbc8203d0 free what should be freed in ⟨⟩/𝕩 2021-07-02 17:10:44 +03:00
dzaima
da9ab92bd5 set shape in ˘ 2021-07-02 15:43:50 +03:00
dzaima
60bef6879c fix printRaw 2021-07-02 15:30:42 +03:00
dzaima
8c2055ce22 fix speed of / 2021-07-02 15:27:29 +03:00
dzaima
018c209cec fix ⟨⟩/𝕩 2021-07-02 14:41:22 +03:00
dzaima
bad72186de manually allocate parent scope array
~0.11% performance improvement for safe prim tests
2021-07-01 23:10:47 +03:00
dzaima
a6c4f8c84d use named R_BP
and fix named R_BP
2021-07-01 21:25:18 +03:00
dzaima
b009b40329 move relative addressing updating to x86_64.h 2021-07-01 18:33:19 +03:00
dzaima
f5cc8e17ac fix using runtime with source 2021-06-30 23:23:49 +03:00
dzaima
dbf246810c fix ⟨⟩ [⍋⍒] ↕4 2021-06-30 23:20:35 +03:00
dzaima
e5471e8f87 fix reference counts for comp->path 2021-06-30 23:16:08 +03:00
dzaima
b32074f4d1 support nested compilation 2021-06-30 22:54:33 +03:00
dzaima
383d649480 fix range calculation of ⊐ 2021-06-30 22:30:53 +03:00
dzaima
05a69415bd ∧´ 2021-06-30 00:01:41 +03:00
dzaima
84f58a2f87 fix refcounts 2021-06-29 22:58:32 +03:00
dzaima
1fd61c5467 make err NOINLINE 2021-06-29 22:55:34 +03:00
dzaima
726451ed0c include path in errors 2021-06-29 22:54:37 +03:00
dzaima
861a488719 2021-06-29 21:10:17 +03:00
dzaima
1ffd3a207a indent REPL 2021-06-27 21:24:48 +03:00
dzaima
a4446716bf compiler errors 2021-06-27 20:28:19 +03:00
dzaima
27b1e9ed8c native vec⊐scalar 2021-06-27 18:03:51 +03:00
dzaima
fdcb158ca5 rename 2021-06-26 19:23:45 +03:00
dzaima
d087898359 •math trig functions 2021-06-26 19:23:02 +03:00
dzaima
98166dd809 nvm placeholder, enable nvm by default 2021-06-26 03:31:55 +03:00
dzaima
d4be37469e move src/jit/nvm.c 2021-06-26 03:13:02 +03:00
dzaima
287b55515a constant-fold arrays 2021-06-26 02:14:01 +03:00
dzaima
eac62d4c29 inline i_FN1Ci and i_FN2Ci 2021-06-26 01:29:23 +03:00
dzaima
8b561a065a offset envCurr by 1 2021-06-25 18:03:54 +03:00
dzaima
c2d0ce5568 MOV1l→MOVi1l 2021-06-22 17:12:23 +03:00
dzaima
d98bbb7a83 fix •MakeRand 2021-06-22 15:13:27 +03:00
dzaima
0b7c5eb860 call counter for JIT 2021-06-22 02:27:12 +03:00
dzaima
953ea0d20d use execBodyInline everywhere 2021-06-22 01:35:00 +03:00
dzaima
cbd113870a rename registers 2021-06-22 01:34:08 +03:00
dzaima
0c3ffb2fd8 inline LOCO 2021-06-22 01:07:12 +03:00
dzaima
c1d62b8739 shut up gcc 2021-06-21 17:45:57 +03:00
dzaima
d761ee5a46 parent scope unrolling 2021-06-21 02:03:13 +03:00
dzaima
286f1e19db pass precalculated scope to instrs 2021-06-20 18:02:31 +03:00
dzaima
60abb1cdcc new x86-64 stuff 2021-06-20 17:40:27 +03:00
dzaima
b51cf8cfc2 fix CHKV 2021-06-19 21:28:57 +03:00
dzaima
d27dc57bed CHKV 2021-06-19 21:16:23 +03:00
dzaima
8ad686ab1b inline scope variable setting 2021-06-19 21:03:33 +03:00
dzaima
fb02f30259 merged LOCM;SET_ 2021-06-19 02:19:28 +03:00
dzaima
d47d538a16 ugh 2021-06-17 17:29:59 +03:00
dzaima
d454d4fa50 don't use EXTU 2021-06-17 17:09:53 +03:00
dzaima
16b4f5b4c2 proper ASM printing toggle, include function names 2021-06-16 03:48:40 +03:00
dzaima
4322fb8232 basic constant folding 2021-06-16 03:03:31 +03:00
dzaima
1afe46b393 move TAlloc/TStack around, immediate functions 2021-06-15 01:20:32 +03:00
dzaima
d2a1d7c329 character ¬ 2021-06-12 15:08:05 +03:00
dzaima
017b26a04a fix gcc, more readme changes 2021-06-11 04:59:31 +03:00
dzaima
13e0d522e5 update readme, disable JIT by default 2021-06-11 03:56:07 +03:00
dzaima
9b279dd6c7 make IMM a function 2021-06-10 22:48:43 +03:00
dzaima
a0553b9798 faster nvm.c compiling 2021-06-10 22:37:11 +03:00
dzaima
4833cb37b8 constant LOCM 2021-06-10 21:02:03 +03:00
dzaima
27c7ffe5d4 don't pass stack pointer to things that don't need it 2021-06-10 20:42:17 +03:00
dzaima
64b4a72d93 remove some MOVs 2021-06-10 20:08:15 +03:00
dzaima
b1d53f527f LEA, inline RETN 2021-06-10 19:40:29 +03:00
dzaima
987ba1d139 store top stack item in register 2021-06-10 13:25:17 +03:00
dzaima
981ba0e261 local stack pointer in JIT 2021-06-10 01:42:29 +03:00
dzaima
550b91688a extremely basic x86-64 generator 2021-06-09 18:47:50 +03:00
dzaima
96f3089410 proper i64 formatting, move openbsd hack up 2021-06-06 22:23:55 +03:00
dzaima
ebd6e1a222 maybe fix OpenBSD 2021-06-06 20:16:48 +03:00
dzaima
7e994dd913 modifiable defines 2021-06-06 16:50:18 +03:00
dzaima
47f8984e74 faster i32arrOfBools/ 2021-06-06 15:15:18 +03:00
dzaima
92b08de504 native (i32|·) [⌊⌈]´ i32vec 2021-06-06 05:10:52 +03:00
dzaima
cdd4d136be make gcc happy 2021-06-04 15:47:26 +03:00
dzaima
a124590465 faster variation stuff 2021-06-04 04:50:16 +03:00
dzaima
4e0ea07eb2 correct character fill 2021-06-04 03:16:48 +03:00
dzaima
62d73b6acf faster asFill 2021-06-04 03:15:01 +03:00
dzaima
ba28f7e892 faster ≡ 2021-06-04 02:36:11 +03:00
dzaima
2685c598e6 native √ 2021-06-04 02:17:40 +03:00
dzaima
1489bc340d fix rtperf 2021-06-04 02:11:09 +03:00
dzaima
24f61bd5a5 move builtin defs to own file 2021-06-04 02:07:30 +03:00
dzaima
de66696e7a monadic ∨ 2021-06-04 01:57:07 +03:00
dzaima
6061a3c270 fix 'a'-¯1 2021-06-03 22:08:39 +03:00
dzaima
2b351cfee6 fix c32arr-i32arr error checking 2021-06-03 20:12:39 +03:00
dzaima
b84e6e549b fix refcount in •file.List 2021-06-01 23:53:38 +03:00
dzaima
ae470d64b2 fix bi_emptySVec creation 2021-06-01 23:38:15 +03:00
dzaima
f1b1686300 •file.List 2021-06-01 22:12:34 +03:00
dzaima
48ac839a1d make •Import work again 2021-06-01 20:45:39 +03:00
dzaima
882639c83e use nfns for file functions 2021-06-01 20:41:52 +03:00
dzaima
b4ffc3115a •Exit 2021-06-01 20:32:24 +03:00
dzaima
b47e52db9e preserve array reading through DONT_FREE 2021-06-01 17:52:51 +03:00
dzaima
b8c362247b fix F`fillarr leaking fill element
also print higher precision numbers
2021-06-01 17:13:43 +03:00
dzaima
62209961eb make int overflow not leak shape 2021-06-01 16:31:54 +03:00
dzaima
9cb82af14d decrement 𝕨 of •internal.ListVariations 2021-06-01 16:13:19 +03:00
dzaima
48a14a8854 •internal.ListVariations options 2021-06-01 14:10:53 +03:00
dzaima
b9fef0394e comparison should error on bad shapes of args 2021-06-01 13:47:10 +03:00
dzaima
75a6d1b307 more random 2021-06-01 02:12:30 +03:00
dzaima
c35e885ea1 nfns, basic random 2021-06-01 01:45:37 +03:00
dzaima
51e0bf4bc0 i forgot to decrement 2021-06-01 00:35:47 +03:00
dzaima
10e8339012 accept non-array args to •internal.Squeeze
and also float replicate
2021-05-31 22:54:37 +03:00
dzaima
36a27b8424 fix rank>1 empty array args for f64_maybe_i32 2021-05-31 21:34:47 +03:00
dzaima
c7ee14791e char arith, float comparison 2021-05-31 02:12:22 +03:00
dzaima
7caa7dceb5 properly fall back to runtime in native ⊏ 2021-05-30 02:46:49 +03:00
dzaima
4d8375fdfd make ⊏ safe 2021-05-30 02:38:29 +03:00
dzaima
16f379b6c7 fix gc/refc issues, set memory to invalid objects on free in debug 2021-05-30 01:55:59 +03:00
dzaima
74fe1f1243 random changes 2021-05-30 00:56:17 +03:00
dzaima
70dcc25c51 mm_buddyTemplate.c 2021-05-29 22:50:39 +03:00
dzaima
510de71095 fix append_fmt appending a null byte 2021-05-29 15:02:36 +03:00
dzaima
aa9cd8f514 •Type for namespaces 2021-05-29 14:47:42 +03:00
dzaima
837a69b3aa don't allocate child blocks if not needed 2021-05-29 14:40:04 +03:00
dzaima
4b94465469 c32 ⊔ so compiled string literals get to be c32arrs 2021-05-29 14:26:51 +03:00
dzaima
41ffb0f2ef •internal Variation, ListVariations, ClearRefs, Unshare 2021-05-29 14:07:57 +03:00
dzaima
038b27072f •internal namespace 2021-05-28 21:59:18 +03:00
dzaima
a2d90a2595 make unknown key reads properly error for cross-program reads 2021-05-28 16:15:30 +03:00
dzaima
9326aa9572 add missing shape equality check to fast dyadic arith 2021-05-28 13:48:59 +03:00
dzaima
23d823057a preserve -e/-p/-o scope between args 2021-05-28 13:40:42 +03:00
dzaima
ed46ec7a44 fix REPL top-level errors 2021-05-28 01:27:50 +03:00
dzaima
345a0bfc8b unsigned bytecode 2021-05-28 01:12:36 +03:00
dzaima
1b89661308 inline objects 2021-05-28 01:03:29 +03:00
dzaima
a0ec9c02c9 blocks are guaranteed pointers 2021-05-27 20:20:14 +03:00
dzaima
ff2af490b8 special-case appending atoms with ∾ 2021-05-27 20:13:22 +03:00
dzaima
3ad82faadd split fillEqual into rare and non-rare versions 2021-05-27 19:44:15 +03:00
dzaima
d9110e8b5a optimize v_get, v_set, and a bit of fills 2021-05-27 19:00:08 +03:00
dzaima
752a68cb2d static const tagged builtins 2021-05-27 18:08:21 +03:00
dzaima
48a9b786c9 don't poinlessly overallocate group fill size 2021-05-27 17:31:31 +03:00
dzaima
24e37b4a84 add back NOINLINE to c[12]_rare
it appears to maybe now be better in at least some cases?
2021-05-27 16:26:18 +03:00
dzaima
3dbb492b78 separate push 2021-05-27 15:57:26 +03:00
dzaima
f5ff4850c2 ⌾⊑ fills 2021-05-27 04:56:22 +03:00
dzaima
c2ecc40b4d fix vector ∾ fills 2021-05-27 04:46:12 +03:00
dzaima
3b017648d8 extended variables, REPL support 2021-05-27 04:05:17 +03:00
dzaima
48229571ba proper bytecode rewriting 2021-05-26 16:34:36 +03:00
dzaima
7bf3b4be50 store directly needed blocks in bodies 2021-05-26 14:45:29 +03:00
dzaima
582273229b wrap 2021-05-25 02:52:21 +03:00
dzaima
55a93d1838 fix -M 2021-05-25 02:20:32 +03:00
dzaima
f1f4e417e1 call cbqn_init only when needed
so -M can execute before allocating memory
2021-05-25 01:02:01 +03:00
dzaima
50e76c8c04 move some headers & defs around 2021-05-25 00:51:09 +03:00
dzaima
899175f48b split up arith.c 2021-05-24 21:35:53 +03:00
dzaima
33b548fbda set max heap size 2021-05-24 19:54:16 +03:00
dzaima
8dc1ffd7c3 move atomEqual around 2021-05-24 18:26:38 +03:00
dzaima
b2e65cc9b7 separate out simple comparison 2021-05-24 18:05:35 +03:00
dzaima
200456ac72 integer arith 2021-05-24 17:58:11 +03:00
dzaima
8cfa3e7f55 builtin initialization in load.c 2021-05-24 14:41:10 +03:00
dzaima
cc36fd0d7c assert partial HArrs are finished 2021-05-24 13:18:10 +03:00
dzaima
b7f5b6b3ce fixes 2021-05-24 12:51:35 +03:00
dzaima
0032ad1a31 another tiny improvement to ⊏ 2021-05-24 12:46:43 +03:00
dzaima
2228ac129b use CMP_IMPL for all comparison fns 2021-05-24 12:25:36 +03:00
dzaima
e6f2fc93be ⊏ improvements 2021-05-24 12:11:53 +03:00
dzaima
96a938837d native i32/vec 2021-05-24 11:19:12 +03:00
dzaima
1048339852 ×´i32arr and i32×´i32arr 2021-05-24 10:58:12 +03:00
dzaima
ddf3a5b48e correct error message of ∊ 2021-05-24 01:38:44 +03:00
dzaima
5e2ac03b50 native ∊arr 2021-05-24 01:34:26 +03:00
dzaima
6b4c5913ff RT_VERIFY 2021-05-24 01:05:34 +03:00
dzaima
f4ec365a3e extern env & ti 2021-05-24 00:37:43 +03:00
dzaima
39f9060224 extern bi_ 2021-05-24 00:35:38 +03:00
dzaima
6869c7d919 make functions in arith.c static 2021-05-24 00:32:59 +03:00
dzaima
b724cbe1de add back rt_ 2021-05-24 00:22:24 +03:00
dzaima
cc163fefe7 more extern 2021-05-24 00:16:03 +03:00
dzaima
c23214a4de add extern to globals 2021-05-24 00:13:49 +03:00
dzaima
8e38de7f5c make heapverify 2021-05-23 22:28:59 +03:00
dzaima
17fa05d23a update readme 2021-05-23 22:10:30 +03:00
dzaima
b2b826be9b incremental compilation 2021-05-23 21:55:49 +03:00
dzaima
f26cd2a03b native ⊒arr 2021-05-23 01:04:54 +03:00
dzaima
86972e1bac grade cleanup & fixes 2021-05-23 00:38:02 +03:00
dzaima
5db84031f7 2021-05-23 00:28:27 +03:00
dzaima
e214a40a19 c32 comparison 2021-05-22 23:34:19 +03:00
dzaima
4fa7e33520 dyadic fast scans, ∨´, sorts and grade 2021-05-22 23:09:32 +03:00
dzaima
4e0182ec2e ≠`i32arr 2021-05-21 17:09:15 +03:00
dzaima
081c16029e +i32arr, ⌈i32arr, print live stack 2021-05-21 17:06:06 +03:00
dzaima
882280e6bd check fread/fwrite result
and otherwise make gcc builds happy
2021-05-21 16:08:22 +03:00
dzaima
81cdfa9cab /i32arr 2021-05-21 15:33:58 +03:00
dzaima
7df1b5d4a7 vectorized = and ≠ 2021-05-21 00:49:10 +03:00
dzaima
aa36531783 temporary allocations 2021-05-21 00:05:11 +03:00
dzaima
0b479fc9d0 don't spam root objects 2021-05-20 23:16:21 +03:00
dzaima
2cee9260f7 dyadic •FBytes 2021-05-20 23:10:06 +03:00
dzaima
075773a28c native vec⊐vec 2021-05-20 21:50:54 +03:00
dzaima
885ce06a23 sort fills 2021-05-20 21:33:05 +03:00
dzaima
b8feea1c8a lazy sort 2021-05-20 21:21:19 +03:00
dzaima
c39b06e078 native ⍷vec 2021-05-20 20:34:17 +03:00
dzaima
2d60dd4f1a use formatter for •Show, fix some refcounts 2021-05-20 19:45:47 +03:00
dzaima
e90701af9f native vec∊vec 2021-05-20 19:35:38 +03:00
dzaima
b8fe149d1f hashmaps, fast ⊐ 2021-05-20 19:24:54 +03:00
dzaima
2ed797ce16 hash 2021-05-20 03:03:33 +03:00
dzaima
e140f9350b native 𝔽˘𝕩 and > 2021-05-19 21:56:40 +03:00
dzaima
0e650d6038 a tiny bit of a native ⊐ 2021-05-19 19:36:10 +03:00
dzaima
d08cd90998 typed arith 2021-05-19 18:57:12 +03:00
dzaima
0f001313a7 native ⌽ and F⌾⌽ 2021-05-19 18:48:05 +03:00
dzaima
9590471c7c fix COMP_COMP 2021-05-19 17:47:06 +03:00
dzaima
422c3ff823 native ⌾(a⊸⊏) 2021-05-19 17:02:03 +03:00
dzaima
c9a54b9363 fix •Repr without FORMATTER 2021-05-19 15:16:18 +03:00
dzaima
dd865697ef updated formatter 2021-05-19 15:09:01 +03:00
dzaima
23af3f56e9 faster VM_POS 2021-05-19 15:00:45 +03:00
dzaima
ffbb6ce601 fancy error messages 2021-05-19 14:22:04 +03:00
dzaima
0b34c96a51 inline join 2021-05-19 03:13:04 +03:00
dzaima
af9fbb7dc3 free simple scope-block reference cycles on bytecode exit 2021-05-19 00:28:46 +03:00
dzaima
e02142a4c9 native ⌾(n⊸⊑) 2021-05-18 22:02:40 +03:00
dzaima
a7a277a6d1 fix native ⌾ under rtperf 2021-05-16 18:36:14 +03:00
dzaima
45207372f6 native ⌾(a⊸/) and ⌾⊑ 2021-05-16 18:16:09 +03:00
dzaima
d046d92390 optional source for precompiled programs 2021-05-16 13:42:58 +03:00
dzaima
c2013e3b5d •args, •FLines, command-line options, •Repr, fix unit∾unit fill 2021-05-15 17:51:17 +03:00
dzaima
915b84f028 fast error on CATCH_ERRORS+HEAP_VERIFY, allow unicode paths 2021-05-15 14:51:46 +03:00
dzaima
a1d5d87f8b fix comp_comp 2021-05-15 14:46:10 +03:00
dzaima
6ae85d3f29 fix REPL 2021-05-15 14:38:26 +03:00
dzaima
721017f6c0 fix path_dir, allow REPL to load relative files 2021-05-15 14:17:19 +03:00
dzaima
87138ee523 •Import, relative paths 2021-05-15 14:03:07 +03:00
dzaima
523a062b95 update names 2021-05-15 12:53:35 +03:00
dzaima
c85c8ec9ae fix more visit 2021-05-15 12:44:11 +03:00
dzaima
ca090efd07 execute argument file 2021-05-15 12:39:26 +03:00
dzaima
77531e2d8f visit should take pointer as arg 2021-05-15 12:23:21 +03:00
dzaima
fb7bfcf188 free should take pointer as arg 2021-05-15 12:23:19 +03:00
dzaima
5dfa9e0e31 NSPM 2021-05-14 23:09:52 +03:00
dzaima
e0b41180cf F´i32vec 2021-05-14 20:44:19 +03:00
dzaima
b2e5b009f3 accept slices more 2021-05-14 20:33:31 +03:00
dzaima
02b4836498 special i32vec⊔𝕩 2021-05-14 20:26:04 +03:00
dzaima
46292872d1 special 𝕨⊔i32vec 2021-05-14 20:19:02 +03:00
dzaima
c5506657c3 native vector ⊔ 2021-05-14 20:08:38 +03:00
dzaima
60d2e2454f native ↑&↓ 2021-05-14 15:39:23 +03:00
dzaima
b5db412812 typed / 2021-05-14 15:06:48 +03:00
dzaima
94bf7ccce0 native ⊑ (without array 𝕨) 2021-05-14 14:06:01 +03:00
dzaima
67e93ae37a FLDO 2021-05-14 00:34:42 +03:00
dzaima
0a69c1e457 native monadic ↕ 2021-05-13 21:20:10 +03:00
dzaima
62dbedc9b8 empty int arr constant 2021-05-12 16:37:00 +03:00
dzaima
cd5eb4dfe9 •FChars, •FBytes 2021-05-12 16:31:01 +03:00
dzaima
08ed6803c1 fillarr mut 2021-05-12 12:10:19 +03:00
dzaima
3609c1ecdd enable compiler compilation with a define 2021-05-12 11:55:14 +03:00
dzaima
ab12fcdbb2 store typed array in Mut 2021-05-12 11:31:44 +03:00
dzaima
096a7c7637 restructure typed array creation 2021-05-11 21:31:34 +03:00
dzaima
98cb5fc310 vm.h 2021-05-11 16:10:49 +03:00
dzaima
54abc94cad •_timed 2021-05-10 23:22:00 +03:00
dzaima
dd3c420bf3 f64any_ptr 2021-05-10 17:44:42 +03:00
dzaima
765098f485 native i32 monadic ⍋ 2021-05-10 17:10:16 +03:00
dzaima
d42a6516b7 native 𝕨⍋𝕩 2021-05-10 16:15:34 +03:00
dzaima
9bdacbbd7d toCells, throw stack overflows 2021-05-10 13:41:27 +03:00
dzaima
d8751e709f fix pureFn 2021-05-10 11:37:30 +03:00
dzaima
2202200a6e stacktraces 2021-05-10 02:44:26 +03:00
dzaima
03cebc6aff fix using 𝕨/𝕩 in 𝕘 of ⎊ 2021-05-09 23:02:33 +03:00
dzaima
9893a8bd97 isCallable 2021-05-09 20:05:34 +03:00
dzaima
64e716af6f cross-program namespace access 2021-05-09 18:27:42 +03:00
dzaima
0f844b4e09 •BQN, split runtime/compiler loading out of main 2021-05-09 17:31:31 +03:00
dzaima
0dede67d2a namespaces 2021-05-09 16:01:19 +03:00
dzaima
8ed4019edf bi_emptyHVec, actually fix !GS_REALLOC 2021-05-08 15:47:04 +03:00
dzaima
6c349fc3ed fix !GS_REALLOC 2021-05-08 14:19:48 +03:00
dzaima
4762463ce8 fancier init 2021-05-07 21:56:11 +03:00
dzaima
f70a8c558c option to not allow reallocating stack
with no benefits currently, whatever
2021-05-07 21:51:54 +03:00
dzaima
386cb75a1a accept new compiler output 2021-05-07 19:41:07 +03:00
dzaima
a5022c8755 actually functional f64arr mut 2021-05-04 23:25:52 +03:00
dzaima
dc84266849 custom fill comparison 2021-05-03 17:32:45 +03:00
dzaima
0192bdb987 getFill shouldn't consume 2021-05-03 15:22:46 +03:00
dzaima
6740e680a9 split up eq_c2 2021-05-03 15:00:51 +03:00
dzaima
4d85a57e10 native ≍ 2021-05-03 12:41:51 +03:00
dzaima
4fcc007365 purposefully make ∾ 30% slower 2021-05-03 11:30:47 +03:00
dzaima
96ab6785ed native ∾vec 2021-05-03 11:06:13 +03:00
dzaima
5d0342e647 simpler batch function calls 2021-05-02 21:48:12 +03:00
dzaima
c9eab08569 i32arr⊏i32arr, isAtm, m_atomUnit 2021-05-02 19:14:25 +03:00
dzaima
bfd1e0d49e use fill info to try to type an array
and bug fixes :)
2021-05-02 17:07:41 +03:00
dzaima
14e12ea544 native « 2021-05-02 15:34:31 +03:00
dzaima
494c13f3d8 gc on 2×previous 2021-05-02 14:08:54 +03:00
dzaima
9f824483eb cleaner ¨ 2021-05-02 13:49:40 +03:00
dzaima
b31865b0f4 add back native » 2021-05-01 22:35:07 +03:00
dzaima
76c3466c96 crappy fills 2021-05-01 22:26:18 +03:00
dzaima
2828a05dfc native », fill stuff 2021-05-01 04:21:14 +03:00
dzaima
d7561d1fbd native r0 ¨ 2021-04-30 20:41:24 +03:00
dzaima
755274ebb6 random type changes 2021-04-30 20:38:48 +03:00
dzaima
f36eddb01c fix ⟨a‿b⟩←⟨1‿2⟩ and ⟨3‿0,2‿1‿2⟩⊏6‿5⥊↕30 2021-04-30 00:55:28 +03:00
dzaima
6afd425f24 reenable native ⊏ 2021-04-30 00:21:22 +03:00
dzaima
4783812eaf mut 2021-04-29 23:44:50 +03:00
dzaima
6c2ed64ab4 separate non-structural functions out of sfns.c 2021-04-29 13:02:27 +03:00
dzaima
c7af11dd2e native runtime_0 2021-04-29 03:06:02 +03:00
dzaima
a1fec732b0 update cc.bqn 2021-04-29 00:32:52 +03:00
dzaima
7786beeed1 clean up err stuff 2021-04-29 00:06:27 +03:00
dzaima
3ebdb16571 ahead-of-time computed scope parents
not much of a difference in performance, but whatever
2021-04-28 23:35:05 +03:00
dzaima
db7b0cc323 clear in-use items in in-place each 2021-04-28 13:08:58 +03:00
dzaima
a3e78e651e random cleanup 2021-04-28 12:38:02 +03:00
dzaima
f0a602ccde random utility functions 2021-04-28 12:22:51 +03:00
dzaima
f58af495bc f64arr 2021-04-28 11:45:18 +03:00
dzaima
3a0ed1cbc7 •Out and •Show 2021-04-27 23:35:01 +03:00
dzaima
9003a5df99 partially written arrays 2021-04-27 21:44:00 +03:00
dzaima
ca3ff89a4d move random functions to stuff.c 2021-04-27 17:35:41 +03:00
dzaima
f922aa2422 FOR_BC 2021-04-27 15:34:16 +03:00
dzaima
a6d15846f6 m_hunit 2021-04-27 14:39:02 +03:00
dzaima
271479c511 use getU more 2021-04-26 11:45:12 +03:00
dzaima
76dbabb03d finish separating arr_shAlloc 2021-04-26 10:46:33 +03:00
dzaima
6d5c04e62a split up h.h 2021-04-26 10:35:18 +03:00
dzaima
776a77f033 new cc.bqn 2021-04-26 10:04:32 +03:00
dzaima
b5468f630b native vector ⊏ & / 2021-04-26 01:38:34 +03:00
dzaima
3891940178 fmtF ⎊ 2021-04-25 01:58:02 +03:00
dzaima
8d21080dd8 native ⍟, fix unit eachd 2021-04-25 01:35:52 +03:00
dzaima
dfb30b934f fix >´⟨⟩ & eachd on different type units 2021-04-24 20:54:38 +03:00
dzaima
163888f32a implement arith fills 2021-04-24 02:18:52 +03:00
dzaima
365caec21b in-place eachd 2021-04-24 01:28:07 +03:00
dzaima
4f8dd1b178 native fns, runtime perf 2021-04-24 00:57:04 +03:00
dzaima
70291dc060 clean up test stuff 2021-04-22 16:16:59 +03:00
dzaima
e345f37605 ⎊ and proper _fillBy_ 2021-04-17 00:53:23 +03:00
dzaima
38ab8ecf96 error catching option 2021-04-15 02:10:30 +03:00
dzaima
4bd3a526d0 fix ctrl+d 2021-04-15 01:50:10 +03:00
dzaima
889f633bd3 catch errors 2021-04-15 01:20:50 +03:00
dzaima
2d43489cd2 more refcount fixes 2021-04-14 23:18:48 +03:00
dzaima
c820b4b3a5 GC 2021-04-14 19:11:19 +03:00
dzaima
b8e786b2cb LOCU 2021-04-10 22:15:17 +03:00
dzaima
be994f822b •Type, •PrimInd, •Decompose 2021-04-10 21:42:52 +03:00
dzaima
67dad6cc1d uhh refcount better 2021-04-10 19:50:50 +03:00
dzaima
da095a0ff4 non-reusing i32arr→i32arr ⌜ 2021-04-09 23:37:13 +03:00
dzaima
21412be6c5 sysvals 2021-04-09 21:14:28 +03:00
dzaima
1db0527c5a in-place i32arr monadic ⌜ 2021-04-09 12:59:54 +03:00
dzaima
d3522fecfa decR 2021-04-08 13:20:53 +03:00
dzaima
ae1ca2f1d9 inci→inc, ptr_dec_rare 2021-04-08 03:26:25 +03:00
dzaima
c340de8e1c noinline m_cai32 2021-04-06 14:36:33 +03:00
dzaima
3603b621c8 separate noinline call for non-functions 2021-04-06 14:00:12 +03:00
dzaima
52cd7a9d82 noinline makeEmpty 2021-04-06 13:56:54 +03:00
dzaima
dd8e8b970b pass derived function to modifiers 2021-04-06 13:25:19 +03:00
dzaima
6e2dcacf57 iterate through heap 2021-04-06 02:15:47 +03:00
dzaima
ccd7669fc3 correct 3×2^n boundary check 2021-04-05 19:36:08 +03:00
dzaima
9e1eae8e58 2 buddy allocator 2021-04-05 18:40:39 +03:00
dzaima
6f63fcd92a global stack 2021-04-05 14:51:34 +03:00
dzaima
d3eadf1d10 fix GroupLen 2021-04-04 18:38:32 +03:00
dzaima
d0f835aa2e fill 2021-04-04 18:18:47 +03:00
dzaima
9136d6000d buddy memory allocator 2021-04-03 19:19:39 +03:00
dzaima
b33335c921 no more varargs 2021-04-03 17:17:11 +03:00
dzaima
472c66fbab time, fake runtime 2021-04-02 21:51:08 +03:00
dzaima
8fd12fceb2 uhhhhh 2021-04-02 14:55:57 +03:00
dzaima
e830df3893 formatter 2021-04-02 14:31:21 +03:00
dzaima
9e48514f19 make non-varargs the default array creation method 2021-04-01 12:37:47 +03:00
dzaima
a98365aac8 finish using srnk 2021-03-31 11:31:52 +03:00
dzaima
3773c15d90 tiny changes 2021-03-30 12:53:26 +03:00
dzaima
f534115d1c slices for ⥊ 2021-03-30 12:26:42 +03:00
dzaima
0eb8b37236 trailing newlines
ugh
2021-03-30 03:27:41 +03:00
dzaima
7c92f500b3 store extra info in Value 2021-03-30 03:22:00 +03:00
dzaima
17d3277d2b move printUTF8 to utf.c 2021-03-30 03:04:30 +03:00
dzaima
4be83c88b2 reuse in ` 2021-03-30 02:53:44 +03:00
dzaima
0e46008596 reuse 𝕩 in ⌜ if possible 2021-03-30 02:35:48 +03:00
dzaima
bad822447f 1 2021-03-30 00:58:56 +03:00