freenode/#lisp - IRC Chatlog
Search
8:48:24
bendersteed
beach: i'm a noob in common lisp, and solve the advent of code in it so i lurk if i have to ask anything
11:36:54
flip214
for hunchentoot's EASY-SSL-ACCEPTOR, can I get the CN from a client certificate? Or any other data from x509?
13:18:10
neirac
how do debug this? https://pastebin.com/RtfnxAmM it only works if I use let* at the second let s-expr
13:19:45
schweers
neirac: you could add a (break) expression to enter the debugger. But I don’t see any reason why the inner LET should be a LET* instead.
13:23:34
schweers
Does Common Lisp specify in which order the expressions of a let clause are evaluated?
13:25:16
neirac
schweers my common lisp book just says let* evaluates each expression sequentially not as let. schweers is there any formatter for common lisp, I'm just using emacs
13:31:12
xificurC
use tabs *and* spaces, to confuse even more people :) https://www.emacswiki.org/emacs/SmartTabs
13:49:31
neirac
slime is just stuck evaluating, slime-interrupt does not work. it should work with let/let* . it seems is a network issue
14:32:55
neirac
I'm trying to use mapcar on vectors but it requires a list. I thought mapcar used any sequence.
14:45:13
White__Flame
neirac: btw, as per its name, mapcar uses car which is a list operation, not a vector operation
14:49:35
_death
neirac: LET evaluates the init forms from left to right, like LET*.. only the binding is parallel
14:54:03
neirac
beach thanks!, I'm trying this but fails. (map #'(lambda (x y) (cons x y )) names prices) ; names and prices are vectors
14:58:11
neirac
White_Flame oh, I'm so sorry now it's working. I'll recheck my lisp book again I'm too rusty
15:10:26
ogamita
beach: loop cannot be used on sequences. Only either on list or on vectors. loop for in vs. loop for across
15:14:18
White__Flame
things like MAP say they'll error out if the result type is not a list or vector subtype
15:14:23
ogamita
You can do: (defgeneric iterator (seq) (:method ((seq list)) (lambda () (when seq (values (pop seq) t)))) (:method ((seq vector)) (let ((i -1)) (lambda () (when (< (incf i) (length seq)) (values (aref seq i) t)))))) (loop :with it := (iterator seq) :for (val gotit) := (multiple-value-list (funcall it)) :while gotit :do (process val))
15:15:22
ogamita
White__Flame: Good point! However, I guess language extensions will allow it, despite the covariant/contravariant problem.
15:16:01
ogamita
but (map type (lambda (val) (process val)) seq) is just simplier, no need to reinvent the wheel.
17:35:35
shka_
beach: sorry to disturb you, but some time ago you were referring to article with comparative analysis of different allocators
17:40:51
beach
He takes an entire domain and shows how decades of research by the theoreticians was all based on false premises, so all their results are wrong.
17:44:43
beach
Paul was (is?) a very smart man. I enjoyed several complete afternoons at the little pub right outside the Austin campus drinking beer from micro breweries and discussing language implementation strategies.
17:45:07
shka_
beach: pathogen as a concept was largely rejected by mainstream medicine by most of the modern era
17:46:39
beach
Then his work is very different, because people still say "but what about fragmentation" when I show them what I suggest, despite the fact that Paul showed that only programs that do nothing useful would fragment the memory.
17:50:47
beach
shka_: But you are right in some respects. Most medical doctors still prescribe cholesterol-lowering drugs despite the fact that it was shown decades ago that this is some very dangerous practice, and it is based on falsified research.
17:53:28
pfdietz
One of my inlaws had permanent muscle damage from statins. He has trouble climbing stairs now.