freenode/#lisp - IRC Chatlog
Search
9:26:06
schweers
I have the feeling that I understand CLOS well enough to see that OO does have some merit, but not well enough to use it to its full potential
9:27:20
adlai
you could teach yourself how to see this potential through the painful approach: start building a large system without using OO, and list the points where you regret that omission.
9:28:35
jackdaniel
"cognitive baggage is proportional to the potential of technology in question" – JD's rule of CLOS :-)
9:56:32
schweers
beach: the cluffer docs state that there are two classes for standard-line (open and closed). Do you use change-class to switch between the two?
9:58:39
phoe
https://github.com/robert-strandh/Cluffer/blob/7e9812e5f25e7d9bc34bf646eaeb467dc564b95c/Standard-line/edit-protocol-implementation.lisp#L53
9:59:09
phoe
there are exactly two occurrences of "change-class" in the code: "change-class line 'closed-line" and "change-class line 'open-line"
10:01:29
beach
schweers: Interesting you should mention open/closed lines. This concept allows me to represent most lines in a compact way. I could go through the items and if they are only ASCII characters, I could create a vector of unsigned-byte 8.
10:01:50
beach
schweers: Or, in some cases, I could run a compression algorithm on it if I wanted to.
10:03:04
schweers
I took a while to understand your comment on ASCII, but now it makes sense. Interesting design.
10:03:14
pjb
siraben: there's also Midishare, https://framagit.org/patchwork/midishare but it has a little bitrotten.
10:03:29
schweers
I think I like the idea of changing the class in order to change which methods apply without changing object identity.
10:03:57
pjb
siraben: perhaps it'll be easier to make it work on linux. The main problem is on macOS, that ffigen4 doesn't work on recent systems; it would have to be ported to newer compilers.
10:10:31
pjb
beach: things like: (com.informatimago.common-lisp.cesarum.ascii:ascii-format nil "foo ~A ~A" "bar" (com.informatimago.common-lisp.cesarum.ascii:ascii-bytes "baz")) (com.informatimago.common-lisp.cesarum.ascii:bytes<= #(65 66 67) #(65 66 68))
10:19:35
Colleen
typist /ˈtʌɪpɪst/
(noun): a person who is skilled in typing, especially one who is employed for this purpose.
10:21:40
phoe
in general, livecoding is just like making music, memorizing and training a lot so your subconscious can do the boring tasks and leave your consciousness to be actually creative
10:23:01
schweers
but yes, he does seem to be quite a decent typist and probably very good at doing what he does (besides typing)
10:34:35
schweers
beach: given that cluffer has two classes for cursors, (left and right sticky), if one wanted to alternate between the two behaviors (for instance on a per-command basis), would you consider it reasonable to change the class of said cursor regularly?
10:59:46
galdor1
pjb: I'm curious regarding the way you name package, (e.g. com.informatimago.common-lisp.cesarum.ascii) do you use package name aliases ? or do you always :USE for DEFPACKAGE ?
11:03:33
galdor1
I use very short names for my own packages, which I find more practical, but it's easier to get conflicts
11:13:24
phoe
yep - package-local nicknames is a solution for that, and it's kinda-widely-adopted now.
11:21:58
AeroNotix
is it normal/expected to use defsetf expander code to implement assertions on the value being setf?
11:28:04
phoe
unless I need to avoid double evaluation of arguments somewhere, at which point I define-setf-expander or define-modify-macro
11:28:54
schweers
hm, ccl doesn’t seem to support package local nicknames, at least not by the same feature convention as sbcl does.
11:29:31
AeroNotix
phoe: and the (setf foo) part can be anything like (setf (lookup foo blah blah)) instead, right?
11:45:06
akr
Hello, does anyone know whether there is a CL implementation of CLDR ( https://en.wikipedia.org/wiki/Common_Locale_Data_Repository )?
11:47:28
akr
oh okay looks like it's been deprecated from CLDR anyway :( http://unicode.org/cldr/trac/ticket/8421