Hi there,
I was playing along with a cl-charms tutorial so that I could put together a small program I have in mind, the design is pretty clear on paper and shouldn't be too hard to implement.
The template I came up with as a base to work from looks like this: git.sr.ht/~ilmu/sbcl-tala
Apparently I am now setting up async input handling with some threads.. and then I found croatoan, now I didn't yet change (which as you can see from the code will not be a big change :^) but I see that the project is under active development and looks like it will save me a lot of time! I am pretty committed to the lisp (and my project) so I'd like to be a good citizen and produce a tutorial on croatoan in parallel with the program itself.
This will not have a predictable timeline... but you can track my progress in that repo. Normally I'd lurk but I'm emailing the list just to be polite and say I appreciate the project (whether or not anything comes of my work).
Kind regards,
On Sat, Dec 25, 2021 at 08:08:55PM +0000, ilmu wrote:
Hi there,
Hi!
I was playing along with a cl-charms tutorial so that I could put together a small program I have in mind, the design is pretty clear on paper and shouldn't be too hard to implement.
Would you share with us the goal of your program?
The template I came up with as a base to work from looks like this: git.sr.ht/~ilmu/sbcl-tala
Apparently I am now setting up async input handling with some threads..
Be careful that ncurses and concurrent programming are difficult to integrate, i resorted using a big priority queue protected by lock/mutex to deal with multi-threading.
and then I found croatoan, now I didn't yet change (which as you can see from the code will not be a big change :^) but I see that the project is under active development
Yes, all merit goes to Mcparen!
and looks like it will save me a lot of time! I am pretty committed to the lisp (and my project) so I'd like to be a good citizen and produce a tutorial on croatoan in parallel with the program itself.
This would be great, in my opinion!
This will not have a predictable timeline... but you can track my progress in that repo. Normally I'd lurk but I'm emailing the list just to be polite and say I appreciate the project (whether or not anything comes of my work).
I can see there is a guix package definition too, nice! :)
Bye! C.
Would you share with us the goal of your program?
It's supposed to be an internet browser (in stark opposition to a web browser) and a metaprogramming language but there is very gradual path that leads there and I guess my first step is to write something like less
with the added feature of being able to highlight text.
I'm going to explain my roadmap at ELS2022 (if they accept my paper) and I'm currently trying to write it, I attached the pages I got so far to this email since they cover the less
part. I'll also attach a couple of papers that are motivating the design.
Ciao, ilmu
Hello ilmu,
thanks for your interest in the library, I hope it is useful so far, despite the rough edges. ;)
Apparently I am now setting up async input handling with some threads.. and then I found croatoan, now I didn't yet change (which as you can see from the code will not be a big change :^)
The croatoan library started a few years ago while cl-charms was abandoned by its initial author, so as an excercise to learn CFFI, I reimplemented the ncurses bindings. While using the low-level library, it became necessary to abstract away as much of the underlying C functions, pointers and memory handling as possible, so here we are.
but I see that the project is under active development and looks like it will save me a lot of time!
I hope so. It is active, but it will take a while to piece together a comprehensive object hierarchy.
I'd like to be a good citizen and produce a tutorial on croatoan in parallel with the program itself.
That would be great! Writing useful docs is on my long-term TODO list, but writing missing code seemed always more important.
Do not hesitate to ask if something is unclear or point out pieces that are inconsistent or missing functionality that should be there.
If it is any help, consider the documentation for guile-ncurses, which I took as a template when I started writing the docs.
https://www.gnu.org/software/guile-ncurses/manual/html_node/index.html
Normally I'd lurk but I'm emailing the list just to be polite and say I appreciate the project
Thanks! Your input will certainly contribute to making it more accessible to others.
Anton
croatoan-devel@common-lisp.net