summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAndrey Orst <andreyorst@gmail.com>2021-01-19 16:46:00 +0000
committerAndrey Orst <andreyorst@gmail.com>2021-01-19 16:46:00 +0000
commit270beed0505ef47159d94fb162ff4840958f3ce5 (patch)
tree6504ecb114419b0dd3055e509abd8b602586f614 /README.md
parenta2b08f721c28b3b56a802031bc35df6a68b219d8 (diff)
fix: Fennel 0.8.0 enhancements
Changelog: - fixed bug in try - reworked pretty printing for sets - handle cycles in sets - use new fennel.view format - reorganized library to make requiring it easier
Diffstat (limited to 'README.md')
-rw-r--r--README.md40
1 files changed, 40 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6b213a5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,40 @@
+# Fennel Cljlib
+
+[![img](https://gitlab.com/andreyorst/fennel-cljlib/badges/master/pipeline.svg)](https://gitlab.com/andreyorst/fennel-cljlib/-/commits/master)
+[![img](https://gitlab.com/andreyorst/fennel-cljlib/badges/master/coverage.svg)](https://gitlab.com/andreyorst/fennel-cljlib/-/commits/master)
+
+Experimental library for [Fennel](https://fennel-lang.org/) language, that adds many functions from [Clojure](https://clojure.org/)'s standard library.
+This is not a one to one port of Clojure `core`, because many Clojure functions require certain guarantees, like immutability and laziness, which are hard to efficiently implement on top of Lua.
+Some semantics like concurrency, or dynamic scope is not supported by Lua runtime at all.
+Therefore certain functions were altered to better suit the domain.
+
+## Installation
+
+Clone library into your project or put it as a git submodule:
+
+ $ git clone https://gitlab.com/andreyorst/fennel-cljlib cljlib
+
+Now you can require `:cljlib` from Fennel:
+
+``` clojure
+(local clj (require :cljlib))
+(import-macros cljm :cljlib.macros)
+```
+
+Optionally precompile the library to make it load slightly faster:
+
+ $ cd cljlib; make
+
+This will compile `init.fnl` into `init.lua`, so `require` should honor Lua files over Fennel files.
+It is also possible to use this library from Lua this way.
+
+## Documentation
+
+Documentation is auto-generated with [Fenneldoc](https://gitlab.com/andreyorst/fenneldoc) and can be found [here](https://gitlab.com/andreyorst/fennel-cljlib/-/tree/master/doc).
+
+# Contributing
+
+Please make sure you've read [contribution guidelines](https://gitlab.com/andreyorst/fennel-cljlib/-/tree/master/CONTRIBUTING.md).
+
+<!-- LocalWords: Lua submodule precompile cljlib
+ -->