Skip to content

Commit 59a57a3

Browse files
committed
more minor typos
1 parent fb8f117 commit 59a57a3

File tree

9 files changed

+20
-20
lines changed

9 files changed

+20
-20
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ would be 64 bits on a 64-bit machine. In Rune, only the string references are
201201
cache** during the traversal, improving memory load times, while simultaneously
202202
improving cache hit rates.
203203

204-
This is why Rune's `binarytree.rn` code already runs faster than any other
204+
This is why Rune's `binary_trees.rn` code already runs faster than any other
205205
single-threaded result in the [Benchmark
206206
Games](https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html).
207207
(Rune is not yet multi-threaded). The only close competitor is C++, where the

TODO

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
## Short term
22
Use concrete type constraints on variable assignments rather than "if false" type hints.
3-
In the bootstrap version of Rune, add support for autocasting return expresions
3+
In the bootstrap version of Rune, add support for autocasting return expressions
44
to the type of other return expressions
55
Add an option for generating SoA vs AoS memory layout so folks can do their own benchmarking.
66
Write a C or C++ backend code generator for improved debugging of Rune, and so folks can benchmark with
77
full front-end optimization of different C compilers for benchmarking.
88
Enhance gdb pretty printer so that we don't have to generate show methods.
99
Figure out when relationship transformers should run. Right now it is in the order statements are bound so that module-level variables can be passed into the transformers, but we assume all transformers are run before binding a constructor, which is currently false. Figure out the right thing and do it.
10-
Use concrete type constraints in binding. This can help eleminate problems
10+
Use concrete type constraints in binding. This can help eliminate problems
1111
in binding recursive functions, and also non-template classes.
1212
Don't allow generated fields to be written outside of generated code.
1313
Add an Object class that matches all types, so we can have case (Object, Object, Object).
@@ -18,25 +18,25 @@ Flesh out index overloading: write is not yet supported.
1818
Support Overloading method get/set methods.
1919
Improve safe mode:
2020
Throw error when destroying an object that has a reference on the stack.
21-
Use overflow/underflow intrinsics in LLVM
21+
Use overflow/underflow intrinsics in LLVM.
2222
Fix LLVM select for case when select bit is secret.
2323
Also, only evaluate one or the other when select is not secret.
2424
Add syntax for declaring volatile globals at specified addresses, so we can do memory-mapped I/O. Consider using a global io array.
2525
Add good support for interop with C++, which is a key requirement for a language to replace C++ in prod:
2626
syntax for declaring extern "C++" functions, and deal with name mangling.
2727
Add support for calling C++ constructors and methods.
2828
Add support for c++ unique pointers, which are often returned.
29-
Add support for C pointer types, which can be returned by C functions declared extern"C".
29+
Add support for C pointer types, which can be returned by C functions declared extern "C".
3030
Add "unsafe" blocks where it is legal to dereference or index into a C pointer.
3131
Write all the Benchmark Games benchmarks twice: one single threaded and
32-
honest, one multi-threaded and using similar trickes used by the others to win.
32+
honest, one multi-threaded and using similar tricks used by the others to win.
3333
Implement dynamic class extensions.
3434
Implement inheritance via composition, using exclusive relationships.
3535
Return error codes for each deError call, which error tests can expect.
3636
Write initial language reference manual.
3737
Add LLVM compiler hints and optmizations as described at
3838
https://llvm.org/docs/Frontend/PerformanceTips.html#adding-to-this-document.
39-
Support named parameters, like Python
39+
Support named parameters, like Python.
4040

4141
## Medium Term
4242
Write tests to verify that constant time processing of secrets is achieved. E.g. if (issecret(foo)...
@@ -50,7 +50,7 @@ Support full co-routines in iterators in the LLVM backend.
5050
Support tuple unpacking.
5151
Support overloading modular operations, so we can support modular polynomials, etc.
5252
Add multi-threading support.
53-
Add schema-level reuse statements
53+
Add schema-level reuse statements.
5454
Write a schema generator for Rune similar to the dataview program for DataDraw schemas.
5555
Flush out transformers's Rune code interpreter.
5656
Finish transition to memory pools, and allocation of global arrays with mmap of the memory available on the machine so large arrays never move.
@@ -65,9 +65,9 @@ Tune floating point operations: For some reason, clang is running C/C++ floating
6565
Rewrite heap to be more efficient for small passed-by-value objects like i32's. The back-pointer and
6666
index are not needed for heaps of values.
6767
Save memory on 32-bit targets using 32-bit lengths.
68-
LLVM: generate switch rather than a chain of br.
68+
LLVM: generate switch rather than a chain of branches.
6969
Support tail recursion.
7070
Use existing uint32 or int32 field for nextFree to save memory for non-ref-counted classes.
7171
Identify fields that are always accessed together and merge them into tuples.
72-
Generate array-of-structures for these tuples
72+
Generate array-of-structures for these tuples.
7373
Support unions, like DataDraw, where the field is selected by an enumerated type.

benchmarks/results.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Heap queues
22
The C++ std::priority_queue is currently ~3X faster at sorting integers.
3-
However, this is basically useless as heapsort is very slow compared to mergsort
3+
However, this is basically useless as heapsort is very slow compared to mergesort
44
or qsort. A more interesting case is a heapq of objects. Rune was the same
5-
speed once C++ had in-place objects containging a std::string and a uint32_t
6-
cost. Objects with more fields are slower in C++, and should in stead be
5+
speed once C++ had in-place objects containing a std::string and a uint32_t
6+
cost. Objects with more fields are slower in C++, and should instead be
77
inserted as unique pointers.
88

99
In C++, std::priority_queue does not yet support unique pointers, so I was not

bind/bindexpr.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1561,7 +1561,7 @@ static bool bindDotExpression(deBlock scopeBlock, deExpression expression) {
15611561
if (deDatatypeNullable(datatype)) {
15621562
deString string = deMutableStringCreate();
15631563
deDumpExpressionStr(string, expression);
1564-
deExprError(expression, "Cannot use dot operator on nullable type: %s.",
1564+
deExprError(expression, "Cannot use dot operator on nullable type: %s.",
15651565
deStringGetCstr(string));
15661566
}
15671567
classBlock = deClassGetSubBlock(deDatatypeGetClass(datatype));

bootstrap/database/block.rn

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use function
2020
use location
2121
use statement
2222

23-
// A liternal block statement. All statements exist within a block.
23+
// A literal block statement. All statements exist within a block.
2424
class Block(self, location: Location) {
2525
self.location = location
2626
// For dead code analysis.

bootstrap/database/expr.rn

+1-1
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ enum ExprType {
117117
Namedparam // Myclass(name = "me", profession = "hacker")
118118
}
119119

120-
// Return the operator precedence. This is similar to C, but fixes an acknowledge mistake:
120+
// Return the operator precedence. This is similar to C, but fixes an acknowledged mistake:
121121
// bitwise operators should bind more tightly than relational operators. By the time C's
122122
// authors realized this mistake, there was already too much C code that would break to fix it.
123123
// Example: "value & 1 == 0" should test that value is even, but in C the result is always 0.

builtin/hashed.rn

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func hashInteger(value: Uint | Int) -> u64 {
5252
}
5353

5454
func hashValue(value) -> u64 {
55-
// Only one of these cases will be instatiated per func instantiation.
55+
// Only one of these cases will be instantiated per func instantiation.
5656
typeswitch value {
5757
String => return hashString(value)
5858
Uint, Int => return hashInteger(value)

builtin/hashedclass.rn

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// limitations under the License.
1414

1515
// This is a one-to-many relation transformer that adds a hash table between
16-
// class A and B. The hash table is always a power of 2, and dynamically grows
16+
// class A and B. The hash table size is always a power of 2, and dynamically grows
1717
// as needed, when the number of hash table elements equals the size of the
1818
// table. The child class B must have two methods: hash() -> u64, and
1919
// equals(other) which compares the two instances of class B and returns true

include/de.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ static inline uint32 deBlockFindVariableIndex(deBlock block,
124124
i++;
125125
}
126126
deEndBlockVariable;
127-
utExit("Varaible not found on block");
127+
utExit("Variable not found on block");
128128
return 0; // Dummy return.
129129
}
130130

@@ -263,7 +263,7 @@ static inline deExpression deExpresssionIndexExpression(deExpression expression,
263263
}
264264
i++;
265265
} deEndExpressionExpression;
266-
utExit("Indexed past end of expression list");
266+
utExit("Index past end of expression list");
267267
return deExpressionNull;
268268
}
269269

0 commit comments

Comments
 (0)