Updated docs and README

This commit is contained in:
Mattia Giambirtone 2022-08-17 20:52:23 +02:00
parent 47a6f16664
commit 55966ba93c
2 changed files with 14 additions and 6 deletions

View File

@ -24,11 +24,17 @@ Peon is a simple, functional, async-first programming language with a focus on c
## Credits
- Araq, for creating the amazing language that is [Nim](https://nim-lang.org)
- Araq, for creating the amazing language that is [Nim](https://nim-lang.org) (as well as all of its contributors!)
- Guido Van Rossum, aka the chad who created [Python](https://python.org) and its awesome community and resources
- The Nim community and contributors, for making Nim what it is today
- Bob Nystrom, for his amazing [book](https://craftinginterpreters.com) that inspired me
and taught me how to actually make a programming language
and taught me how to actually make a programming language (kinda, I'm still very dumb)
- [Njsmith](https://vorpus.org/), for his awesome articles on structured concurrency
- All the amazing people in the [r/ProgrammingLanguages](https://reddit.com/r/ProgrammingLanguages) subreddit and its [Discord](https://discord.gg/tuFCPmB7Un) server
- [Art](https://git.nocturn9x.space/art) <3
- Everyone to listened (and still listens to) me ramble about compilers, programming languages and the likes (and for giving me ideas and testing peon!)
- ... More? (I'd thank the contributors but it's just me :P)
- Me! I guess
## Project State

View File

@ -33,11 +33,13 @@ to happen, we need:
- C/Nim FFI
- A package manager
Peon ~~steals~~ borrows many ideas from Python and Nim (the latter being the language peon itself is written in).
Peon ~~steals~~ borrows many ideas from Python, Nim (the the language peon itself is written in), C and many others.
## Peon by Example
Here follow a few examples of peon code to make it clear what the end product should look like
Here follow a few examples of peon code to make it clear what the end product should look like. Note that
not all examples represent working functionality and some of these examples might not be up to date either.
For somewhat updated tests, check the [tests](../tests/) directory.
### Variable declarations
@ -78,7 +80,7 @@ type Foo = object { # Can also be "ref object" for reference types (managed auto
### Operator overloading
```
operator `+`(a, b: Foo) {
operator `+`(a, b: Foo): Foo {
return Foo(fieldOne: a.fieldOne + b.fieldOne, fieldTwo: a.fieldTwo + b.fieldTwo);
}
@ -138,7 +140,7 @@ __before__ generics declarations, so only `fn foo*[T](a: T) {}` is the correct s
```
fn someF: int; # Semicolon, no body!
someF(); # This works!
print(someF()); # This works!
fn someF: int {
return 42;