freenode/#lisp - IRC Chatlog
Search
18:04:51
attila_lendvai
either way, l-t used to have several operatons defined on those values that didn't make much sense.
18:05:32
attila_lendvai
i cleaned up much of l-t at one point, added some tests, but still left a largeish TODO
18:35:17
dbotton
If I have a project in quicklisp and also have same project checked out in say my ~/common-lisp directory - which one is used when I do (ql:quicklisp :xxx)
18:38:03
dbotton
Ok and is there a way to easily get the directory (in lisp) of the location a project was installed from quicklisp
18:38:33
phoe
(asdf:system-source-directory :alexandria) ;=> #P"/home/phoe/.roswell/lisp/quicklisp/dists/quicklisp/software/alexandria-20200925-git/"
18:39:19
pranavats
Quicklisp has `where-is-system` but I doubt if it's much different from asdf's system-source-directory.
19:07:32
dbotton
That fixed up all, so now can have clog find itself and set directories for tutorials correctly etc for next quicklisp release
19:48:40
attila_lendvai
Xach, good, then i've opened one. note that i'll probably convert more in a couple of days, so if it's not urgent for you, then i'll probably update that PR
21:03:29
Bike
it uses it as the size to the uh... some kind of special hash table implementation the package uses.
4:41:49
remby
well I was considering how to do that in at least 3 languages and I couldn't do it so easily
4:43:05
beach
remby: After you start using Common Lisp, there is typically fewer and fewer reasons to use the languages you knew before.
4:44:01
aeth
remby: in SBCL 2.0.11, SBCL controversially reduced its ARRAY-RANK-LIMIT from 65529 to 256.
4:45:44
aeth
Well, you'll probably run out of memory with a 65529D array, but they didn't try to optimize large dimensional arrays before so they didn't really care
4:47:28
aeth
In some implementations it could be e.g. MOST-POSITIVE-FIXNUM, which can be up to 4611686018427387903 on a 64-bit platform if a FIXNUM is represented as 63 bits (62 bits if treated as unsigned)
4:48:56
Bike
https://github.com/sbcl/sbcl/commit/b628f29e3b3651f8a3a83d28f17b9d514e997849 ah, here's the optimization. simpler than the last time i tried to look up the reason for an sbcl change
4:48:59
aeth
The larger it is, the more likely you'll want to use something sparse rather than just directly using array indices
4:49:39
Bike
you're not going to fit a 257 dimensional array with appreciable dimensions into a cache, i don't think
4:51:40
aeth
heh, 57896044618658097711785492504343953926634992332820282019728792003956564819968 isn't an index. So already that's too many.
4:53:18
aeth
This is a very practical array, though. (apply #'aref (make-array (loop :repeat 255 :collect 1) :initial-element 0) (loop :repeat 255 :collect 0)) ;-)
4:55:52
moon-child
even most apl implementations limit the rank of an array at 15. I can't imagine why anybody would want anything higher than maybe 7 or 8
4:56:58
aeth
the lowest one that "works" for me is (make-array (loop :repeat 61 :collect 2) :element-type 'bit :initial-element 0)
4:58:18
aeth
empirically, if sb-index is not increased, then SBCL could get away with using a cap of 63 and using the rest of the bits for something else
4:59:20
aeth
moon-child: then APL doesn't let you do this: (make-array (make-list 20 :initial-element 2) :element-type 'bit :initial-element 0)
5:25:41
ealfonso
is there a way to quickload some packages in a .lisp file before the reader complains about "package X does not exist"?
5:28:50
White_Flame
oh, the return value will be taken as source code, so: #.(not (ql:quickload ...)) or whatever to eat it