freenode/#lisp - IRC Chatlog
Search
15:24:08
adlai
regrettably, my keyboard lacks the ability to disambiguate cases that were spelled identically in the variant of latin that I studied a decade ago.
15:24:37
jmercouris
splittist: what is parameterised prompting? I am thinking no validation, it is just for simple form input
15:25:27
adlai
jcowan: wrt #'if, clearly as a funcall to symbol-plist of one and zero; as a macro, however you like.
15:26:08
adlai
minority report votes for symbol-plists of t and nil, and they are wrong, due to being in the minority!
15:27:15
jcowan
That's like saying Smalltalk doesn't need if because true and false belong to different classes, which they do, but class dispatch obviously needs a conditional under the covers.
15:27:46
adlai
jcowan, sure, that's why you have an invariant, wherein the relevant function is located at a specific offset within the plist
15:28:33
jcowan
You can do a lot conditional-free, especially if you are willing to repeat work, but not everything.
15:39:51
Bike
you shouldn't need a conditional for dispatch though. you can use something like vtables, can't you?
15:40:14
Bike
i guess in a roundabout way that's the same as keeping the function in a dedicated spot in the symbol plist
15:46:57
Bike
and extending on that, you could say that the lisp runtime has a %COND slot in every object; in the %COND of NIL is (lambda (x y) y), and for every other object it's (lambda (x y) x); and then (if x y z) is (funcall (funcall (%cond x) (lambda () y) (lambda () z))) no problem.
15:47:11
_death
(defconstant true 'car) (defconstant false 'cdr) (defun if (test yes no) (funcall test (cons yes no))) ;; add funcalls for flavor
15:47:56
Bike
as such, in the next lisp revision IF should not be a special operator, thank you for coming to my TED talk
15:49:06
splittist
jmercouris: something like (prompt-for thing prompter), so people can specialize prompt-for for different prompting mechanisms (react, repl, terminal, chatbot...)
15:49:57
adlai
sure, although i'd hope that (function car) is short enough to be #'eq to (function car)
15:58:40
jmercouris
document classification is concerned with semantic understanding of documents and plotting them in a 2d vector space
15:58:48
jmercouris
usually with the idea to group related documents, or determine what they are about
16:00:52
jmercouris
you can use that to figure out what terms are relevant in the document, and cluster that in a space, for example
16:02:31
jcowan
When people ask me if I use emacs or vi, I reply that I am an "ex" troglodyte (not to be confused with an ex-troglodyte)
16:03:02
jcowan
There are 5m troglodytes in China today, some with running water and even electricity
16:05:13
adlai
clustering on a flat screen is mainly useful for people who like to criticise the output of an artificial neural network
16:05:26
_death
here's an old tfidf from some years ago https://gist.github.com/death/84c57eb0811421c1c51bf63f2fd716fd
16:05:33
jmercouris
when you find yourself adding more and more dimensions, good luck getting good clusters
16:05:40
Bike
what i should have said yesterday was that special operators don't express anything about inter-operator dependence - which i don't think would be very useful anyway - but express what a code walker has to know
16:07:54
adlai
jmercouris, my reason for skepticism about clustering within 2d spaces is that there are much stricter bounds on planar graph colorings
16:08:21
jasom
If you made canonical expansions of all macros and special-forms in the spec, kind of like fare-quasiquote does for the ` reader macro
16:09:51
Bike
_death: things like sbcl's named-lambda screw it up. probably other stuff, i haven't tried writing a portable walker myself
16:10:37
jmercouris
anyways, I'll try to utilize montezuma with some sort of interface first, that's a nice start
16:14:28
jcowan
I do use ed occasionally to work around bugs in vim, like its inability to substitute a pattern with a replacement containing a newline (you get a NUL instead) or the way that vim farts on very large files.
16:16:38
jasom
jcowan: vim totally lets you substitute a pattern with a replacement containing a newline?
16:18:12
jcowan
At least vim 7.0 fixed the bug whereby undo in ex mode would rewind you to the last time you were in vi mode, which in my case is the beginning of editing!
16:27:04
pjb
Well, I already have an ed(1) in CL. Somebody could extend it to make it a vi(1), but indeed, it would require non-conforming libraries…
16:27:34
pjb
On the other hand, the problem mentionned above is in the regexp library, so this can be implemented and corrected conformingly.
17:17:35
jcowan
I sent Bram Molenaar a Google peer award for releasig vim 7 while we were both working there
17:18:40
pjb
jcowan: unfortunately, I haven't completed my regexp library. You will have to hook it to cl-ppcre.
17:20:05
jcowan
LGTM. I want to use it as a library: would you consider dual licensing under the LGPL?
17:21:13
pjb
No, I will stay with AGPL3 for the foreseable future. You might get lucky, and find an old version licensed under LGPL, but I don't distribute it anymore.
21:51:01
Kabriel
I am confused why this (format t "~14,6,2,,,,'eE" -9.999999747378752d-5) => -10.000000e-05 instead of -1.000000e-04?
21:51:34
Kabriel
pjb tested this on a variety of lisps, and apparently only sbcl and abcl give the wrong answer.
2:08:25
holycow
why i run lake migrate . i get the following error: Symbol "SYSTEM-VERSION" not found in the ASDF/INTERFACE package
2:09:29
holycow
can anyone point to resources online that i can read about HOW roswell and asdf work / interact with each other or the host environment?
2:50:06
ahungry
Are you familiar with nodejs/npm at all? asdf (another system definition facility) is a way to define packages, similar to package.json in node land. Quicklisp which you didn't mention is like npm - the tool to pull in remote dependencies for asdf to load. Roswell is closest to nvm I think (node version manager) - it wraps up all the lisp stuff into a ~/.roswell directory