diff --git a/README.md b/README.md index 9120e58..0739a02 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ -# Reid - +# reid logo - [What?](#what) - [Why?](#why) - [Who?](#who) @@ -16,15 +15,15 @@ Reid is a letter in the old nordic alphabet that means "ride" or "journey", so t ## Why? The original version of Reid was written in TypeScript for a NodeJS server for a dungeons and dragons system client. The new server is being written in Rust, so the language must be re-written. To make the process easier, here is the specifications (and technically the documentation) for the re-visited version of the language. To the same repository I will be creating the actual Rust implementation of this language too. -The original version of Reid (originally called Omega) can be viewed [here](https://github.com/excitedneon/hero.neon.moe/blob/master/ts/omegaParser.ts) +The original version of Reid (originally called Omega) can be viewed [here][omega_orig] ## Who? -Reid is created by [Teascade](https://teasca.de), original version being written with TypeScript in 2016, and new specification and Rust implementation written in 2017. +Reid is created by [Teascade][teascade], original version being written with TypeScript in 2016, and new specification and Rust implementation written in 2017. ## License? Currently Reid has no license, since it is only a specification, but most likely it will be licensed under MIT later. -The Reid specification is simply [CC-BY-SA](http://creativecommons.org/licenses/by-sa/4.0/): +The Reid specification is simply [CC-BY-SA][ccbysa]: Creative Commons License @@ -58,7 +57,7 @@ for (let i = 0; i < max; i++) { ``` ## General Syntax -The general syntax of Reid is fairly similar to that of [TypeScript](https://www.typescriptlang.org/) or [Rust](https://www.rust-lang.org/). The syntax is a mix of [keywords](#keywords) and [expressions](#expressions) displayed such as in the [examples](#examples). +The general syntax of Reid is fairly similar to that of [TypeScript][typescript] or [Rust][rust]. The syntax is a mix of [keywords](#keywords) and [expressions](#expressions) displayed such as in the [examples](#examples). ## Expressions Expressions are a set of [values](#values), [function calls](#function-calls) and [operators](#operators) that Reid interprets and returns a new [value](#values) out of. @@ -236,7 +235,7 @@ This also causes a runtime exception, as can be deducted. Trying to assign a number larger or smaller than the byte-limit of the type allows (ie. larger than `2147483647` for `i32` or smaller than `-2147483647`), will cause a runtime exception. ## Function Overloading -[Function overloading](https://en.wikipedia.org/wiki/Function_overloading) in Reid is possible, meaning you can create functions that have the same name as other already existing functions, but the parameter count and/or parameter types must differ. +[Function overloading][overloading] in Reid is possible, meaning you can create functions that have the same name as other already existing functions, but the parameter count and/or parameter types must differ. ie. you could have two functions called `test`, both of which require a parameter `param`, but the other function's `param` is a string type, and the other is `i32`, like so: ``` def test(param: string) { @@ -533,3 +532,12 @@ Functions like [`random() -> f32`](#random-f32), except it returns a more accura #### `time_now64() -> i64` Returns the current time in nanoseconds since January 1st 1970. + +[teascade]: https://teasca.de +[omega_orig]: https://github.com/excitedneon/hero.neon.moe/blob/master/ts/omegaParser.ts +[overloading]: https://en.wikipedia.org/wiki/Function_overloading +[typescript]: https://www.typescriptlang.org/ +[rust]: https://www.rust-lang.org/ +[reid_logo]: https://teasca.de/external_img/reid_logo.png +[ccbysa]: http://creativecommons.org/licenses/by-sa/4.0/ +[mit]: https://tldrlegal.com/license/mit-license \ No newline at end of file