Skip to content

Commit 689eeff

Browse files
committed
Minor text improvements
1 parent 8850b9e commit 689eeff

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Val is a research programming language to explore the concepts of [mutable value
77
Val aims to be:
88
- **Fast**: Val is compiled AOT to machine code and relies on its type system to support in-place mutation and avoid unecessary memory allocations.
99
- **Safe**: Val is memory safe in both single-threaded and concurrent settings. It does so by adopting mutable value semantics, a programming discipline that bans shared mutable state to uphold local reasoning.
10-
- **Simple**: Val borrows heavily from the [Swift programming language](https://swift.org) which has demonstrated a user-friendly approach to generic programming. Further, its user model emphasizes on value, leaving out the typical complexities associated with reference semantics (e.g., memory regions, lifetime annotations, etc.).
10+
- **Simple**: Val borrows heavily from [Swift](https://swift.org) which has demonstrated a user-friendly approach to generic programming. Further, its user model emphasizes on value, leaving out the typical complexities associated with reference semantics (e.g., memory regions, lifetime annotations, etc.).
1111
- **Interoperable with C++**: Programming languages rarely survive in vacuum. Val aims to take advantage of the vast software capital of C++ by supporting full interperability.
1212

1313
The [language tour](./language-tour.html) gives an overview of Val's most salient feature.
@@ -58,10 +58,10 @@ There's a slightly more subtle mechanism at play.
5858
A C/C++ programmer may think of `longer_of` as a function that takes and returns pointers or mutable references.
5959
But Val offers more safety.
6060
First, it guarantees that the values of the arguments `a` and `b` may not overlap.
61-
Second, it guarantees that the value of `z` may not be accessed via `x` or `y` (or any other means) until the projection is no longer used.
61+
Second, it guarantees that the value of `z` may not be accessed via `x` or `y` (or any other means) until the projection ends.
6262

6363
A Rust programmer may think of `longer_of` as a function that borrows its arguments mutably and returns a mutable reference bound by the lifetime of those arguments.
64-
What happens is very similar indeed, but note that `longer_of` has no lifetime annotations.
65-
There are not elided, they simply do not exist in Val because the latter uses a simpler model devoid of references.
64+
What happens is very similar, but notice that `longer_of` has no lifetime annotations.
65+
There are not elided, they simply do not exist in Val because the it uses a simpler model, devoid of references.
6666

6767
Have a look at the section on subscripts in the [language tour](./language-tour.html) to get more information.

0 commit comments

Comments
 (0)