Update copyright/license notices & README with build instructions. Made peon buildable via nimble build

This commit is contained in:
Mattia Giambirtone 2024-02-19 17:38:17 +01:00
parent eb8f7c0a51
commit b2efb1c9b5
Signed by: nocturn9x
GPG Key ID: 8270F9F467971E59
15 changed files with 48 additions and 17 deletions

View File

@ -5,14 +5,15 @@ Work in progress for Peon 0.2.x
## What changed
- Peon will no longer use a runtime GC. Instead, the memory model will use lifetimes with regions. Ownership/uniqueness (a la Rust),
might be added in the future, too
- Peon will no longer use a runtime GC. Instead, the memory model will use ~~lifetimes with regions~~-- actually, peon will use
[generational references](https://verdagon.dev/blog/generational-references) instead (they're way cooler IMHO)
- The compiler has been completely overhauled and no longer handles any code generation (in fact, currently there is no code generation
at all, just a parser and a type checker). This is to allow for true multi-backend support as well as to improve separation of concerns
because all the code generation stuff intertwined with the typechecking was driving me insane (please do send help)
## Build
Just run `nimble install`
Just run `nimble build`. It should grab all the dependencies for you and produce a `peon` binary in your current working directory
## Tests

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,4 +1,4 @@
# Copyright 2022 Mattia Giambirtone & All Contributors
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.

View File

@ -1,3 +1,17 @@
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import frontend/parsing/lexer

View File

@ -1,3 +1,21 @@
# Copyright 2024 Mattia Giambirtone & All Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## Peon's own custom test suite. Because it's much better to spend a month rolling your
## own solution rather than spending 2 hours learning testament. Yeah, I suffer from NIH
## syndrome, so?
import std/strformat
import std/strutils
@ -5,8 +23,6 @@ import frontend/parsing/lexer
import util/symbols
type
TestStatus* = enum
Init, Running, Success,