A high-performance functional library for Fennel.

Kevin "The Nuclear" Bloom f2626b03d0 forgot to export it... %!s(int64=3) %!d(string=hai) anos
LICENSE c647da6931 uploaded license %!s(int64=4) %!d(string=hai) anos
Makefile 9c7b417252 updated to fennel 0.6 and fixed a typo %!s(int64=4) %!d(string=hai) anos
README.md adf77abd5e explained install instructions %!s(int64=4) %!d(string=hai) anos
iteration.fnl d128f86eeb forgot to return the `iteration` table %!s(int64=4) %!d(string=hai) anos
lispy-fennel.fnl 088d4adbac never mind... %!s(int64=4) %!d(string=hai) anos
list.fnl f2626b03d0 forgot to export it... %!s(int64=3) %!d(string=hai) anos
str.fnl 9c7b417252 updated to fennel 0.6 and fixed a typo %!s(int64=4) %!d(string=hai) anos
tbl.fnl a94018205c Merge branch 'master' of https://notabug.org/nuclearkev/lispy-fennel %!s(int64=4) %!d(string=hai) anos

README.md

Lispy-Fennel

Lispy-Fennel (LF) is a high performance functional library for Fennel with the goal of being simple, reliable, and easy-to-use.

Dependencies

  • Lua 5.3
  • Fennel
  • make

Build/Install

Build

To create the lispy-fennel.lua file, run:

make

Install

To copy the file into the stand Lua 5.3 directory, run:

make install

Modules

LF is broken up into modules that can be required in your Fennel program. Here is a brief explanation of each:

str

str is the string module. It is an addition to the standard Lua string library. It contains useful functions such as split, that allows you to split a string by based on another string; take, that returns a substring between the first character and whatever index you pass; and drop, that returns a substring from the cdr of whatever index you pass.

list

list is the list module. It contains functions that are specific for list and cannot be used on tables. It contains useful functions such as append, which takes 2 lists and puts them together; last, which returns the last element in the list; and reverse, that reverses the order of the list.

tbl

tbl is the table module. It contains function that are specific for tables and lists. This is a rather small module but has functions such as find, for checking if a value is in a table, and empty?, to check is a table is empty.

iteration

iteration is a module that contains all your favorite iterators that aren't found in Fennel. For example: map, filter, filter-map, and reduce.

License

Copyright © 2020 Kevin "The Nuclear" Bloom

Released under the MIT license