freenode/#lisp - IRC Chatlog
Search
20:35:08
drmeister
I cleared my caches, loaded ~/quicklisp/setup.lisp and then invoked (quicklisp-client:list-local-projects)
20:36:11
skidd0
but, i also did not see a new croatoan terminal thing. I'll look into that myself though. Thank you!
20:36:49
drmeister
Hmmm, it lists this... #P"/Users/meister/quicklisp/local-projects/cl-jupyter-widgets/nglview/nglview.asd"
20:36:55
rpg
drmeister: There's no listing for cl-jupyter-widgets.asd in that list of local projects, so that search is failing.
20:36:57
Xach
drmeister: in some cases the automagic scanning can't work, but (ql:register-local-projects) can. Are you able to load it after you do (ql:register-local-prjects)?
20:37:52
drmeister
Xach: I am - sorry to be a bit slow - I'm following some trains of my own thought first.
20:38:40
drmeister
I'm separating several asdf systems that were all in the same directory hierarchy. I think I better move out all of the directories that contain .asd files and then try again.
20:39:20
Xach
drmeister: you may of course do what you like, but it will take more time than if you try what I ask
20:39:43
skidd0
https://stackoverflow.com/questions/20276738/reading-a-character-without-requiring-the-enter-button-pressed
20:40:14
skidd0
and the simplest path forward, as indicated in a response to that SO Q, is to use a curses package
20:42:43
drmeister
But this is after I renamed cl-jupyter-widgets/nglview/nglview.asd to cl-jupyter-widgets/nglview/nglview.asd.backup
20:42:59
Xach
drmeister: yes, just like how if you throw salt over your shoulder you will not have bad luck
20:44:01
drmeister
What did (ql:register-local-projects) do? Did it save any state in the quicklisp directories?
20:44:09
Xach
drmeister: automagic scanning works by comparing top-level timestamps of an index file and the top-level directory. it does not detect "deep" changes.
20:44:27
Xach
drmeister: register-local-projects forces a full check of all subdirectories regarless of index file state.
20:44:55
drmeister
Ok. So if I run into trouble like this again - would you recommend invoking (ql:register-local-projects) ?
20:46:56
skidd0
okay i'm back again.. so I compiled the (defun test1 ...), it worked. but! when I (test1) in the repl, it's undefined
20:52:28
Inumedia
Hi, I'm trying to understand a two-line segment from example code that isn't quite making sense to me (coming from C-Style world), https://pastebin.com/cJR50ZpK could someone explain what the :key does and how the second line modifies b?
20:56:30
drmeister
Xach: What is your opinion on ~/quicklisp/local-projects/cl-jupyter-widgets.asd or ~/quicklisp/local-projects/src/cl-jupyter-widgets.asd where all of the source files are under ~/quicklisp/local-projects/src/* ?
21:05:47
skidd0
random9899: my issue was that calling (test1) wasn't in the package. calling (de.anvi.croatoan:test1) works
21:06:21
skidd0
the debugger says that TEST1 is not external, but I can [continue] use symbol anyway, and it'll work
21:08:55
skidd0
i'm running into an issue now that the SLIME repl doesn't like that the terminal/screen croaton makes uses colors. Iguess slime's repl's "terminal" in emacs doesn't use color
21:09:22
skidd0
but, running sbcl in it's own normal terminal then loading the test1 file and evaluating it works
21:12:27
random9899
skidd0: if it's external you can use <package>:test1 otherwise you have to use <package>::test1
21:16:03
MichaelRaskin
Well, every time you use setf/setq you might want to ask yourself if it should be setq or let/let*
21:18:47
MichaelRaskin
setf is a macro that can be taught to set more interesting locations, like (setf (elt l 3) 0)
21:19:29
_death
it's more like (set 'bla value), except that since lexical variables were introduced it's not
21:19:41
MichaelRaskin
And Common Lisp set… well, read the Hyperspec page of it. When you feel you are ready to read it once again, read it again. If you want to use it — well, maybe it does fit your use case.
21:21:18
MichaelRaskin
By the way, let*/let can create a dynamic-extent binding for a special variable
21:22:00
random9899
so what's the difference betweeen declare special and declare dynamic-extent in a let/let* then ?
21:23:09
random9899
wait, dynamic-extent in a lexical scope will make it's stack in-place rewritable ?
21:37:12
aeth
(setf (elt l 3) 0) is understating what setf can do. You can define your own setf in three ways. defun (setf foo), defsetf foo, and define-setf-expander. And defsetf is elaborate. You can take in multiple values, e.g. (setf (foo 42) (values 1 2 3 4))
21:42:03
aeth
I use it for array stuff. You can make fairly elaborate accessors (reader/writer pairs). The reader (the function) returns multiple values. The setf sets when given multiple values. So you can say (setf (array-row-of-4 foo 42) (array-of-4 bar)) and that will set (foo 42 i) where i is 0 through 3 with the first four elements of bar.
21:42:45
aeth
(It doesn't actually have to be a row of length 4 or an array of length 4... They'll just take/set the first four.)
21:50:04
aeth
Unfortunately, it doesn't seem to work with &rest so you can't have an arbitrary number of values
21:59:07
aeth
I'm not sure. Putting in a printf in the middle, it always is (#:new1 #:new2) no matter how many values are fed in. At least in SBCL. And in CCL (#:G25710 #:G25711)
23:53:48
ricky____
hello, all. can anyone tell me why this let form returns NIL? `(defparameter instruction-map (let (ht (make-hash-table)) ht))`
23:54:05
beardio
is it possible to sort a list '(a n b h l k e)...I know sort on a list of integer with the predicate #'<, I am trying to figure out how for characters
23:57:41
White_Flame
you defined 2 bindings, ht, and the local variable make-hash-table. You need another set of parens
23:58:34
White_Flame
there's no defined sort order for symbols, because they include a package by default, too
0:00:55
aeth
Both are ways to get nil bindings, it's just that the order you put them in made it look like you were doing a non-nil binding
2:33:27
aeth
Is there a way to detect if I'm no longer using any symbols from a package that I am importing from? Yes, there's no way to detect this perfectly because you can basically do whatever, but I'm sure I probably am importing from some packages unnecessarily.
2:34:15
aeth
e.g. if I only was using a package for some constants or deftypes that then got moved to another package
3:39:52
jlarocco
FWIW, in that conversation a few hours ago, (sort '(a d b f e c) #'string<) is legal because #'string< takes string designators, and symbols are string designators
3:41:47
mfiano
jibanes: We already discussed that, and that's not the problem we were referring to :)
4:34:41
edgar-rft
ealfonso, you can FMAKUNBOUND the LDB function in your Lisp code before you're dumping the image.
4:43:18
phoe
edgar-rft: I do not think he means #'LDB but rather he means SBCL's low level debugger.
6:14:24
phoe
Do I want to treat my RDBMS as plain old data store, and therefore have all logic on the Lisp side
6:15:43
phoe
I'll learn PL/PGSQL that way, and then end up writing the same in Lisp nonetheless because hell, I prefer to debug Lisp rather than to debug procedural SQL.
6:17:53
phoe
I was initially thinking about performance, but then remembered that premature optimization is the sqrt of all evil and it's easy to speculate about something that does not yet exist.
7:09:57
phoe
I need a Common Lisp utility that, given some kind of lambda list with annotated types, and a function's return value, will give me a valid DECLAIM FTYPE form.
7:11:14
phoe
Something like ((foo string) bar (baz (or symbol number))) (values t boolean) as input, and (function (string t (or symbol number)) (values t boolean)) as output.