Commit Graph

80 Commits

Author SHA1 Message Date
ca3dab5193 wrap helper functions to 'insert' inside 'local ... in ... end' to semantically convey that these helper functions are never used elsewhere 2024-07-04 03:39:00 +01:00
c6fef0499e life if-statement up (so that the test is only done once, to help the branch predictor) 2024-07-04 03:24:34 +01:00
b70763b7b8 clean up line_gap.sml (removed debug editing) 2024-07-03 18:09:20 +01:00
58a56e9685 address a few things I forgot in line_gap.sml 2024-07-03 17:41:04 +01:00
3a954ceb4c remove dead comment 2024-07-03 14:49:32 +01:00
0012304854 verify another if-statement case 2024-07-03 14:35:38 +01:00
5117678c1d fix another buggy Vector.tabulate case 2024-07-03 14:05:27 +01:00
65b3db2a6a add comments about sume parts that are verified to work as far as line breaks go 2024-07-02 06:02:16 +01:00
3e924b1082 verify that moveLeftAndIns works as expected 2024-07-01 07:40:17 +01:00
1be8a40e48 fix another Vector.tabulate bug (else if statement starting from line 473) 2024-07-01 06:52:32 +01:00
c9a221b5bd clean up one if-statement branch a little 2024-06-30 16:40:05 +01:00
685a9b0e4d fix another vector joining case 2024-06-30 16:30:12 +01:00
06ca2a27a4 some bug fixing. (Code is in a messed up/broken/deoptimised stated, but I will fix that once all bugs are address.) 2024-06-30 15:14:21 +01:00
9e451fea93 ignore compare file in tests/ folder 2024-06-30 02:09:51 +01:00
ca6cf36076 start testing correctness of line metadata 2024-06-30 02:05:48 +01:00
8ed2bbe94d fixed exceptions that were reaise with regards to array; next is to verify correctness of line metadata 2024-06-30 01:53:36 +01:00
ba7d3579b4 move if statement that only needs to be checked once from helpBinSearch, which is recursive, to binSearch which is not recursive, for negligibly better performance (fewer branch predictions) 2024-06-30 01:37:52 +01:00
75aba5e8e1 progress on fixing exceptions with regard to vector 2024-06-30 01:32:59 +01:00
6af253eed9 verified through testing that insertion works as expected as far as contents of string is concerned. However, have added print statements which I need to remove when I have a fully working implementation 2024-06-30 00:50:38 +01:00
de087a86d5 organise repository a little bit 2024-06-30 00:07:45 +01:00
37653a7c85 address compiler errors/warnings 2024-06-29 23:40:39 +01:00
ffaaa8993e I think implemented insert correctly. Next: check for compile errors, and then test that insert functions as expected. 2024-06-29 23:27:32 +01:00
dfeb4c4647 progress coding fun insInRightList 2024-06-29 17:46:43 +01:00
99de90febc progress with insertion on line_gap.sml 2024-06-29 06:50:52 +01:00
2583e0edea begin coding insert for line gap buffer 2024-06-28 07:16:10 +01:00
c5a5bc1986 a little clean up 2024-05-28 08:10:18 +01:00
1f3736e690 add benchmarks for tiny_rope in bench folder 2024-05-28 08:01:10 +01:00
9728a1ca25 amend 'make clean' target in bench folder (now removes gap_buffer_seph too) 2024-05-27 13:35:01 +01:00
d6a5055be1 commit bench folder (also committing examples folder but that's kind of broken at this state) 2024-05-27 13:30:53 +01:00
b5c70772fa reorganise repository 2024-05-27 13:28:09 +01:00
1bc468238e print more benchmark stats in util.sml 2024-05-26 15:04:12 +01:00
c96cbed866 complete correct implementation of delete for gap buffer 2024-05-26 13:52:12 +01:00
217bf766a9 progress on starting delete function 2024-05-25 23:47:48 +01:00
01496aa06f amend bug resulting from previous refactoring (don't know origin of bug but I pressed undo in my editor and did the refactoring again, and this time all tests passed) 2024-05-25 15:05:40 +01:00
e9339908ef regenerate some data sets (except automerge), putting the contents in modules 2024-05-25 13:51:02 +01:00
b96539d348 refactor function in gap_buffer.sml to make use of two helper functions when inserting into the left/right 2024-05-25 13:21:14 +01:00
153c66b546 use joinEndOfLeft and joinStartOfRight functions to navigate between nodes in the gap buffer 2024-05-25 12:56:33 +01:00
54b052c8f5 make gap buffer a little bit faster by trying to join strings less than or equal to targetLength 2024-05-25 10:49:57 +01:00
008fa90196 add gap buffer implementation which has an insert and a toString function 2024-05-22 13:52:50 +01:00
d9a2933598 code delete-balancing functions for tiny_rope23.sml 2024-05-22 00:00:52 +01:00
d6d518b5b4 fix correctness error in tiny_rope23.sml's ins function (to do with traverseing down the N3 case) 2024-05-21 17:21:09 +01:00
e7edd06e54 fix compile errors in tiny_rope23.sml 2024-05-21 15:43:22 +01:00
640bc8cc31 finish coding last insert function (insLeaf) 2024-05-21 13:45:55 +01:00
ab6b08f3c9 code insert function for rope (except for the leaf case) 2024-05-21 13:24:04 +01:00
87d999ba84 update readme with benchmarks 2024-04-03 18:39:29 +01:00
23ec222404 fix typo in readme, and add line break 2024-03-24 13:12:11 +00:00
7ea58a2b38 add performance section to readme 2024-03-24 13:10:09 +00:00
14619b63c0 finish readme 2024-03-24 12:55:08 +00:00
e2b1d2c58c add examples of usage 2024-03-24 12:50:57 +00:00
c12aaea8c2 add higher order functions to fold through Rope and TinyRope 2024-03-24 10:06:26 +00:00