git @ Cat's Eye Technologies Argyle / b8814e0
Place under a 2-clause BSD license. Follow REUSE 3.2 convention. Chris Pressey 6 months ago
23 changed file(s) with 146 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 Copyright (c) 2024 Chris Pressey, Cat's Eye Technologies.
1 All rights reserved.
2
3 Redistribution and use in source and binary forms, with or without
4 modification, are permitted provided that the following conditions
5 are met:
6
7 1. Redistributions of source code must retain the above copyright
8 notice, this list of conditions and the following disclaimer.
9
10 2. Redistributions in binary form must reproduce the above copyright
11 notice, this list of conditions and the following disclaimer in
12 the documentation and/or other materials provided with the
13 distribution.
14
15 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19 COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
25 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 POSSIBILITY OF SUCH DAMAGE.
0 This is free and unencumbered software released into the public domain.
1
2 Anyone is free to copy, modify, publish, use, compile, sell, or
3 distribute this software, either in source code form or as a compiled
4 binary, for any purpose, commercial or non-commercial, and by any
5 means.
6
7 In jurisdictions that recognize copyright laws, the author or authors
8 of this software dedicate any and all copyright interest in the
9 software to the public domain. We make this dedication for the benefit
10 of the public at large and to the detriment of our heirs and
11 successors. We intend this dedication to be an overt act of
12 relinquishment in perpetuity of all present and future rights to this
13 software under copyright law.
14
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21 OTHER DEALINGS IN THE SOFTWARE.
22
23 For more information, please refer to <http://unlicense.org/>
00 Argyle
11 ======
2
3 <!--
4 Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
5 This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
6 SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
7 -->
28
39 **Argyle** is a Lisp-like programming language which is homoiconic at a
410 higher level than Lisp: an Argyle program is represented with an Abstract
0 # SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain.
1 # For more information, please refer to <https://unlicense.org/>
2 # SPDX-License-Identifier: Unlicense
3
4 version = 1
5
6 [[annotations]]
7 path = [".gitignore", "test.sh", "eg/**"]
8 precedence = "aggregate"
9 SPDX-FileCopyrightText = "Chris Pressey, the original author of this work, has dedicated it to the public domain."
10 SPDX-License-Identifier = "Unlicense"
00 Definition of Argyle
11 ====================
2
3 <!--
4 Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
5 This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
6 SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
7 -->
28
39 This document aims to serve as the definion of the Argyle programming language.
410
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.ABT
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.ABTDestructor (
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 module Language.Argyle.AST where
15
26 type Name = String
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.AST2ABT (
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 module Language.Argyle.ConsList where
15
26
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.ConsList2AST (parseConsListExpr) where
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.Eval (
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.Interpreter where
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15 {-# LANGUAGE OverloadedStrings #-}
26
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 module Language.Argyle.REPL where
15
26 import System.Exit
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 module Language.Argyle.Sexpr2ConsList where
15
26 import Data.Char (isSpace, isAlpha, isDigit)
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE OverloadedStrings #-}
15 module Language.Argyle.Tests.ABTTests where
26
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE OverloadedStrings #-}
15 module Language.Argyle.Tests.AST2ABTTests where
26
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE OverloadedStrings #-}
15 module Language.Argyle.Tests.ConsList2ASTTests where
26
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 module Language.Argyle.Tests.Runner where
15
26 import Test.HUnit (Counts(..), Test(..), (~?=), runTestTT)
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE OverloadedStrings #-}
15 module Language.Argyle.Tests.Sexpr2ConsListTests where
26
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15
26 module Language.Argyle.Value where
0 -- Copyright (c) 2024, Chris Pressey, Cat's Eye Technologies.
1 -- This file is distributed under a 2-clause BSD license. See LICENSES/ dir.
2 -- SPDX-License-Identifier: LicenseRef-BSD-2-Clause-X-Argyle
3
04 {-# LANGUAGE LambdaCase #-}
15 {-# LANGUAGE OverloadedStrings #-}
26