freenode/#lisp - IRC Chatlog
Search
10:14:21
scymtym
decent-username: VECTOR-PUSH-EXTEND can adjust the array for you, but you have to specify both, :adjustable t and :fill-pointer VALID-INDEX-OR-T when creating the array for that to work
10:19:39
scymtym
loke: i don't follow. decent-username asked why (make-array 4 :adjustable t) followed by VECTOR-PUSH-EXTEND didn't work
10:50:53
montxero
Any ideas on how to deal with lambdas inside datastructures like a-lists? I am running into problems using those. Check https://pastebin.com/UP3i4YzP out
10:52:04
Shinmera
what you have there is not a function, but a list of (function (lambda ...)), since it's within a quote.
10:55:26
Shinmera
it's more consistent to not use #' for lambda, because there are cases where you must write (lambda ..) and not #'(lambda ..)
10:55:59
decent-username
Yeah, but why would you writem them though? (lambda ...) is more readable than #'(lambda ...).
10:57:25
loke
decent-username: (LAMBDA () ...) has a macro-expansion that expands it to (FUNCTION (LAMBDA () ...)). Now, #'(LAMBDA () ...) is a reader-macro that expands into... (FUNCTION (LAMBDA () ...))
10:59:14
Shinmera
A already knew I was right because the printed representation of a function is not readable, so it would show as #<function ..>
10:59:23
decent-username
loke: Is there a case where it matters if the macro is expanded during read-time compared to compile time?
11:03:10
montxero
decent-username: not to worry, we both learned someting new... or rather relearned
11:03:12
decent-username
alright, guess there's some stuff goin on under the hood that I don't know.
11:03:53
Shinmera
d4ryus: Generally no, but usually the quasiquote will have to create a fresh structure at runtime anyway.
11:07:38
d4ryus
Shinmera: hmm, interesting. Why/When would it need to create a fresh structure? It is creating a list at compile time, isnt it?
11:09:59
Shinmera
In fact, if it didn't, that would be catastrophic for macros, since a second invocation of a macro would suddenly change the results of a previous invocation.
11:11:00
decent-username
evaluating (setf blub (let ((xs '((a . #'(λ (s) s))))) (assoc 'a xs))) gives me something with the following printed representation (A FUNCTION (Λ (S) S))
11:11:01
loke
decent-username: You can intentionally create a pathological case where it does matter.
11:12:24
loke
decent-username: You can play around with EVAL-WHEN, and you can create all sorts of weird behaviour.
11:13:02
decent-username
Then make I'll sure to stay the fuck away from that evil satanistic function.
11:13:54
d4ryus
Shinmera: huh, thats new to me, i thought quasiquote was expanded at macro expansion time. But yeah, one can use quasiquote to do ,@ at runtime, neat
11:18:48
decent-username
LOL! I've configured emacs to show a literal lambda whenever I write "lambda" and that seems to mess with slime.
11:22:21
montxero
decent-username: huh? I have that setting and it works a treat. No issues with slime here
11:26:46
montxero
In the past, I ran into some problems with a similar function to what you have. I belive I got it from emacswiki
11:26:48
decent-username
maybe It interprets the character not as a unicode character but something else.
13:14:46
skidd0
hello, i just quickloaded timer, and when i try to (timer:enable-timers) i get an error that the package does not exist.
13:16:34
skidd0
so i am very confused on how quicklisp can find and load the package, but my lisp image can't
13:17:23
skidd0
but after i got the issue that the package couldn't be found, i decided to do what the docs say
13:19:32
skidd0
Shinmera: in that doc, there's an example section where he calls (timer:enable-timers)
13:20:26
Bike
i'm not even sure what i just installed, the directory apparently isn't called timer either...? oh well
13:42:00
decent-username
I'm molding an emacs user into a common-lisp programmer. It'll take some time though
13:46:47
skidd0
dlowe: i have constantly espoused the grand benefits of learning lisp and using SLIME to my programming coworkers. all have expressed interest. none have actually pursued. they're too busy being employed with Blubs and too millenial to actually follow up on their claims. i think they just want me to shut up about lisp
13:48:47
jackdaniel
real computer scientists and software developers get things done disregarding the language without calling others unreal ,p
13:55:24
dlowe
You know, at one time all programmers were big nerds, but that hasn't been true for decades now. I don't think it's reasonable to expect everyone to have an obsession with a job skill.
14:15:58
p_l
(often called serverless these days, 1960s called and says CICS did it back then better and cheaper)
14:22:07
montxero
okay so there are several kinds of applications, I just want to be able to make an application that doesn't have to run only in the repl
14:23:09
jackdaniel
it is for creating console binaries with an interface --with-flags --and-options=42
14:23:57
jackdaniel
if you are interested in gui applications there is McCLIM (that may be combined with clon!) and ffi bindings like eql5, commonqt and a few others
14:24:19
dlowe
also, to find other library options, this page is useful: https://cliki.net/Current%20recommended%20libraries
14:24:45
jackdaniel
regarding daemonizing applications you'll probably have to write your service definitions yourself, but that's not surprise given only you know how your program will be invoked
14:38:56
p_l
don't "daemonize", run like a foreground process, use supervision feature in init system. done.
14:43:16
pjb
Pack Your Bags – Systemd Is Taking You to a New Home <https://hackaday.com/2019/10/16/pack-your-bags-systemd-is-taking-you-to-a-new-home/>