Skip to content

Commit 312fa08

Browse files
committed
Fix todo on renaming 'String.subCode'
1 parent 9903612 commit 312fa08

File tree

4 files changed

+17
-18
lines changed

4 files changed

+17
-18
lines changed

lib/Hash.trp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ let
1010
*)
1111
fun hashString s =
1212
(* String hash with fast paths for small strings *)
13-
let val len = String.size s
14-
val radix = 127
15-
val subCode = String.subCode s
13+
let val len = String.size s
14+
val radix = 127
15+
val codeAt = String.sub' s
1616
in case len of 0 => 0
17-
| 1 => subCode 0
18-
| 2 => (radix * subCode 0 + subCode 1) andb Number.maxInt32
17+
| 1 => codeAt 0
18+
| 2 => (radix * codeAt 0 + codeAt 1) andb Number.maxInt32
1919
| _ => let fun go idx acc =
2020
if len <= idx then acc
21-
else go (idx + 1) ((acc * radix + subCode idx) andb Number.maxInt32)
21+
else go (idx + 1) ((acc * radix + codeAt idx) andb Number.maxInt32)
2222
in go 0 0
2323
end
2424
end

lib/String.trp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ let val __substring = substring
2626

2727
(** The character value at the given index. If `i` is out of bounds, then 0 (NULL) is
2828
* returned. *)
29-
(* TODO (#59): Rename to `sub'` when `'` symbols are properly supported. *)
30-
fun subCode s i = charCodeAtWithDefault (s, i, 0)
29+
fun sub' s i = charCodeAtWithDefault (s, i, 0)
3130

3231
(** Returns the substring of `s`. Indices beyond the end of string are silently truncated. *)
3332
fun substring s i j = __substring (s, i, j)
@@ -76,7 +75,7 @@ let val __substring = substring
7675
maxSize,
7776
size,
7877
sub,
79-
subCode,
78+
sub',
8079
substring,
8180
concat,
8281
concatWith,

tests/lib/String.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
[ TEST ] it is '' for 5 [ PASS ] it is '' for 5
1717
[ TEST ] it is '' for 6 [ PASS ] it is '' for 6
1818
end 
19-
begin subCode
19+
begin sub'
2020
[ TEST ] it is 87 for 0 [ PASS ] it is 87 for 0
2121
[ TEST ] it is 111 for 1 [ PASS ] it is 111 for 1
2222
[ TEST ] it is 114 for 2 [ PASS ] it is 114 for 2

tests/lib/String.trp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ let val tests = Unit.group "String" [
2121
]
2222
end,
2323
let val s = "World!"
24-
in Unit.group "subCode" [
25-
Unit.it "is 87 for 0" (Unit.isEq 87 (String.subCode s 0))
26-
, Unit.it "is 111 for 1" (Unit.isEq 111 (String.subCode s 1))
27-
, Unit.it "is 114 for 2" (Unit.isEq 114 (String.subCode s 2))
28-
, Unit.it "is 108 for 3" (Unit.isEq 108 (String.subCode s 3))
29-
, Unit.it "is 100 for 4" (Unit.isEq 100 (String.subCode s 4))
30-
, Unit.it "is 33 for 5" (Unit.isEq 33 (String.subCode s 5))
31-
, Unit.it "is 0 for 6" (Unit.isEq 0 (String.subCode s 6))
24+
in Unit.group "sub'" [
25+
Unit.it "is 87 for 0" (Unit.isEq 87 (String.sub' s 0))
26+
, Unit.it "is 111 for 1" (Unit.isEq 111 (String.sub' s 1))
27+
, Unit.it "is 114 for 2" (Unit.isEq 114 (String.sub' s 2))
28+
, Unit.it "is 108 for 3" (Unit.isEq 108 (String.sub' s 3))
29+
, Unit.it "is 100 for 4" (Unit.isEq 100 (String.sub' s 4))
30+
, Unit.it "is 33 for 5" (Unit.isEq 33 (String.sub' s 5))
31+
, Unit.it "is 0 for 6" (Unit.isEq 0 (String.sub' s 6))
3232
]
3333
end,
3434
let val s = "Hello Troupe!"

0 commit comments

Comments
 (0)