freenode/#lisp - IRC Chatlog
Search
14:23:59
pjb
indeed. and the donwside of equalp is that: (equalp #(-3 1 "Hello") (vector -3 1 "HELLO")) #| --> t |#
14:25:03
pjb
So you may have to write your own (defun vec-equal (a b) (and (= (length a) (length b)) (every (function equal) a b))) (vec-equal #(-3 1 "Hello") (vector -3 1 "HELLO")) #| --> nil |# (vec-equal #(-3 1 "Hello") (vector -3 1 "Hello")) #| --> t |#
18:49:08
phoe
I'd like one more review on https://github.com/sharplispers/split-sequence/pull/13 - I am in particular unsure about the two things sionescu has mentioned that I have not yet resolved.
18:49:26
phoe
1) The original code did not adhere to 80 chars per line - should I reformat it that way?
18:50:10
phoe
2) Should I drop the LIST branch of the typecase? My code does not traverse the whole list to determine its length, as per pjb's suggestion.
18:56:08
phoe
fe[nl]ix: I disagree, nitpicking is good when it comes to code reviews - bugs and issues are found this way
19:22:20
shka_
also this seems to be somewhat convoluted but i don't know if there are legit reasons for it
19:58:28
shka_
it smells funny to me, and although it is not objectively speaking bad, i simply think that it is convoluted
20:07:08
phoe
I just don't think my algorithmic skills are good enough to implement your final point
20:09:36
sjl
Writing code that works, doesn't cons excessively, and is backwards compatible with the existing behaviour is not as easy as it seems when you first see it.
20:10:36
phoe
backwards compatibility with what the original code did caused my code to become the ugly monstrosity that it was
20:11:08
phoe
and, honestly, I invite anyone who's up for it to write better code that still conforms to the split-sequence test suite - it's a challenge
20:12:07
sjl
e.g. you have to stop *exactly* where the original does, because the original returns the number of elements it processed as a separate value
20:12:10
shka_
phoe: i didn't track the split sequence, but i can see how something conceptually simple can devolve into monstrosity
20:12:51
sjl
the interaction between start/end, count, and remove-empty-subseqs is... nontrivial to get exactly the same as the original.
20:16:06
phoe
shka_: in other words: yes, you are correct, if we didn't need to conform to the original API and test suite, we'd gladly have made this code much nicer
20:19:24
sjl
(though performance was the entire reason phoe rewrote this in the first place, so really if we didn't care about performance we'd still have the original...)
20:22:26
sjl
shka_: feel free to PR it. If you can come up with something that performs as well and is clearer, I'm sure phoe would be willing to merge it
20:48:34
fe[nl]ix
Xach: can you please add phoe to https://github.com/orgs/sharplispers/teams/split-sequence-maintainers ?
1:01:16
saravia
sorry but, how i install anaphora, i dont have slime, only i have sbcl, and what is the complete simple way for install this?
1:12:23
PuercoPop
aeth: i used to use gensyms as system designators. Now I use strings directly or symbols if I want to load multiple systems
1:17:18
saravia
if i use `curl -0 https://beta.quicklisp.org/quicklisp.lisp` and run `(quicklisp-quickstart:install)` and run `(ql:add-to-init-file)' i have all?
1:23:28
PuercoPop
saravia: then Quicklisp appears to be loaded correctly. what does (ql:quickload "anaphora") return?
1:30:36
saravia
mmm when run the program anaphora uses, return this = Error loagind /home/saravia/.config/stumpwm/config: end of file on #<SB-SYS:FD-STREAM for "file /home/saravia/.slime/fasl/2.23/sbcl-1.3.15-linux-x86-64
1:33:22
PuercoPop
saravia: can you past your config file? From the error I'm guessing there is an unclosed parenthesis
1:55:47
PuercoPop
saravia: don't see anything wrong in that file, it may be in one of the conf files it loads. Btw alexandria comes with when-let which is the 'readable' version of AWHEN.