A high-performance functional library for Fennel.

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

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