Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/somecho/cl-fnl
Common Lisp bindings for FastNoiseLite
https://github.com/somecho/cl-fnl
bindings common-lisp fastnoiselite
Last synced: about 15 hours ago
JSON representation
Common Lisp bindings for FastNoiseLite
- Host: GitHub
- URL: https://github.com/somecho/cl-fnl
- Owner: somecho
- License: mit
- Created: 2025-01-19T15:37:30.000Z (12 days ago)
- Default Branch: main
- Last Pushed: 2025-01-19T15:58:40.000Z (12 days ago)
- Last Synced: 2025-01-19T16:38:31.908Z (12 days ago)
- Topics: bindings, common-lisp, fastnoiselite
- Language: Python
- Homepage:
- Size: 80.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cl-fnl
Common Lisp bindings for [FastNoiseLite](https://github.com/Auburn/FastNoiseLite) generated with [cl-autowrap](https://github.com/rpav/cl-autowrap).
## Usage
This project is as yet not on Quicklisp. Using these bindings require a few steps.
### Step 1 - Cloning Repository
Clone this repo to your a place where you like.
```sh
git clone https://github.com/somecho/cl-fnl
```### Step 2 - Loading cl-fnl
You can quickly add cl-fnl to your project like so:
```cl
(load "/path/to/cl-fnl.asd")
(ql:quickload :cl-fnl)
(asdf:load-system :cl-fnl) ;; if you do not use Quicklisp
```### Step 3 - Loading libFastNoiseLite
You need to have FastNoiseLite built on your system. As the C implementation FastNoiseLite is a header only library, you will need a `.c` file to compile it. A `.c` implementation file is provided at `./src/spec/FastNoiseLite.c`. Then you can build it (on Linux) with `gcc -fPIC -shared -o libFastNoiseLite.so FastNoiseLite.c`. Once the shared library is built, you can add this line to your project:
```cl
(cffi:load-foreign-library "/path/to/libFastNoiseLite.so")
```Make sure to adjust the extension name of the shared library to your specific platform.
### Examples
An example of how to use the bindings are found [here](./src/examples/usage.lisp).