Skip to content

Commit 72857cd

Browse files
authored
Update index.md
1 parent c4ed0fc commit 72857cd

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ Val aims to be:
88
- **Fast by definition**: Val is compiled ahead-of-time to machine code and relies on its type system to support in-place mutation and avoid unnecessary memory allocations. Val avoids hidden costs such as implicit copies and therefore avoids heavy dependence on an optimizer for basic performance.
99
- **Safe by default**: Val's foundation of [mutable value semantics](http://www.jot.fm/issues/issue_2022_02/article2.pdf) ensures that ordinary code is memory safe, typesafe, and data-race-free. By explicit, auditable opt-in, programmers can use unsafe constructs for performance where necessary, and can build safe constructs using unsafe ones.
1010
- **Simple**: Val borrows heavily from [Swift](https://swift.org) which has demonstrated a user-friendly approach to generic programming and deep support for value semantics. Val's programming model strengthens and extends this support, while de-emphasizing reference semantics and avoiding the complexities that result from trying to make it statically safe (e.g., memory regions, lifetime annotations, etc.).
11-
- **Interoperable with C++**: Programming languages rarely survive in a vacuum. Val aims to take advantage of the vast software capital of C++ by supporting full interoperability.
1211

1312
The [language tour](https://tour.val-lang.dev) gives an overview of Val's features.
1413
The [language specification](https://github.com/val-lang/specification/blob/main/spec.md) and [IR specification](https://val-4.gitbook.io/val-ir/) (work in progress) provides detailed information about Val's syntax and semantics.
@@ -26,7 +25,7 @@ Our goals overlap substantially with that of Rust and other commendable efforts,
2625
Besides, other programming languages have value semantics (e.g., R or Whiley) and/or provide excellent support for generic programming (e.g., Swift or Haskell).
2726
So why another one?
2827

29-
What sets Val apart in the current landscape is its focus on mutable value semantics for the purpose of writing efficient, generic code, and its attention to C++ interoperability.
28+
What sets Val apart in the current landscape is its focus on mutable value semantics for the purpose of writing efficient, generic code.
3029
Val is a zero-cost abstraction language that fully acknowledges the physical constraints of computer architecture.
3130
Yet, it presents a user model that marries these constraints with the benefits of value-oriented programming.
3231

0 commit comments

Comments
 (0)