2 files changed, 114 insertions(+), 99 deletions(-)
A README.md
D README.org
A README.md => README.md +114 -0
@@ 0,0 1,114 @@
+Purely functional programming with lisp-syntax. Less infix, more parens!
+
+Visit <https://carth.pink/> for an overview of
+the language and more info.
+
+*WORK IN PROGRESS*
+==================
+
+Just as a little disclaimer: this project is in the very early stages of
+development, so there are no guarantees of stability etc.
+
+Features
+========
+
+- Scheme-inspired syntax and feel
+- Static, Hindley-Milner typechecking à la ML
+- Currying
+- Closures
+- Algebraic datatypes
+- LLVM backend
+
+Roadmap
+=======
+
+This is a high-level overview of what is planned for the language, and
+some of the points are just tentative. See [TODO.org](./TODO.org) for
+more extensive list of planned features and more detailed descriptions.
+
+- Typeclasses
+- Higher kinded types
+- Effect system
+- Linear types
+
+Building Carth
+==============
+
+The compiler is written in [Haskell](https://haskell.org) and uses the
+[Stack](https://www.haskellstack.org/) build system, while the
+core-library is written in [Rust](https://rust-lang.org). The external
+dependencies required are [LLVM](https://llvm.org/) version 9.
+
+To build the project and install the `carth` binary, the core library,
+and the standard library, simply run `make install`, which defaults to
+installing the binary in `~/.local/bin`, the core library in
+`~/.local/lib`, and the modules of the Carth standard library in
+`~/.carth/mod`.
+
+Building with Carth
+===================
+
+At compiler runtime, the dependencies are `libsigsegv`, `libdl`,
+`libpthread`, `libm`, and `libgc`, which are linked into the executables
+produced by Carth.
+
+Carth must further be able to find the core library and standard library
+modules, so you must have added the directory of the installed core
+library (default `~/.local/lib`) to your `LIBRARY_PATH` environment
+variable, the directory of the installed standard library (default
+`~/.carth/mod`) to your `CARTH_MODULE_PATH` environment variable.
+
+Running
+=======
+
+```bash
+# General help
+carth help
+carth -h
+carth --help
+
+# Help for a specific subcommand
+carth help c
+
+# Compile and run a program with default output filename
+carth c examples/fizzbuzz.carth
+./out
+
+# Run with the JIT compiler
+carth run examples/fizzbuzz.carth
+
+# Compile a program with a specific output filename
+carth c -o examples/fizzbuzz examples/fizzbuzz.carth
+./examples/fizzbuzz
+```
+
+License
+=======
+
+Carth is released under the AGPL license, version 3 or later. See
+[LICENSE](./LICENSE).
+
+Note that by default, all programs written in Carth will have to be
+distributed under the AGPLv3 license as well, as not just the compiler
+itself, but also the standard library you include and the core library
+you link with are AGPLv3 licensed. Technically you could write your own
+standard library and core library with some non-copyleft license to
+avoid this, but I hope you won't! ;)
+
+Notice
+------
+
+Copyright (C) 2020 Johan Johansson
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of the GNU Affero General Public License as published by
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
+General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see <https://www.gnu.org/licenses/>.
D README.org => README.org +0 -99
@@ 1,99 0,0 @@
-#+TITLE: The Carth programming language
-
-Purely functional programming with lisp-syntax. Less infix, more parens!
-
-Visit [[https://carth.jo.zone/][https://carth.pink/]] for an overview of the language and more info.
-
-* /WORK IN PROGRESS/
- Just as a little disclaimer: this project is in the very early
- stages of development, so there are no guarantees of stability etc.
-
-* Features
- - Scheme-inspired syntax and feel
- - Static, Hindley-Milner typechecking à la ML
- - Currying
- - Closures
- - Algebraic datatypes
- - LLVM backend
-
-* Roadmap
- This is a high-level overview of what is planned for the language, and
- some of the points are just tentative. See [[./TODO.org][TODO.org]] for more extensive
- list of planned features and more detailed descriptions.
-
- - Typeclasses
- - Higher kinded types
- - Effect system
- - Linear types
-
-* Building Carth
- The compiler is written in [[https://haskell.org][Haskell]] and uses the [[https://www.haskellstack.org/][Stack]] build system,
- while the core-library is written in [[https://rust-lang.org][Rust]]. The external dependencies
- required are [[https://llvm.org/][LLVM]] version 9.
-
- To build the project and install the ~carth~ binary, the core
- library, and the standard library, simply run ~make install~, which
- defaults to installing the binary in =~/.local/bin=, the core
- library in =~/.local/lib=, and the modules of the Carth standard
- library in =~/.carth/mod=.
-
-* Building with Carth
- At compiler runtime, the dependencies are ~libsigsegv~, ~libdl~,
- ~libpthread~, ~libm~, and ~libgc~, which are linked into the
- executables produced by Carth.
-
- Carth must further be able to find the core library and standard
- library modules, so you must have added the directory of the
- installed core library (default =~/.local/lib=) to your
- ~LIBRARY_PATH~ environment variable, the directory of the installed
- standard library (default =~/.carth/mod=) to your
- ~CARTH_MODULE_PATH~ environment variable.
-
-* Running
- #+BEGIN_EXAMPLE bash
- # General help
- carth help
- carth -h
- carth --help
-
- # Help for a specific subcommand
- carth help c
-
- # Compile and run a program with default output filename
- carth c examples/fizzbuzz.carth
- ./out
-
- # Run with the JIT compiler
- carth run examples/fizzbuzz.carth
-
- # Compile a program with a specific output filename
- carth c -o examples/fizzbuzz examples/fizzbuzz.carth
- ./examples/fizzbuzz
- #+END_EXAMPLE
-
-* License
- Carth is released under the AGPL license, version 3 or later. See
- [[./LICENSE][LICENSE]].
-
- Note that by default, all programs written in Carth will have to be
- distributed under the AGPLv3 license as well, as not just the
- compiler itself, but also the standard library you include and the
- core library you link with are AGPLv3 licensed. Technically you
- could write your own standard library and core library with some
- non-copyleft license to avoid this, but I hope you won't! ;)
-
-** Notice
- Copyright (C) 2020 Johan Johansson
-
- This program is free software: you can redistribute it and/or
- modify it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.