freenode/#lisp - IRC Chatlog
Search
3:44:41
mfiano
matzy_: Probably not. GTK is a beast, and there isn't really anything "simple" about it, or really any GUI programming. Shinmera has created quite a few tools around Qt because of the fact, even though Qt's API is only slightly better.
3:46:46
mfiano
i would use something more native to CL, like McCLIM. Or I would use something hosted, like SDL2 with OpenGL, or a web frontend if it fits the problem.
3:48:10
matzy_
Really I just want to make a gui app for my personal use. Ive been wanting to learn cl for a long time, and i finally have a worthwhile personal project to do with whatever language i want
3:49:09
matzy_
i use linux though, and havent had to bring in qt yet (run a tiling wm instead of DE)
3:50:08
beach
matzy_: I would personally avoid learning Common Lisp by writing a GUI application because GUI applications are hard.
3:51:29
beach
matzy_: Debugging becomes a nightmare. You will have segmentation faults and other messy stuff that is typical in less safe languages.
3:51:43
mfiano
Start by learning Common Lisp. Not just using Common Lisp as a stepping stone to foreign libraries. You're bound to fall and get dirty
3:52:14
beach
matzy_: Plus, by mixing languages, you put yourself in a situation where you don't have any good debugging tools.
3:54:04
beach
matzy_: Now, McCLIM is a GUI toolkit that is (almost) entirely written in Common Lisp. But to use it, you need to know about generic functions and lots of other things that is not typical to learn in the beginning.
3:54:31
matzy_
it's pretty simple. I use arch + i3, so I just launch apps thrugh stuff like rofi. the problem comes when you cant remember an apps name (like, what was that pdf reader i instaled?). i wanted to build some GUI app organizer you could use to categorize and launch common gui apps. some small utility just for me
3:55:58
mfiano
rofi can do more than just act as a dmenu replacement. It is scriptable, calling out to any binary to do the heavy lifting
3:56:08
matzy_
ive just been looking for something to do in cl for awhile, because im not one to sit through endless tutorials. i like learning by building something
3:56:16
mfiano
So use Common Lisp to do the backend work. then you aren't writing a GUI...you are leveraging what you already use
3:59:51
matzy_
wow...so i could take a list of all sysem apps in cl, filter to get how i want, and then present in a cutom rofi window?
4:01:13
matzy_
this is an awesome idea. and really useful too, a perfec project to learn on. thanks a million for the idea man!
13:17:15
xificurC
(read (process-output (sb-ext:run-program "/bin/sh" '("-c" "export-lisp") :output :stream))) is there something inherently wrong with such code? It keeps hanging in some cases even though the internal program always finishes when running from the shell directly
13:20:50
flip214
but the process will block if the pipe is too small to hold all the output at once.
13:21:38
flip214
use UIOP:launch-program (or use :wait nil), read the stream, and then explicitly let it stop (== read the return code)
13:25:42
xificurC
flip214: ah, I tried :wait nil and then (read (process-output process)) (process-close process) but forgot to return the read value... That works. uiop:run-program worked too so I knew it must be something me doing wrong
14:33:50
HighMemoryDaemon
Caveman uses a syntax feature of Lisp I have not seen before. Ex. '@route GET "/"' - What is this syntax feature called?
14:35:11
random-nick
HighMemoryDaemon: reader macros work by telling the reader to call a function when encountering a certain character on the beginning of an expression
14:36:29
random-nick
the simplest reader macro is probably quote ('), which reads the following expression and returns it wrapped in a (quote ...) form
14:39:07
antoszka
You can use reader macros to quite trivially create, say, a literal syntax for hashes.
14:39:35
HighMemoryDaemon
That is very cool. Not saying that it is worth doing at all, but using these macros, couldn't you do something like re-make the entire Python or Ruby programming languages..within Lisp?
14:44:04
HighMemoryDaemon
Well, that's me. I wouldn't have a need to use it but it's just cool that it's possible.
14:45:57
specbot
Standard Macro Characters: http://www.lispworks.com/reference/HyperSpec/Body/02_d.htm
14:48:21
beach
shka: Hello. Very well thank you. I had some very good ideas today. How about yourself?