py4cl2
trial
py4cl2 | trial | |
---|---|---|
11 | 10 | |
40 | 847 | |
- | 3.8% | |
5.6 | 9.9 | |
16 days ago | 6 days ago | |
Common Lisp | Common Lisp | |
GNU General Public License v3.0 or later | zlib 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.
py4cl2
-
An Idea for Piggybacking Python (language) ecosystem
I... recently got that working: https://github.com/digikar99/py4cl2/tree/master/cffi - Yes, CFFI! Yes, passing CL array data by reference!
-
Plotting
I ended up using a fair bit of matplotlib through college and with colleagues. I too don't want to use python, but I also don't like throwing away its libraries, and I'm too lazy to invest in other* plotting ecosystems. In effect, I use up using matplotlib through py4cl/2.
-
numericals - Performance of NumPy with the goodness of Common Lisp
Note that it is not my aim to replace the python ecosystem; I think that is far too lofy a goal to be of any good. My original intention was to interoperate with python through py4cl/2 or the likes, but felt that one needs a Common Lisp library for "small" operations, while "large" operations can be offloaded to python libraries through py4cl/2.
-
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?
Python: Blender and Panda3D (game engine used for Disney's Toontown way back when) are both scriptable with Python. I've been able to successfully call Panda from Py4CL2 (thanks digikar for the help with that), but I have not tried with Blender yet. I think it's doable.
-
Rewrite Your Scripts In LISP - with Roswell
While you are at it I may as well mention https://github.com/digikar99/py4cl2
-
Good Lisp libraries for math
If performance is absolutely not a concern, then third option is using python libraries through py4cl/2. To put it differently, if calling python from lisp is not the bottleneck, then this is a feasible option.
- Using Lisp as a Dynamic Library
-
What are the advantages of Hy/Hissp over python bindings for CL/Clojure?
py4cl2 (not py4cl!) author here. From the v2.9.0 docs:
-
Design patterns for Lisp interop with other languages?
py4cl and py4cl2 represent a fairly pragmatic example of method 1, using an OS child process to communicate back and forth with your python code. Python is fairly popular and well-enabled with libraries, so you can delegate things to python that leverage those libraries.
-
Image classification in CL? Help with starting point
If you can structure your code so that data de/serialization is not a bottleneck, then you could access the python libraries using py4cl/2.
trial
- Trial Game Engine Issue
-
Submissions to Spring Lisp Game Jam 2023
Little Spark - made with Trial
- Show HN: Kandria, an action RPG made in Common Lisp is now out
-
Kandria, an action RPG written in Common Lisp releases in a week on January 11!
The engine is called Trial. https://github.com/shirakumo/trial.
- Lisp-Stick on a Python
-
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?
I don't know what the situation is like for 3D game programming in CL. Shinmera recently kickstarted a game but it's 2D I think and I don't know if his engine (https://github.com/Shirakumo/trial) does 3D. But regardless of what you're using, going into learning how to program while also trying to learn how to use the game engines available in the CL world will probably be a recipe for getting overwhelmed and discouraged. I'd recommend going through the Steve Losh post first and reading A Gentle Introduction to Symbolic Computation and/or Practical Common Lisp to get some solid general familiarity with using CL. Both are available online for free. You can also browse through the Cookbook: https://lispcookbook.github.io/cl-cookbook/
-
Common lisp game development libraries
For graphics there's a lot of different variants and options. I use Trial, but that doesn't have any docs yet, I'm afraid.
- Trial: A fully-fledged Common Lisp game engine
-
Our Lisp game, Eternia: Pet Whisperer is now out on Steam!
Kandria and Eternia both are built on top of the game engine Trial, which I and a few others at Shirakumo have been working on for some years now. Trial itself makes use of a bunch of lower level libraries like cl-opengl, GLFW, pngload, harmony, etc. but a huge amount of the codebase was written by me. If you're interested in its development, I recommend hopping by the #shirakumo channel on the Freenode IRC network. I'd be happy to answer questions there!
-
Idiomatic way to handle non GC objects, i.e. OpenGL textures ?
A good way to do it is to keep a staging area of sorts that keeps track of the manually allocated objects and their state. When you allocate you batch all objects to allocate together and then execute the load in one go, updating the records in the staging area. Then, when you're ready to switch to a different scene or whatever, you diff the staging area against the current set of objects that need to be live and deallocate everything else in one go.
What are some alternatives?
py4cl - Call python from Common Lisp
raylib - A simple and easy-to-use library to enjoy videogames programming
cl-cuda - Cl-cuda is a library to use NVIDIA CUDA in Common Lisp programs.
ulubis - A Wayland compositor written in Common Lisp
numcl - Numpy clone in Common Lisp
Panda3D - Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
farolero - Thread-safe Common Lisp style conditions and restarts for Clojure(Script) and Babashka.
trivial-gamekit - Simple framework for making 2D games
vega-lite - A concise grammar of interactive graphics, built on Vega.
cffi - The Common Foreign Function Interface
Petalisp - Elegant High Performance Computing
magnum - Lightweight and modular C++11 graphics middleware for games and data visualization