libera/commonlisp - IRC Chatlog
Search
13:16:50
lisp123
You should try it out, it works well, although there are obviously some gotchas. (which even databases have)
13:16:51
pve
lisp123: great, can you tell me how you use it? Like, does it enable new kinds of workflows, for instance?
13:18:05
lisp123
I use it for persistent in memory data storage, _replacing_ databases. So I have a certain class. And I can create instances of that class and they automatically get added to the BKNR Data Store, which I can query because it automatically generates indexes for each slot (e.g. "class-with-slot-name")
13:19:31
lisp123
Depends on what you are after. BKNR will be very fast because its in-memory (however it will need to load everything on startup, so if you refresh your image often, then factor that in)
13:20:16
lisp123
However, its "searching" capabilities are basically limited to hash table looksup, again very fast, but not as detailed as an SQL database. Also SQL has all the other stuff going for it - normalisations etc, so really depends on your data structure
13:20:29
pve
lisp123: For something like AllegroCache I can immediately see the value it brings, but for an in-memory solution it's less clear to me how it should be used
13:22:03
lisp123
I'm no expert, but if you are primarily dealing with one set of class objects, e.g. books in a bookstore, or theorems in a maths book, or cars in a garage, then BKNR works well because its mapped directly to your class structure
13:22:47
lisp123
If you need to work across tables and link them with keys and that sort of stuff, then SQL is probably better
13:22:58
pve
lisp123: It's another object persistence solution which stores instances transparently on disk (unless I'm very mistaken)
13:24:07
lisp123
In general, you can't go wrong with SQLite or Postmodern. And maybe after looking at it from that perspective, consider BKNR or an alternative
13:26:21
lisp123
From Google...First Author on Statice...Weinreb, D.; Can't get much better than that
13:31:13
Xach
Hmm, flipping through it has alerted me to something I've never heard of before, "ORION" from MCC, in Common Lisp.
13:34:17
didi
Can I specialize a method's parameter to `unsigned-byte'? i.e., (defmethod foo ((non-negative-integer unsigned-byte) ...) ...)
18:24:43
danirukun[m]
<Arcsech> "`company-mode` worked out of the..." <- huh interesting, I keep tuning my init file, but it still does nothing - even if I manually run `company-complete`, it says "no completions"
18:25:30
danirukun[m]
* ```elisp... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/01d4e0f2befa21d55a79942129070e9b31b6b2d5)
18:47:05
danirukun[m]
ACTION uploaded an image: (149KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/zGENjDkHaUgWMfgnGJosoTEI/image.png >
21:10:41
kagevf
danirukun[m]: how about using M-/ ... it will cycle through possibilities without showing a different buffer
21:11:21
kagevf
danirukun[m]: also, with C-c TAB even if the other buffer appears, you can type some more letters and re-try to see if it finds what you want
22:24:41
danirukun[m]
I finally got it to work, basically it was an issue with me manually trying to init the slime company backend, which I accidentally thought of from an old GH issue
23:51:15
Psybur
Is there a proper way to treat #("aaa") as a 2D vector/array? I cant use (aref #("aaa") 0 0) here. But I can do (aref "aaa" 0) just fine.
23:53:28
hayley
That's not a 2D vector, that's a vector consisting of a string. (make-array '(1 3) :initial-contents '("abc") :element-type 'character) produces #2A((#\a #\b #\c)) though