kons-9
McCLIM
Our great sponsors
kons-9 | McCLIM | |
---|---|---|
50 | 8 | |
549 | 574 | |
- | - | |
7.9 | 9.0 | |
6 months ago | about 1 year ago | |
Common Lisp | Common Lisp | |
MIT License | GNU General Public License v3.0 or later |
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.
kons-9
- OpenSCAD Survey - what programming language do you want to be added to app?
-
Lindenmayer Systems
Very cool. I must check this out.
I implemented some L-system features in my 3D Common Lisp system: https://github.com/kaveh808/kons-9
- Ask HN: Show me your half baked project
-
Profound Beliefs
In some small way I am revisiting the idea with https://github.com/kaveh808/kons-9
We'll see what comes of it.
- Kons-9: Common Lisp 3D Graphics Project
-
Symbolics Lisp Machines Graphics Demo (1990)
I began my 3D graphics development on a Symbolics workstation at the MIT Media Lab in the mid-80's. This was before the S-Graphics suite was released. [0]
The outstanding feature of the S-Graphics suite was the polygonal modeler which used a winged-edge structure that was far ahead of its time. It survives conceptually in the Wings3D system, which is a quite faithful copy of that modeler.
And of course you got the extensibility that came with the graphics system being built on Lisp.
But Symbolics was never, as far as I saw, a serious or popular contender in 3D production. Not only was the system expensive, but the hardware could not keep up with SGI's graphics abilities. Furthermore, the mass of CG developers at the time came from a C/Unix background, and rendering especially was so speed critical that C (and Fortran) resulted in faster systems.
Almost 40 years later, I have returned to the idea of developing a 3D system in Common Lisp [1]. We shall see where it leads.
[0] https://medium.com/@kaveh808/late-night-lisp-machine-hacking...
[1] https://github.com/kaveh808/kons-9
- Ask HN: Resources for Older Developers?
- Ask HN: What Are You Working On? (May 2023)
-
A good codebase to study as a beginner
If you are interested in 3D graphics, I have tried to keep my code simple and comprehensible: https://github.com/kaveh808/kons-9
-
Coding alone vs coding in a team
As a solo developer of my 3D system, my main focus has been to keep the enthusiasm and momentum going and to enjoy the development process, rather than worrying about how the code might not be optimal in various regards.
McCLIM
-
McCLIM respository migrates to Codeberg.
There's also Drei that comes with McClim as the editor substrate that can be included like a widget in any app. https://github.com/McCLIM/McCLIM/tree/master/Documentation/Drei
-
Looking for good common lisp projects on github to read?
0 https://github.com/McCLIM/McCLIM
-
Lisp in Vim with Slimv or Vlime (2019)
I've been really happy with slimv. There are a few things missing that I'd like to have were I to find myself working on a really large program with a bunch of other programmers, though I suspect the commercial Lisps offer a good approximation. Besides the trivial things like more auto-refactoring tools (thanks to cross-referencing I can at least get a list of all the locations something is used and jump to edit them one by one if necessary) and project organization tools (I've started using @export from https://github.com/m2ym/cl-annot rather than going back to my package definition to keep adding symbols to the export list) I'd like a better line debugger. It hasn't been a hurdle so far because what's there is good enough (as the article describes, when you hit the debugger you get your stack, you can inspect stuff in the frame, you can recompile and then restart computation from a frame instead of aborting the whole thing). If your declaim settings are right you can also step your code and so on within vim but it's kind of clunky, I'd rather launch a dedicated GUI that's at least as nice as the old Insight GDB wrapper. When inspecting complex data I've started to use the McCLIM app Clouseau: https://github.com/McCLIM/McCLIM/tree/master/Apps/Clouseau I bound ,ci to call (clouseau:inspect) on the symbol and that launches a nice enough GUI to explore it. (Repeated periodically in a thread also serves as a poor man's variable watcher...) A handful of other vim plugins make the full experience even better (even when not writing lisp).
It's been pretty amusing watching the LSP landscape evolve for other languages, it's almost like swank for CL. But it's rather nice to have the server be embedded in the process itself. On my personal web server I have a compiled lisp binary running, but I shipped it with swank listening on a local port, so if I want to change something without rebuilding and redeploying I can just SSH in while forwarding port 4005, connect to the lisp image with my local editor, and recompile functions or whatever. At my last job I also inserted ABCL into the huge Java app on my dev box and had it start a swank server, letting me connect with vim and mess around -- it was mostly useful for quickly launching system tests which otherwise had a dedicated clunky browser UI, and writing some code to quickly extract or insert data. I had some designs to write some webdriver tests in Lisp and demo how the debugging experience when one fails can be much better (not having to restart the whole flow because a UI element changed its class name or whatever and threw an exception) so as to introduce the language to the broader company officially, but never got around to it before I left.
-
Learn Common Lisp by Example: GTK GUI with SBCL
Currently, the only officially supported backend renders directly to an X server. Until another backend matures that either wraps native controls or draws more modern looking controls using OpenGL, I don't consider it production ready. It might have a really nifty API, but it comes down to would I want to put a GUI made with McClim in front of someone who paid for the app I created.
-
Lisp Implementations similiar to old Lisp Machines?
But I don't want to have a net negative contribution to this thread, so I'd also recommend looking at some of the McCLIM applications, including the inspector Clouseau, editor Climacs and the CLIM interactor, which are very much Lisp machine-inspired.
-
McCLIM — A powerful GUI toolkit for Common Lisp
Regarding HiDPI there are some ideas, but right now they are not implemented (see i.e https://github.com/McCLIM/McCLIM/issues/827). I'm writing a vt100 terminal backend to reveal some underlying assumptions about the pixel size.
Thank you for working on McCLIM back then! If you feel motivated to join development efforts please don't hesitate joining #clim @ freenode :)
-
Help me to find a language to describe user interfaces
Remembered this post when github suggested me this project: https://github.com/McCLIM/McCLIM
What are some alternatives?
clog - CLOG - The Common Lisp Omnificent GUI
ChrysaLisp - Parallel OS, with GUI, Terminal, OO Assembler, Class libraries, C-Script compiler, Lisp interpreter and more...
quicklisp-projects - Metadata for projects tracked by Quicklisp.
nyxt - Nyxt - the hacker's browser.
clozure-cl - Unofficial mirror of Clozure CL
Smalltalk - By the Bluebook implementation of Smalltalk-80
weird - Generative art in Common Lisp
Smalltalk - By the Bluebook implementation of Smalltalk-80
bodge-nuklear - Thin wrapper over Nuklear for Common Lisp
cl-annot - Python-like Annotation Syntax for Common Lisp
nature - 🍀 The Nature Programming Language, may you be able to experience the joy of programming.
pgloader - Migrate to PostgreSQL in a single command!