freenode/#sicl - IRC Chatlog
Search
17:13:15
Bike
i'm implementing the sequence extension and looking for examples of libraries that define their own types of sequence. the paper mentions flexichain as an example.
17:13:44
Bike
but it looks like flexichains aren't used with any of the derived sequence operators like map or find.
17:16:26
beach
Yes, this thing was written before the sequence extensions existed, and before I had improved my programming style. :)
17:36:24
Bike
but if you're not using the CL sequence functions, the etexnsion isn't that interesting. it just lets you name your accessors length and elt, which isn't nothing, but it's not as useful
18:48:21
shka_
https://github.com/sirherrbatka/cl-data-structures/blob/01e78b634bef95816ddda6a388c0ce3c036c9372/src/sequences/rrb/tests.lisp#L74
19:11:35
shka_
because i have flexichain dependency (used as double ended queue, even though i have my own double ended queue already)
19:22:18
Bike
beach: i don't know what you use a gap buffer thing for, i guess. other than text editing, and i don't know hwat kind of operations you need for that
19:24:45
shka_
Bike: across and traverse, they are the same for the purpose of the containers, but there are also ranges, traverse will mutate range, across will not
19:29:44
shka_
anyway, gist of this is that there are containers, cl-ds:sequences are containers, there is protocol constructed around inheritance order traversable->fundamental-container->fundamental-sequence->mutable|functional|traversable
19:31:45
shka_
then mutable|functional|transactional variants provide means to modify the content of the container
19:32:05
Bike
if you had a set object, would that be a traversable but not a container? since at doesn't make sense
19:36:57
shka_
Bike: don't have high expectations regarding docs, It was written by me and I didn't an help with it
4:19:54
beach
Bike: When I wrote Flexichain, the possibility of defining extended sequence types did not exist, so I didn't have the sequence functions in mind for the client code using Flexichain.
4:20:32
beach
Bike: I would have to go back and look at Climacs and see what uses could be replaced by calls to the sequence functions.