From 0cc80948231bdd272237f04b9a69167c7df09513 Mon Sep 17 00:00:00 2001 From: Lawrence Bethlenfalvy Date: Sun, 28 May 2023 23:18:52 +0100 Subject: [PATCH] Touchups - Added logo and social preview - added icon to docs --- Cargo.lock | 2 +- Cargo.toml | 2 +- README.md | 17 ++- icon.svg | 409 ++++++++++++++++++++++++++++++++++++++++++++-------- preview.svg | 121 ++++++++++++++++ src/lib.rs | 3 +- 6 files changed, 482 insertions(+), 72 deletions(-) create mode 100644 preview.svg diff --git a/Cargo.lock b/Cargo.lock index 7c27b24..5e33481 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -290,7 +290,7 @@ checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "orchidlang" -version = "0.2.1" +version = "0.2.2" dependencies = [ "chumsky", "clap", diff --git a/Cargo.toml b/Cargo.toml index 40cd8f9..9556126 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "orchidlang" -version = "0.2.1" +version = "0.2.2" edition = "2021" license = "GPL-3.0-or-later" repository = "https://github.com/lbfalvy/orchid" diff --git a/README.md b/README.md index 71eb825..16ebade 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,17 @@ -Orchid is an experimental lazy, pure functional programming language designed to be embeddable in a Rust application for scripting. +

+ logo + Orchid +

-# Usage +An experimental lazy, pure functional programming language designed to be embeddable in a Rust application for scripting. + +## Usage TODO I need to write a few articles explaining individual fragments of the language, and accurately document everything. Writing tutorials at this stage is not really worth it. -# Design +## Design The execution model is lambda calculus, with call by name and copy tracking to avoid repeating steps. This leads to the minimal number of necessary reduction steps. @@ -14,7 +19,7 @@ To make the syntax more intuitive, completely hygienic macros can be used which Namespaces are inspired by Rust modules and ES6. Every file and directory is implicitly a public module. Files can `export` names of constants or namespaces, all names in a substitution rule, or explicitly export some names. Names are implicitly created when they're referenced. `import` syntax is similar to Rust except with `(` parentheses `)` and no semicolons. -# Try it out +## Try it out The project uses the nighly rust toolchain. Go to one of the folders within `examples` and run @@ -24,10 +29,10 @@ cargo run --release you can try modifying the examples, but error reporting for the time being is pretty terrible. -# The name +## The name Orchids and mangrove trees form complex ecosystems; The flowers persuade the tree to grow in different ways than it normally would to provide better support for their vines, and kill fungi and other pests. The metaphor is about vines growing on a tree and moving branches into more optimal positions for other vines. -# Contribution +## Contribution All contributions are welcome. For the time being, use the issue tracker to discuss ideas. \ No newline at end of file diff --git a/icon.svg b/icon.svg index 3a3ad3e..e472c62 100644 --- a/icon.svg +++ b/icon.svg @@ -2,18 +2,19 @@ + id="defs256"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + width="404.24957" + height="254.149" + x="232.3" + y="4.9327882e-05" /> + ry="106.79913" + rx="49.211369" + cy="139.71352" + cx="474.84827" /> + cy="207.42218" + cx="474.84863" + r="50.243004" /> + width="404.24957" + height="254.149" + x="1411.4392" + y="1793.851" /> diff --git a/preview.svg b/preview.svg new file mode 100644 index 0000000..def81d8 --- /dev/null +++ b/preview.svg @@ -0,0 +1,121 @@ + + + +OrchidEmbeddable scripting language diff --git a/src/lib.rs b/src/lib.rs index 4719fa5..a704f6f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,6 @@ #![deny(missing_docs)] -#![doc(html_logo_url = "../logo.jpg")] +#![doc(html_logo_url = "https://raw.githubusercontent.com/lbfalvy/orchid/master/icon.svg")] +#![doc(html_favicon_url = "https://raw.githubusercontent.com/lbfalvy/orchid/master/icon.svg")] //! Orchid is a lazy, pure scripting language to be embedded in Rust //! applications. Check out the repo for examples and other links. pub mod foreign;