libera/#commonlisp - IRC Chatlog
Search
10:24:51
beach
I recommend McCLIM for GUI applications, but some people say it doesn't look "modern" enough.
10:25:13
beach
The advantage of McCLIM is that it is written entirely in Common Lisp, so no need to do foreign functions.
10:28:48
contrapunctus
https://jabjab.de:5443/upload/a75f5b15713067434614f6d0c986f536c301cf7e/qKGVUquXiMuRW9zhMi2BLgan8QxSzGOcPDb9nHnT/XOcSmaZYTgGpfGsdZ_fVDg.mp4
10:30:40
contrapunctus
Guest94: you can check out the McCLIM website for screenshots of mature applications made in it.
10:33:14
beach
Guest94: I would not start with a GUI application then. Those are tricky in any language.
10:36:12
beach
That might require some GUI library, but I don't recommend learning an language by starting with a complex application, especially if you are new to programming. Having said that, I know that some people do it that way.
11:14:03
beach
Yesterday I hinted that I was going to avoid lengthy discussions in the channel on topics such as Common Lisp style or how to organize a system. I said that I would perhaps instead create some web pages that summarize how I prefer to do things, and then not discuss the contents further. Here: http://metamodular.com/IRC/modules.html is an example of the kind of page I had in mind.
11:18:48
beach
One lengthy discussion on one topic can easily take longer than it takes to create such a page, so I am hoping to not only avoid the frustration of some of these discussions, but also to simply save time.
11:19:48
beach
I should have said "avoid feeling that I had to participate in lengthy discussion...".
11:21:19
_death
I assumed, like you mention, it's to "avoid the frustration".. by not participating when a conflicting view is shown, the outcome may be analogous to "sulking in a corner"
11:23:37
contrapunctus
beach: nice page. A web post certainly has the advantage that you're able to communicate your preferences clearly (rather than split over a long chat), and it's easier to discover and cite than a chat log (despite the very handy log service on tymoon.eu).
11:24:01
_death
one advantage could be that you can describe potential rebuttals and resolve them in your long form text
11:34:47
jackdaniel
beach: re linked example (cluffer), it seems that it names the system with a keyword :cluffer - asdf internally downcases it and stores system names as strings (not much unlike defpackage), so perhaps #:cluffer or "cluffer" would be cleaner
11:41:29
contrapunctus
Additionally, I was splitting up source files into multiple smaller files the other day, and noticed that the existing resources on the subject of writing system definitions are a bit lacking (I checked cl-cookbook, the ASDF manual, and the "writing libraries" section on lisp-lang.org). beach's post might fill that gap to an extent, although I intend to contribute some improvements to cl-cookbook
11:42:25
jackdaniel
speaking of asdf system names, I think that using a string is better, because usually programmers will expect that strings designated by symbols will be upcased (and that is not the case in asdf, so it goes against expectations)
11:44:21
jackdaniel
I'm sure that your page will grow; I'm mostly saying it as a general remark for others
11:51:53
atgreen
Not to sound ungrateful and demanding, but I just noticed that this is the longest we've been waiting for a quicklisp update in about 5 years. Do any of you have any insight into why? Or is there's anything we can do to help move things along? Or is the CL community just slowing down.. so not much new content?
11:53:29
jackdaniel
you may either open it in a tmux or screen session, or write a service/unit/rc file to start it as a daemon
11:54:01
contrapunctus
lisp123: do you mean how to connect to a running remote SBCL process from SLIME?
12:06:40
atgreen
libffi is like quicklisp in one way... if I stopped releasing it, I'm not sure who would pick it up...
12:08:03
jackdaniel
btw if you are interested in frequent updates, there is a separate quicklisp distribution "ultralisp" that takes packages without any qa directly from repositories
12:09:03
jackdaniel
(https://ultralisp.org/ - it uses the same software quicklisp does but is not as resilent to regressions)
12:39:14
Nilby
jackdaniel: i wonder why they wouldn't use the old cheat of using the clos/loop/format/pprint in lower lisp
12:41:33
jackdaniel
if they were all macros that expand to a language subset then it would probably work, but that's not true; clos requires runtime functionality, the same applies to loop, format and pprint
12:42:06
jackdaniel
if you just use sbcl to bootstrap, then you can't rip these runtime parts and use them after the implementation is bootstrapped (but you may use it during bootstrapping of course)
12:47:42
Nilby
the initial version of all of these were written in pre-CL lisp, with any specific runtime support. of course that's not the best way to do it.
12:57:48
Nilby
this one line help me understand what they're going for in LCL: (defun eval (forms) (lua (lua-call "load" (compile-to-lua forms)) "()"))
13:26:38
White_Flame
hayley: yes, that's why programming tools at that level really requires some real measure of AI, because any good communication with humans requires nearly thinking like a human in order to generate a clear, appropriate, and understandable representation about the user-level semantics that the code is implementing
14:10:04
Bike
is there a way with CFFI's defbitfield/grovel bitfield to handle multiple-bit fields? a "flag" takes up two bits and has four distinct states in my case.
14:10:19
Bike
obviously i could break it into multiple binary fields, but then it doesn't match the C API
14:22:10
_death
like (:foo #x1100) .. cffi:foreign-bitfield-value may work as expected, though cffi:foreign-bitfield-symbols would not.. basically there's no support for such a thing afaik
14:24:11
Bike
yitzi: more or less. the C is like { LLVMDIFlagPrivate=1, LLVMDIFlagProtected=2, LLVMDIFlagPublic=3, LLVMDIFlagFwdDecl = 1 << 2, LLVMDIFlagAppleBlock = 1 << 3, etc } with the etc being more actual flags
14:33:11
yitzi
Bike: I think you could use defcenum and defbitfield separately then combine with translate-to-foreign/translation-from-foreign
16:47:11
mfiano
Bike: I'm not sure if this helps. Maybe I misinterpretted your question: https://git.mfiano.net/mfiano/freebsd-ffi/src/branch/main/src/ffi-enums.lisp#L5
17:45:12
Bike
apparently i need to brush up on cffi use generally, because for some reason the grovel bitfield is defining every field as -1
17:47:03
Bike
is there a way to look at the temporary c and lisp files the groveler makes? or should i look for a problem elsewhere?
18:35:30
utis
i'm getting an error from charms when i've closed a tmux window and reconnected: (cl-charms::%cehck-status -1 :error-message "Error in curses call from function cl-charms/low-level:mvwaddstr (received err).") does anyone happen to know what the problem is?
18:36:33
utis
(i.e. i've closed the terminal window and expected that that shouldn't affect the tmux pane)