diff --git a/README.md b/README.md index 99385a6..df57afc 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docs/manual.md b/docs/manual.md index 6bfc616..70fa1d4 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -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;