freenode/#lisp - IRC Chatlog
Search
17:12:54
_death
nij: in .emacs I set slime-lisp-implementations to a list that contains an entry like (sbcl ("sbcl" "--dynamic-space-size" "8GB" "--core" "/home/death/lisp/core/my-core")) (and set slime-default-lisp to sbcl)
17:14:59
_death
nij: I also have a mysbcl shell script, basically sbcl --dynamic-space-size 2GB --core ~/lisp/core/my-core "$@"
17:17:37
_death
mfiano: yeah.. I just multiplied it every time, though I think I did use 16GB several times
17:17:57
mfiano
I typically keep it at half of my available memory, so 32 on most machines. It helps the GC a bit, and I typically work with decoding gigabyte or larger (on disk, so even more memory) image data
17:22:58
_death
nij: oh, and I also have a rebuild-core script.. that deletes the sbcl fasls from .cache and .slime and builds the core
17:26:08
phoe
#clschool also exists for when you have questions about the basics and/or #lisp is busy with other chat
17:32:35
heisig
Speaking of helping others - are the tricks that have been posted here over the last few days (git hooks for touching ASD files, core files, elisp tricks, ...) written down somewhere?
17:38:14
attila_lendvai
Xach, you really want me to list all the changes in a github issue, as opposed to opening a PR?!
17:41:45
attila_lendvai
ACTION remembers that he has already opened a PR to fix tagged-git, and had practically this discussion some 5 years ago
17:42:02
attila_lendvai
phoe, yes, i have converted 10+ repos from darcs to git, and put them on github
17:44:00
nij
In this example: (local-time:now) @2019-11-13T20:02:13.529541+01:00, the timezone is shown. But no time zone shows for me on my machine. Am I doing something wrong? https://lispcookbook.github.io/cl-cookbook/dates_and_times.html#the-local-time-library
17:46:49
attila_lendvai
nij, local-time was rather confused about the concept of timezones. it may have been cleaned up... (timestamps don't have a timezon. a timezone is only relevant when reading and printing/presenting timestamps for the external world)
17:51:12
attila_lendvai
nij, note that it's impolite to ask questions from humans that can be trivially googled
17:56:08
attila_lendvai
nij, no worries! just learn the lesson, and help participating in a more efficient society for the rest of your life... :)
17:57:31
attila_lendvai
i don't remember what's in the Naggum article anymore, but the timestamp representation of local-time contained a timezone, which is rather confused
17:58:12
_death
attila_lendvai: it needs to include a timezone, because it represents a _local_ time
17:59:08
_death
but I think it's confused because it should include an actual reference to a timezone, rather than the timezone shift that happens to be mandated at that instant
18:00:45
attila_lendvai
_death, the timezone is the property of the presentation context, not that of a timestamp. it's only relevant when the timestamp is actaully presented to a human somewhere.
18:01:51
_death
attila_lendvai: sure, for some uses that's reasonable.. for others, you may want to include it as provenance information
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)