cffi
dense-numericals
Our great sponsors
cffi | dense-numericals | |
---|---|---|
16 | 2 | |
414 | 0 | |
1.7% | - | |
4.0 | 0.0 | |
about 1 month ago | almost 3 years ago | |
Common Lisp | Common Lisp | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cffi
-
A few newbie questions about lisp
When you want to do anything that breaks the nice bubble of your Lisp image, you might want to know a bit about your operating system's programming interface. This will come in handy if you ever need to wrap a library with CFFI. There are some things that are pretty inconvenient as a rule (like dealing with any protocol that uses network byte order), but if you stay within the bubble of your Lisp image, you won't really notice them.
-
*UPDATE* - CL-OBJC
I'm just posting the work that I have done over the last year or so on CL-Objc. I'm still blocked from better support (e.g., passing structs by value for frameworks like UIKit). I just wanted to post what I have done online for others interested in the work or motivated to collaborate on this.
-
Waiting on feedback - CFFI PR
Good morning ladies and gentlemen, I have been waiting on some feedback for PR in CFFI. This feature is blocking me from reviving CL-OBJC. Any help will be appreciated. Thank you in advance.
-
Anyone else able to kill threads in SBCL on M1 mac?
Is that actually https://github.com/cffi/cffi/commit/33970351e71bb5f12ba56fc40270089e948ae112 ? I.e. after loading cl+ssl. (Although Hunchentoot does not interrupt threads)
-
Programming the Raspberry Pi GPIO pins using Common Lisp?
Maybe access the pins using CFFI, https://github.com/cffi/cffi package and one the libraries mentioned here? https://www.bigmessowires.com/2018/05/26/raspberry-pi-gpio-programming-in-c/
- Why Functional Programming Should Be the Future of Software
-
Updating Quicklisp Packages
FTR, on my system QL fetches CFFI 0.23.0 and the fix/error I'm talking about is https://github.com/cffi/cffi/blob/master/src/libraries.lisp#L106 and seems to have been added iin this PR https://github.com/cffi/cffi/pull/173/commits/263b38f4f2600dbacde8f2b313620c35a563c6df so the fix should be in CFFI 0.24.0 released 24 March 2021.
-
CFFI and frameworks on OSX
FTR: this is the PR https://github.com/cffi/cffi/pull/173/commits/263b38f4f2600dbacde8f2b313620c35a563c6df
-
interested in learning lisp, (specifically for games, but also for everything else including tui and gui applications for linux. currently have next to no programming knowledge, can i get forwarded some resources and some tips on what exactly i should do? any videos i should watch?
C: Alternatively (more difficult) you could try to wrap the underlying C layers of either of those mentioned under Python with CFFI. The C-based game engine, Raylib, is also wrappable this way. I finished a super cool walking simulator in CL with that, but it is more tedious than the others since raylib is really barebones.
-
Common Lisp
I feel inspired to start Lisp after being disappointed with the "open" source scene of 2021. I'd rather pay LispWorks a yearly fee and be left alone than dealing with unbalanced people in the Python space. The free Lisp implementations also look somewhat isolated from the ideological wars.
However, a C interface is required. Is this one the recommended solution? Is it really portable?
https://common-lisp.net/project/cffi/
What is the speed compared to a Python C extension? Are implementation-specific C interfaces faster (I guess they are)?
Sorry for so many questions, but these can usually only be answered by people who have actually used the interface.
dense-numericals
-
polymorphic-functions - Possibly AOT dispatch on argument types with support for optional and keyword argument dispatch
An example where this has been put to use is at dense-numericals - so, we have the one-arg-fn as the basic polymorph that actually does the dispatching. But since the remaining polymorphs (sin, cos, tan, etc; the ones in the macrolet) are what I'll call parametric, by simply defining these for type t, these are defined for anything that the one-arg-fn is defined for, thus enabling both optimal compilation without dispatch overheads, as well as no compiled code repetition; without this, one would have required about 7 polymorphs for each of the 14 or so functions in this file.
What are some alternatives?
cl-autowrap - (c-include "file.h") => complete FFI wrapper
numericals - CFFI enabled SIMD powered simple-math numerical operations on arrays for Common Lisp [still experimental]
go-ffi - Go bindings to libffi
cl-parametric-types - (BETA) C++-style templates for Common Lisp
racket - The Racket repository
dense-arrays - Numpy like array object for common lisp
trial - A fully-fledged Common Lisp game engine
paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"
cl-cookbook - The Common Lisp Cookbook
go - The Go programming language
trivial-gamekit - Simple framework for making 2D games