Add README.md
This commit is contained in:
parent
a1304e177d
commit
71093c6688
1 changed files with 69 additions and 0 deletions
69
README.md
Normal file
69
README.md
Normal file
|
@ -0,0 +1,69 @@
|
|||
Bolt
|
||||
====
|
||||
|
||||
Bolt is a new programming language for rapidly building complex applications.
|
||||
Bolt has an unique mix of features that allows you to write fully-fledged
|
||||
applications insanely fast.
|
||||
|
||||
- **Garbage collected** using state-of-the art garbage collectors where
|
||||
possible, so you don't have to worry about memory leaks.
|
||||
- **JSX support**, so you write your views in the syntax you're already
|
||||
familiar with.
|
||||
- **Advanced language feature**, such as _algebraic effects_, making things
|
||||
like React's `useState` primitive objects in the language.
|
||||
- **Cross-platform standard library**, allowing you to write your code for the
|
||||
web and the desktop at the same time.
|
||||
|
||||
```
|
||||
fn fac(n) {
|
||||
match n {
|
||||
0 => 1,
|
||||
_ => fac(n-1),
|
||||
}
|
||||
}
|
||||
|
||||
print(fac(5)) // 10
|
||||
```
|
||||
|
||||
## FAQ
|
||||
|
||||
### What made you write Bolt?
|
||||
|
||||
Because I was tired of writing applications in the horror that JavaScript
|
||||
is. Moreover, I usually write these applications by myself, so I have to be
|
||||
clever about how they will be implemented.
|
||||
|
||||
### Why should I choose Bolt over JavaScript?
|
||||
|
||||
Bolt was made to make writing user-interfaces dead-simple, while also making
|
||||
sure the resulting code is really fast. You should choose Bolt if you care
|
||||
about _correctness_, _performance_ and _scalability_.
|
||||
|
||||
- Correctness, because Bolt has a type system that is far superior to
|
||||
JavaScript's. No more member accesses into `undefined` or other weird error
|
||||
messages.
|
||||
- Performance, because the language has been designed to leave room for a lot
|
||||
of optimisations. The garbage collector is one of the few overheads that the
|
||||
language requires.
|
||||
- Scalability, because just like Rust, Bolt takes a _functional_ approach to
|
||||
software design using type traits, favouring composition over inheritance.
|
||||
|
||||
## License
|
||||
|
||||
Bolt itself is licensed under the GPL-3.0, because we put a lot of work in it
|
||||
and we want the open-source nature of Bolt to be preserved. However, code that
|
||||
is compiled using the Bolt compiler may be licensed under any license you want.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
Loading…
Reference in a new issue