Skip to content

Commit baf7770

Browse files
Merge #893
893: Minor fixes, typos + copy editing :) r=Marwes a=drkameleon Co-authored-by: Yanis Zafirópulos <[email protected]>
2 parents f32442f + 7d32f97 commit baf7770

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@ Gluon is a small, statically-typed, functional programming language designed for
66

77
## Features
88

9-
* **Statically typed** - Static typing makes it easier to write safe and efficient interfaces between gluon and the host application.
9+
* **Statically-typed** - Static typing makes it easier to write safe and efficient interfaces between gluon and the host application.
1010

1111
* **Type inference** - Type inference ensures that types rarely have to be written explicitly giving all the benefits of static types with none of the typing.
1212

1313
* **Simple embedding** - Marshalling values to and from gluon requires next to no boilerplate, allowing functions defined in [Rust][] to be [directly passed to gluon][easy_embed].
1414

15-
* **UTF-8 by default** - Gluon supports unicode out of the box with utf-8 encoded strings and unicode codepoints as characters.
15+
* **UTF-8 by default** - Gluon supports Unicode out of the box with utf-8 encoded strings and Unicode codepoints as characters.
1616

1717
* **Separate heaps** - Gluon is a garbage-collected language but uses a separate heap for each executing gluon thread. This keeps each heap small, reducing the overhead of the garbage collector.
1818

19-
* **Thread safe** - Gluon is written in Rust, which guarantees thread safety. Gluon keeps the same guarantees, allowing multiple gluon programs to run in parallel ([example][parallel])\*
19+
* **Thread-safe** - Gluon is written in Rust, which guarantees thread safety. Gluon keeps the same guarantees, allowing multiple gluon programs to run in parallel ([example][parallel])\*
2020

2121
[easy_embed]:https://gluon-lang.org/doc/crates_io/book/embedding-api.html
2222
[parallel]:https://github.com/gluon-lang/gluon/blob/master/tests/parallel.rs
@@ -60,17 +60,17 @@ factorial 10
6060
// * Only the following operators/functions are allowed: multiplication, division, addition, subtraction
6161
// * Division should use floating point or rational arithmetic, etc, to preserve remainders.
6262
// * Brackets are allowed, if using an infix expression evaluator.
63-
// * Forming multiple digit numbers from the supplied digits is disallowed. (So an answer of 12+12 when given 1, 2, 2, and 1 is wrong).
64-
// * The order of the digits when given does not have to be preserved.
63+
// * Forming multiple digit numbers from the supplied digits is disallowed. (So an answer of 12+12 - when given 1, 2, 2, and 1 - is wrong).
64+
// * The order of the digits, when given, does not have to be preserved.
6565
//
6666
//
6767
// ## Notes
6868
//
6969
// The type of expression evaluator used is not mandated. An RPN evaluator is equally acceptable for example.
70-
// The task is not for the program to generate the expression, or test whether an expression is even possible.
70+
// The task is not for the program to generate the expression or test whether an expression is even possible.
7171
7272
73-
// The `import!` macro are used to load and refer to other modules.
73+
// The `import!` macro is used to load and refer to other modules.
7474
// It gets replaced by the value returned by evaluating that module (cached of course, so that
7575
// multiple `import!`s to the same module only evaluates the module once)
7676
let io @ { ? } = import! std.io
@@ -83,7 +83,7 @@ let list @ { List, ? } = import! std.list
8383
let random = import! std.random
8484
let string = import! std.string
8585
86-
// Since imports in gluon returns regular values we can load specific parts of a module using pattern matches.
86+
// Since imports in gluon return regular values we can load specific parts of a module using pattern matches.
8787
let char @ { ? } = import! std.char
8888
8989
let { (<>) } = import! std.semigroup
@@ -228,7 +228,7 @@ cargo install gluon_repl
228228

229229
### REPL
230230

231-
Gluon has a small executable which can be used to run gluon programs directly or in a small REPL. The REPL can be started by passing the `-i` flag to the built repl executable which can be run with `cargo run -p gluon_repl -- -i`.
231+
Gluon has a small executable that can be used to run gluon programs directly or in a small REPL. The REPL can be started by passing the `-i` flag to the built repl executable which can be run with `cargo run -p gluon_repl -- -i`.
232232

233233
REPL features:
234234
* Evaluating expressions (expressions of type IO will be evaluated in the IO context).
@@ -307,7 +307,7 @@ gluon = "0.17.2"
307307
```
308308

309309
### Other languages
310-
Currently the easiest way to interact with the gluon virtual machine is through Rust but a rudimentary [C api][] exists which will be extended in the future to bring it closer to the Rust api.
310+
Currently, the easiest way to interact with the gluon virtual machine is through Rust but a rudimentary [C api][] exists which will be extended in the future to bring it closer to the Rust API.
311311

312312
[C api]: https://github.com/gluon-lang/gluon/blob/master/c-api/src/lib.rs
313313

@@ -321,15 +321,15 @@ There are many ways to contribute to gluon. The two simplest ways are opening is
321321
## Goals
322322
These goals may change or be refined over time as I experiment with what is possible with the language.
323323

324-
* **Embeddable** - Similiar to [Lua][Lua] - it is meant to be included in another program which may use the virtual machine to extend its own functionality.
324+
* **Embeddable** - Similiar to [Lua][Lua] - it is meant to be included in another program that may use the virtual machine to extend its own functionality.
325325

326326
* **Statically typed** - The language uses a [Hindley-Milner based type system][hm] with some extensions, allowing simple and general type inference.
327327

328328
* **Tiny** - By being tiny, the language is easy to learn and has a small implementation footprint.
329329

330-
* **Strict** - Strict languages are usually easier to reason about, especially considering that it is what most people are accustomed to. For cases where laziness is desired, an explict type is provided.
330+
* **Strict** - Strict languages are usually easier to reason about, especially considering that it is what most people are accustomed to. For cases where laziness is desired, an explicit type is provided.
331331

332-
* **Modular** - The library is split into its parser, typechecker, and virtual machine + compiler. Each of these components can be used independently of each other, allowing applications to pick and choose exactly what they need.
332+
* **Modular** - The library is split into its parser, type checker, and virtual machine + compiler. Each of these components can be used independently of each other, allowing applications to pick and choose exactly what they need.
333333

334334
[hm]:https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system
335335
[prelude]:https://github.com/gluon-lang/gluon/blob/master/std/prelude.glu

0 commit comments

Comments
 (0)