freenode/#lisp - IRC Chatlog
Search
20:02:55
whoman
hm whats all this code for anyway, pjb is it just libs of all your stuff for things ?
20:10:29
aeth
Heavy duty? Meanwhile, I don't even have a presentable file in my code. I'll have nice, clean code for the first 1/3 or 1/2 and then messy ugly hacks written years ago in the bottom half.
20:29:18
comborico1611
Is a property list considered a hash table? If not, what feature is it missing to make it so?
20:30:27
comborico1611
I suppose I never got that far into hashes, then. I was only aware of the keyword-value relationship, not anything other than that. Thank you.
20:30:47
aeth
whoman: ((foo = 1/3) or (foo = 1/2)) and ((1 - foo) = 1/2) => (foo = 1/2); no logical contradiction.
20:32:45
aeth
There are three things that roughly do the same thing. plist, alist, and hash-table. plists and alists are very similar (just different ways of handling the same concept in a list form), but hash-tables are a proper data structure of their own, not made up of conses like the list-based ones.
20:34:18
Shinmera
aeth: Colleen can do title lookup for URLs automatically, but I don't know if this channel would like that.
20:34:59
_death
doubt it's a good idea.. many of the links are clhs links where the title is also provided
20:35:34
aeth
alists are ((key-1 . value-1) (key-2 . value-2) ...) and plists are (:key-1 value-1 :key-2 value-2 ...) and hash tables use some unknown, implementation-specific data format that is probably more efficient for large number of items. How large that number of items is varies. It could be 5 or so. It could be dozens. It depends on the implementation.
20:36:33
aeth
It might also depend on the access pattern. Maybe alists or plists will always be more efficient than hash-tables' maphash if you're just iterating over them. You'd have to benchmark.
20:38:25
aeth
Shinmera: I agree with _death. Although it could still be useful just for places with ambiguous URLs like YouTube. There are lots of on-topic Lisp videos on YouTube that I wouldn't click on because I simply don't know what that video is.
21:47:42
borei
if i want to force compiler to use integer of fixed size will it be correct form - (integer 0 16) - im expecting that var will be unsigend integer with max 2^^16 -1 ?
21:50:31
dim
it's possible to provide one's own read table, with some tweaking, and implement the *quote* nil behaviour from before
22:03:42
dim
(or (find-symbol "MAKE-DEFAULT-CSV-READER" pkg) (find-symbol "MAKE-DEFAULT-CSV-DISPATCH-TABLE" pkg)) ; I don't much like having to do that
22:09:37
dim
so I need to either call (cl-csv:read-csv stream :table ...) or (cl-csv:read-csv stream :csv-reader ...), so now I have that test too
22:12:57
dim
because I don't know when current git is going to make it to QL, and I'm already bitten by the problem in my dev environment (which I could fix, but) and I don't want pgloader users to have to deal with anything like that
23:00:30
dim
maybe pgloader users are asking too much flexibility, but what used to work doesn't anymore... I think I'll sleep on that and see about reporting issues tomorrow
23:05:32
whoman
i guess emacs lisp has multimethods as well. https://github.com/VincentToups/emacs-utils/blob/master/multi-methods.el
23:12:50
krwq
is it possible to open file for :io, read/write some bytes and then truncate the rest of the file?
23:13:52
krwq
Xach: any way to resize the stream? I assume setting the file-position doesn't change the stream size as well, right?
23:15:56
krwq
pjb: the thing is when you implement fuse operations it removes flags truncate flag and instead calls open, truncate
23:18:18
pillton
From chls 25.1.4.1: "An integer indicating the year A.D. However, if this integer is between 0 and 99, the ``obvious'' year is used; more precisely, that year is assumed that is equal to the integer modulo 100 and within fifty years of the current year (inclusive backwards and exclusive forwards). Thus, in the year 1978, year 28 is 1928 but year 27 is 2027. (Functions that return time in this format always return a full year number.) "
23:20:53
krwq
actually i can just recreate the node but kinda annoying on both fuse and CL that they make me do such weird workarounds
0:46:55
borei
trying to create method with type specializer (simple-array single-float *) - compiler is not happy
0:48:17
stylewarning
borei: you can do non-portable and brittle things like specializing on your implementation's classes for those objects, like in SBCL, SB-KERNEL::SIMPLE-ARRAY-SINGLE-FLOAT
0:55:38
fouric
...would anyone happen to know if there exists a concise description of *how* Mezzano works, and if so, where it is?
0:55:55
fouric
I'm willing to read the code if necessary, but there's a *lot* of it, and if a shortcut exists, I would love to take it
1:11:34
aeth
You want specialization-store if you want dispatch on array types. https://github.com/markcox80/specialization-store/
1:12:19
froggey
my very concise description: it compiles everything to native code. the runtime is written in a way that doesn't require any extra support
1:25:14
Zhivago
If you do, it means that you're probably conflating semantics in some terrible fashion.
1:36:05
aeth
Zhivago: Depends. If you're doing linear algebra stuff you have (simple-array single-float (3))s that you might want to treat differently than other things.