libera/#commonlisp - IRC Chatlog
Search
17:14:09
jcowan
Back to Unicode for a second: https://docs.google.com/document/d/1d4xnVAGod2NxjGypwyS9bYlx5kE2VBJu5p4xl5zXEy8 is my original proposal for doing Unicode in the R7RS-small variant of Scheme, and I think it would make sense for CL as well if mechanically translated to use CL function names.
18:17:48
phantomics
jcowan: took a look at the document, the criteria there look good in terms of categorization, the alphabetical and numeric Unicode categories are a bit more expansive that what SBCL has
18:24:09
phantomics
Mainly I see that they include the "number letter" categories that SBCL doesn't, APL characters definitely shouldn't be included, there's something weird with Allegro's system
18:37:53
contrapunctus
attila_lendvai: is this your site? http://dwim.hu/ You may want to serve JS over HTTPS, and update that Freenode link to libera.chat...
18:39:20
attila_lendvai
contrapunctus, thanks for the headsup. that site is somewhat... well, abandoned. there's plenty of potentially useful features that should be fixed/finished, but we're not working much in CL anymore.
18:41:49
attila_lendvai
:) heh, right, when Xach notifies me of the breakage, then i fix our libs up to the point where they compile and run the dwim.hu code
18:42:19
Xach
attila_lendvai: i appreciate it - but if it becomes too much of a bother, please let me know.
18:42:56
attila_lendvai
Xach, no, not at all! i always have the option to not react, so please keep me posted! and thanks for all the work on ql!
18:53:17
attila_lendvai
Xach, i'll communicate that, don't worry. it already feels it was a waste what went into writing all the hu.dwim libs. i don't want to let them bitrot, maybe there are some users out there.
19:15:37
pve
attila_lendvai: Any highlights in those libs you feel we should know about? (I'm not familiar with them)
19:17:49
attila_lendvai
pve, hu.dwim.perec is a rather nice ORM. it has a query compiler that compiles queries given in sexp form to SQL, and when it cannot do that, then it transparently runs it in the lisp VM. it can even compile parts of the query to SQL, and run a hybrid lisp+SQL query
19:19:09
attila_lendvai
hu.dwim.stefil is i think by far the best unit test lib (simply wraps defun to ensure a dynamic environment, but tests are otherwise defun's. very nice experience in slime.)
19:19:38
attila_lendvai
there are all kinds of little utils, like hu.dwim.defclass-star to make defclass less verbose
19:20:26
attila_lendvai
hu.dwim.computed-class is a functional reactive programming lib that makes class slots reactive (they get automatically recalculated as needed)
19:21:06
jcowan
attila_lendvai: Do you have a writeup (other than the source) of the sexp-to-SQL mapping? It's a hard problem.
19:21:25
attila_lendvai
hu.dwim.reiterate is an 80% iterate replacement, but it's much better. it uses a proper walker, hu.dwim.walker.
19:22:45
attila_lendvai
rotateq, we used it on postgresql. another groups used it with oracle, but they made quite some changes. the merging is a pending TODO... for the last several years.
19:23:49
rotateq
attila_lendvai: cool also a lib for lazy evaluation :) read yesterday that Simon Peyton-Jones had his last day at the MS research group
19:24:17
attila_lendvai
pve, i suggest getting it from ql because the darcs HEAD contains half baked stuff. or the LIVE darcs repo from dwim.hu... but you're better off with ql.
19:25:44
pve
because as usual, I was contemplating rolling my own, but I'm not sure that's a good idea :)
19:26:35
attila_lendvai
hu.dwim.lazy-eval is closer to a proof of concept. but we used it in live code. authorization in our web ui was done so that a large form was constructed, and then it got lazy-eval'd, and then automagically evaluated at each point where it was needed. we could even generate english doc from who can do what in the system, and the rules were of course editable
19:28:40
attila_lendvai
jcowan, i know... :/ something broke with the entry point a few years ago. navigating from the dwim.hu menu works, but most project has little useful data. (the UI is constructed based on metadata)
19:29:14
attila_lendvai
to be honest, i'm surprised it's still this functional after some 10 years of potential bitrot.
19:34:47
Guest74
anybody know why slime occassionaly starts indenting forms when trying to use autocomplete? It's pushing my stuff to the end of the screen.
19:38:32
lisp123
Guest74: Never saw that before. Try C-h m and see if you have any indent minor modes active
19:39:04
lisp123
I have Electric-Indent, but perhaps you have something else which may be conflicting with slime
19:39:39
lisp123
Also try #Emacs, there used to be a command / way to debug more estoric issues in Emacs, they might be able to help tell you how to
19:40:20
Guest74
random indententations across sessions, stays pretty constant in same session, might increase.
19:40:50
lisp123
I see. Sounds annoying, but unfortunately I haven't faced that yet so dunno what could be the cause
20:47:07
jackdaniel
some progress with the incremental redisplay in mcclim: https://turtleware.eu/static/paste/incrm-table.mp4
21:20:16
hayley
It would be better to maintain the position of the start of the next numeral to match, rather than creating new strings.
22:07:25
pjb
dre: there was no link in a comment to the specifications, so I guessed that the file only contained integers, and that you didn't really want to just take the first integer on each line.
22:07:52
pjb
just using read should be faster than read-line + parse-integer, if the file is well formed.
22:50:27
dre
it should be "count increases" i guess. it's counting the number of increases from the nth value to the nth + 3 value
23:19:22
Guest74
dre: I made the same 'mistake'. It makes not sense to use an if to transform a T or Nil to 1 or 0 to sum the count when you can just (COUNT T list)
23:45:19
pdietz
< is not guaranteed to return T for true, although in most (all?) CL implementations it does.
0:00:04
mzan
I made AoC day 1 part 2, using tap and series packages (a stream library), and I'm happy of the code.
0:32:17
dre
<Guest74> I still think my favourite for part 2 is (COUNT T (MAPCAR #'< list (CDDDR list)))
4:03:28
beach
mzan: There is no reason to have a newline after LET*. And in Common Lisp, we don't have closing parentheses preceded by whitespace (and that includes newlines). Plus, there is no particular reason to have blank lines in the middle of top-level forms.
4:04:49
beach
mzan: And (lambda (ss) (series:collect-sum ss)) can be more simply expressed as #'series:collect-sum.
4:11:35
beach
jackdaniel: I am not sure from your demo what the improvement is compared to what things were before. Any hints?
4:16:43
Guest74
but asking about the function that returns the complement of a fucntion? probably complement?
4:17:06
beach
I haven't had my coffee yet, but perhaps (count nil ... :test-not #'identity) or (count nil ... :test #'not)
4:28:15
Guest74
I guess it probably wouldn't be good style to use it since :key sort of implies an accessor?
4:30:38
hayley
The :key and :test arguments are pretty open to interpretation to me. I recall mentioning some form in #commonlisp a while ago, something like (find 'integer '(fixnum real string) :test #'subtypep).
4:32:08
hayley
Worse, the :test doesn't have to be an equivalence relation. For example, (complement #'=) or #'/= is not an equivalence relation, but using either for :test is preferred over using the deprecated :test-not.
4:32:57
Guest74
well, I will happily abuse this if the opportunity presents itself. I notice clhs doesn't mention anything besides it being a designator for a function.