jackdaniel changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | offtopic --> #lispcafe
cosimone has quit [Ping timeout: 245 seconds]
iskander has quit [Quit: bye]
Wezl has quit [Ping timeout: 240 seconds]
nicktick has joined #lisp
iskander has joined #lisp
<jasom> White_Flame: do you need to suport dtds/validation?
hineios has joined #lisp
iskander has quit [Quit: bye]
<jasom> White_Flame: if you do need DTDs &c. CXML is by far the best (but make sure you use a custom entity-resolver if you have untrusted inputs)
<White_Flame> s-xml seems to fit hte bill
<White_Flame> so I'll ask again if it ceases to :)
<jasom> White_Flame: that was gong to be my tentative recommendation if you don't need DTDs
<jasom> tentative as in "I haven't used it, but it's where I would start if I needed one"
iskander has joined #lisp
<White_Flame> a big lack in cliki is no voting/annotation about how the many libs compare relative to each other
<jasom> It's a wiki, so one could add such an annotation
<jasom> I think "the number of people who read cliki and have used an XML library in the past 10 years" is probably too small for voting to be useful?
Wezl has joined #lisp
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
hineios has quit [Quit: The Lounge - https://thelounge.chat]
<jasom> https://plaster.tymoon.eu/view/2319#2319 <-- whichever you decide on, make sure that this doesn't work
hineios has joined #lisp
<jasom> With CXML, that will include the contents of /etc/passwd in the resulting parse (but specifying an entity-resolver that always throws an error will prevent that)
<jasom> at least nobody wired an http client into cxml, so out-of-the-box it won't let you make arbitrary http requests, unlike many other XML parsers
lisp-machine has joined #lisp
lisp-machine has quit [Client Quit]
terpri has joined #lisp
Wezl has quit [Ping timeout: 272 seconds]
supercoven_ has joined #lisp
terpri_ has joined #lisp
supercoven has quit [Ping timeout: 245 seconds]
terpri has quit [Read error: Connection reset by peer]
egp_ has quit [Read error: Connection timed out]
egp_ has joined #lisp
IPmonger_ has joined #lisp
IPmonger has quit [Ping timeout: 264 seconds]
warweasle has quit [Quit: later]
Wezl has joined #lisp
terpri_ has quit [Remote host closed the connection]
grobe0ba has quit [Quit: ZNC 1.7.5 - https://znc.in]
grobe0ba has joined #lisp
terpri has joined #lisp
niac has joined #lisp
aeth_ has joined #lisp
skapate has quit [Remote host closed the connection]
aeth has quit [Disconnected by services]
aeth_ is now known as aeth
cartwright has quit [Remote host closed the connection]
cartwright has joined #lisp
akoana has quit [Quit: leaving]
cchristiansen has joined #lisp
warweasle has joined #lisp
charles` has joined #lisp
Wezl has quit [Ping timeout: 272 seconds]
vutral_ has quit [Quit: Connection closed for inactivity]
cpt_nemo_ has quit [Ping timeout: 264 seconds]
grumble has quit [Ping timeout: 624 seconds]
ptrkriz has quit [Quit: Lost terminal]
semz has quit [Ping timeout: 260 seconds]
grumble has joined #lisp
cpt_nemo has joined #lisp
warweasle has quit [Quit: rcirc on GNU Emacs 26.1]
semz has joined #lisp
semz has quit [Changing host]
semz has joined #lisp
Alfr_ has joined #lisp
Alfr has quit [Read error: Connection reset by peer]
wusticality has joined #lisp
charles` has quit [Ping timeout: 276 seconds]
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
Lord_of_Life has joined #lisp
jonatack_ has quit [Read error: Connection reset by peer]
X-Scale` has joined #lisp
Guest14107 has quit [Ping timeout: 244 seconds]
karlosz has quit [Quit: karlosz]
nopf has quit [Ping timeout: 256 seconds]
X-Scale has quit [Ping timeout: 245 seconds]
X-Scale` is now known as X-Scale
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
contrapunctus has left #lisp [#lisp]
DateMasamune2000 has joined #lisp
contrapunctus has joined #lisp
toorevitimirp has joined #lisp
DateMasamune2000 has quit [Client Quit]
Guest99088 has joined #lisp
nopf has joined #lisp
tinhatcat has joined #lisp
Sheilong has quit []
madage has quit [Ping timeout: 268 seconds]
madage has joined #lisp
mindCrime has quit [Ping timeout: 240 seconds]
contrapunctus has left #lisp ["Disconnected: closed"]
easye has quit [Ping timeout: 272 seconds]
Blkt has quit [Ping timeout: 272 seconds]
fe[nl]ix has quit [Ping timeout: 272 seconds]
Blkt has joined #lisp
fe[nl]ix has joined #lisp
landakram has quit [Ping timeout: 240 seconds]
tinhatcat has quit [Quit: Leaving]
tinhatcat has joined #lisp
<beach> Good morning everyone!
ioa_ has quit [Ping timeout: 260 seconds]
Alfr__ has joined #lisp
Alfr__ is now known as Alfr
madage has quit [Ping timeout: 268 seconds]
gioyik has quit [Ping timeout: 268 seconds]
hendursaga has quit [Ping timeout: 268 seconds]
zooey has quit [Ping timeout: 268 seconds]
Aurora_v_kosmose has quit [Ping timeout: 268 seconds]
Alfr_ has quit [Ping timeout: 240 seconds]
cartwright has quit [Ping timeout: 268 seconds]
charles` has joined #lisp
xseraphsanctumx has joined #lisp
xseraphsanctumx has left #lisp [#lisp]
contrapunctus has joined #lisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
ioa has joined #lisp
zooey has joined #lisp
Aurora_v_kosmose has joined #lisp
hendursaga has joined #lisp
madage has joined #lisp
cartwright has joined #lisp
gioyik has joined #lisp
karlosz has joined #lisp
tuoyuz has joined #lisp
tuoyuz has quit [Quit: ERC (IRC client for Emacs 27.1)]
tuoyuz has joined #lisp
thmprover has quit [Quit: Another long day's journey into night.]
Aurora_v_kosmose has quit [Remote host closed the connection]
Aurora_v_kosmose has joined #lisp
judson_ has joined #lisp
tuoyuz has left #lisp ["ERC (IRC client for Emacs 27.1)"]
charles` has quit [Ping timeout: 260 seconds]
asarch has joined #lisp
nicktick has quit [Ping timeout: 264 seconds]
karlosz has quit [Quit: karlosz]
wxie has joined #lisp
nicktick has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
karlosz has joined #lisp
holycow has joined #lisp
tinhatcat has quit [Ping timeout: 240 seconds]
tinhatcat has joined #lisp
<fe[nl]ix> Eitaro Fukamachi is now accepting sponsorship: https://github.com/sponsors/fukamachi
<fe[nl]ix> in case anyone's interested :)
<holycow> oh neat
charles` has joined #lisp
Bike has quit [Quit: Lost terminal]
dvdmuckle has quit [Ping timeout: 246 seconds]
dvdmuckle has joined #lisp
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
judson_ has joined #lisp
dvdmuckle has quit [Ping timeout: 264 seconds]
dvdmuckle has joined #lisp
landakram has joined #lisp
kaiwulf has quit [Ping timeout: 240 seconds]
<susam> Good morning beach!
<susam> Good morning everyone!
ebrasca has joined #lisp
karlosz has quit [Quit: karlosz]
CrazyEddy has quit [Remote host closed the connection]
sauvin has joined #lisp
narimiran has joined #lisp
cchristiansen has quit [Ping timeout: 245 seconds]
pyc has quit [Quit: ZNC 1.7.2+deb3 - https://znc.in]
pyc has joined #lisp
frost-lab has joined #lisp
orivej has joined #lisp
<asarch> That's great for Eitaro!
<asarch> I thought he was dead :-(
<asarch> But that's great! :-)
waleee-cl has quit [Quit: Connection closed for inactivity]
louis771 has quit [Quit: My M1 has gone to sleep. ZZZzzz…]
louis771 has joined #lisp
<pyc> is there a way to check if string "foo" is in string x? equivalent to `"foo" in x` construct of Python?
<Nilby> clhs search
<Nilby> Don't forget to check the sequences section when looking for functions useful for strings.
<pyc> thanks Nilby
<louis771> Good morning
Cymew has joined #lisp
<louis771> Fukamachi does a lot for the CL community it seems
gioyik has quit [Quit: WeeChat 3.0]
<asarch> Caveman2 is awesome!
<asarch> He is my hero!
<asarch> :-)
<louis771> I'm just getting starting with CL and want to do some web backend stuff with it... there is no way around his libraries.
<pyc> i see that in some code examples, people write list and in some places people write '(). how do you decide which one to use where? For example, yesterday, Xach provided this example: (make-pathname :directory (list :relative "baz")). But I could write it as (make-pathname :directory '(:relative "baz")) too. so what should be my guiding principle to decide if I should use the list function or quoted
<pyc> list?
<louis771> And I totally agree that quickdocs.org must be revived if CL wants to attract newbies
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<louis771> pyc AFAIK use ' for lists you won't change, use list for lists you will add/remove stuff from
<pyc> louis771: thanks that is a good principle.
<louis771> if you use ' then the compiler is permitted to allocate l1 and l2 in a way that they share their common tail in the read-only memory
<louis771> i.e. if you have lists l1 and l2 with some same data in it
wusticality has quit [Remote host closed the connection]
<beach> pyc: Though you can always (and should always) use '() for the empty list if it is a form, so intended to be evaluated.
aartaka has joined #lisp
<pyc> how do you use SLIME REPL and code buffer together? if you want to test out the usage of some CLHS functions before using them in your app code, do you go to the REPL and type trial code there, or do you type it in the source code file buffer itself and evaluate there?
aartaka_d has joined #lisp
<beach> Usually, the former.
<susam> I use the file buffer itself. I almost never enter anything into the REPL directly. That way I am always editing a file. The main reason why I adopted this style of working is so that I don't have to type M-p to bring up old inputs in the REPL buffer.
<beach> So do you have a specific buffer for REPL interactions?
Ardent has joined #lisp
aartaka has quit [Ping timeout: 240 seconds]
Ardent has quit [Client Quit]
<moon-child> beach: why '() over ()?
<beach> moon-child: Let me find the relevant section in the Common Lisp HyperSpec. It is very hard to find usually.
<susam> beach: I use the same file code buffer that I am currently working on. Say there is a (defun foo () ...) and there is a (defun bar () ...) in my buffer and I am working on foo. I just use the space between foo and bar as my scratch pad. I let that area become a mess. When I complete foo, I delete all the lines in the scratch pad area.
<beach> I see.
<moon-child> beach: heh, I can imagine, () is not a very searchable string
<Nilby> When you have the spec in emacs info you can search with ^S
<beach> moon-child: Yes, that's the problem.
<pyc> interesting. let me see if I can adopt editing a file only workflow. I go to REPL often by habit. it will be nice if I don't have to switch context between REPL and file buffer so often
<beach> clhs 1.4.1.4.4
<susam> Truth be told, I don't know if my style of working is more efficient than others'. I just shared what I do and it works for me. But always eager to learn better ways. I care a lot of coding ergonomics. I often wonder it would have been nice to have some sort of live coding community for CL so that I can see how others navigate their workspace, write code, manipulate code, etc. so that I can learn something from them.
<beach> moon-child: That link was for you.
pankajsg has joined #lisp
<beach> Notice the line "Yes '() use as an empty list"
<beach> moon-child: So () is used only for things like empty parameter lists or empty lists of superclasses.
shka_ has joined #lisp
<Nilby> That lucky section is very hard to search for.
<beach> Indeed.
rgherdt has joined #lisp
<Nilby> Interestingly section (sqrt 2) is called Numbers.
<beach> Heh.
pillton has quit [Quit: ERC (IRC client for Emacs 27.1)]
abhixec has quit [Quit: leaving]
aartaka has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
aartaka_d has quit [Ping timeout: 246 seconds]
aartaka_d has joined #lisp
aartaka has quit [Ping timeout: 260 seconds]
ljavorsk has joined #lisp
<moon-child> beach: thanks!
<beach> Pleasure.
tuoyuz has joined #lisp
ldbeth has joined #lisp
<ldbeth> good afternnon
<beach> Hello ldbeth.
surabax has joined #lisp
<ldbeth> susam: maybe we can find a place to do streaming or helding regular meetings remotely.
<ldbeth> do you suggest (cons a nil) or (cons a '())?
random-nick has joined #lisp
<jdz> (list a)
<jdz> But if you have to use CONS, then the latter: '().
<jdz> ldbeth: Did you see the CLHS section beach linked above?
<ldbeth> I see (cons a nil) a lot in old lisp source files.
<ldbeth> Maybe that causes some confusion
<ldbeth> jdz: yes i did
<edgar-rft> I think I've never used '() in my code, but maybe that's because I'm an idiot :-)
<Nilby> suam, ldbeth: I think it's quite useful to see how other Lispers work. e.g. check out Baggers or Shinmera's livestreams. It'd be cool to see people share their coding setup.
pve has joined #lisp
<Nilby> s/suam/susam/
anticrisis has quit [Read error: Connection reset by peer]
<susam> ldbeth: Nilby: I agree. Will check out the live streams you suggested.
karlosz has joined #lisp
actuallybatman has left #lisp [#lisp]
heisig has joined #lisp
charles` has quit [Ping timeout: 240 seconds]
actuallybatman has joined #lisp
<pyc> (first '(1 2 3)) returns the integer 1. But (last '(1 2 3)) returns a list containing an integer: (3). Why this inconsistency?
<edgar-rft> first returns a pointer to the first cons cell, last returns a pointer to the last cons cell, no inconsistency
<beach> ldbeth: You use (cons a nil) if you want to create a CONS cell where the CAR is the value of A and the CDR is the Boolean value false. You use (cons a '() if you want to create a singleton list with the element in it that is the value of A.
<ldbeth> probably because someone what last works on '(1 2 3 . 4) too
<ldbeth> it makes no sense to return 3 for (last '(1 2 3 . 4))
<Nilby> pyc: because (1 2 3) is really (1 . (2 . (3 . nil)))
<ldbeth> while '(1 2 3) is equal to '(1 2 3 . nil)
<edgar-rft> it's the way how lisp *prints* cons cells and lists that causes the confusion
<beach> ldbeth: And the fact that you see things in code (old or new) is no guarantee, because it depends on who wrote the code. As you have probably noticed, many people here don't give a damn about conventions.
<ldbeth> beach: quite right, many people wrote these code probably learned lisp before ANSI CL
<beach> Possibly. But you see violations of conventions in recent code as well.
<pyc> Nilby: I am not sure I understand the consistency. I know that '(1 2 3) is (1 . (2 . (3 . nil))). Here the first cons cell contains 1 and a pointer to (2 . (3 . nil)). The last cons cell contains 3 and a pointer to nil.
<beach> ... written by younger people.
<pyc> Yet first returns only 1, no pointer to anything. But last returns 3 and a pointer to nil: (3 . nil) which is equivalent to (3).
asarch has quit [Quit: Leaving]
<beach> pyc: Be careful with how you use "is". '(1 2 3) *is* (quote (1 . (2 . (3 . nil))))
holycow has quit [Quit: Lost terminal]
<beach> pyc: It is just that LAST is more useful the way it is defined, because you can then use (SETF CDR) to add elements to the end.
<beach> pyc: Forget about the name.
<ldbeth> beach: I'm probably one of them, if havn't noticed this
<beach> ldbeth: It's never too late.
<beach> ldbeth: While you are at it, check your code for confusion between false and the default value NIL.
<beach> Like (let ((person (find ...))) (when person...))
<Nilby> pyc: I guess you're right. Maybe that's why I like Lisp. It seems to value programming practicality over total abstract consistency.
<markasoftware> how do I get a method combination object by name?
hjudt has joined #lisp
<beach> mop find-method-combination
<beach> But that's not quite what you are asking is it?
<markasoftware> why does that need a generic function as its first argument?
<beach> It's a mystery.
<markasoftware> can it be...any gf?
hiroaki_ has quit [Ping timeout: 272 seconds]
terpri has quit [Quit: Leaving]
tuoyuz has quit [Ping timeout: 264 seconds]
<markasoftware> interesting
<beach> In SICL I use the first argument for dispatch only.
<pyc> thanks beach, Nilby for the explanation of 'last' behavior
terpri has joined #lisp
<beach> Pleasure.
terpri has quit [Remote host closed the connection]
<ldbeth> beach: do you use any specific schema for implementing multiple return values in SICL? I don't find it in the current specification.
terpri has joined #lisp
<beach> What do you mean by "schema". The idea on the x86 is to use the unused space immediately beyond the stack pointer, plus a few registers. That turns out to be enough for the minimum limit.
<ldbeth> It is about what will happen if the called function is inlined
hiroaki_ has joined #lisp
<beach> If a function that returns multiple values is inlined, then, depending on what is known about that function at compile time, some optimization can take place. Is that what you are asking?
<ldbeth> Yes
<beach> But I haven't implemented such optimizations yet. Maybe Clasp has.
ljavorsk has quit [Ping timeout: 240 seconds]
ljavorsk has joined #lisp
tuoyuz has joined #lisp
<ldbeth> Ah, I think mv return is a feature been overlooked, especially in functional programming languages that having nice optimization to reduce consing for currying, but still return an vector/tuple for multiple results.
<ldbeth> beach: Thank you, I'll try if i can get something from Clasp
bitmapper has quit [Quit: Connection closed for inactivity]
luni has joined #lisp
kenran has joined #lisp
ldbeth has quit [Ping timeout: 260 seconds]
tuoyuz has quit [Ping timeout: 260 seconds]
ldbeth has joined #lisp
hendursa1 has joined #lisp
retropikzel has joined #lisp
karlosz has quit [Quit: karlosz]
hendursaga has quit [Ping timeout: 268 seconds]
ldbeth has quit [Ping timeout: 246 seconds]
nicktick has quit [Ping timeout: 240 seconds]
catt has joined #lisp
ldbeth has joined #lisp
ldbeth has quit [Remote host closed the connection]
ldbeth has joined #lisp
galex-713 has joined #lisp
iskander has quit [Quit: bye]
<pyc> what do you prefer: car or first? cdr or rest?
<beach> pyc: You use CAR when you are manipulating CONS cells and FIRST when you are manipulating lists.
<pyc> beach: nice rule. thanks!
<beach> Like for instance in an alist, the elements are not lists, they are CONS cells with key and value.
<susam> pyc: Check this: http://www.lispworks.com/documentation/HyperSpec/Body/f_rest.htm - "rest is often preferred stylistically over cdr when the argument is to being subjectively viewed as a list rather than as a cons."
<pyc> oh the CLHS offers coding convention guidelines too! thanks!
<beach> Definitely. It even tells you how many semicolons to use in comments.
<beach> And, don't forget the NIL rule we just discussed.
pranavats has joined #lisp
kenran has quit [Quit: leaving]
ldbeth has quit [Ping timeout: 240 seconds]
frost-lab has quit [Ping timeout: 240 seconds]
<pve> It's good that the NIL-rule was brought up. I wasn't aware that it (or that hyperspec page) existed. I knew people sometimes used '(), but always assumed it was for reasons related to personal taste.
<beach> Now you know.
flip214 has quit [Ping timeout: 265 seconds]
flip214 has joined #lisp
flip214 has quit [Changing host]
flip214 has joined #lisp
<pve> I might need to do some find 'n' replacing to hide my shameful past.
landakram has quit [Ping timeout: 240 seconds]
Lycurgus has joined #lisp
orivej has joined #lisp
wxie has quit [Ping timeout: 264 seconds]
wxie1 has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
wxie1 is now known as wxie
frost-lab has joined #lisp
iskander has joined #lisp
warweasle has joined #lisp
entel has joined #lisp
wxie has quit [Ping timeout: 240 seconds]
madage has quit [Ping timeout: 268 seconds]
frost-lab has quit [Quit: Connection closed]
Oddity has quit [Ping timeout: 240 seconds]
madage has joined #lisp
Lycurgus has quit [Quit: Exeunt]
iskander has quit [Quit: bye]
VincentVega has joined #lisp
vegansbane6963 has quit [Quit: The Lounge - https://thelounge.chat]
iskander has joined #lisp
rogersm has joined #lisp
<warweasle> For some reason (or ... Will return all the values of the first argument, but only the first value of the rest. Is that expected behavior?
<scymtym> it is the other way around: only the first value of all forms but the final one and all values of the final one. it is specified like that in http://www.lispworks.com/documentation/HyperSpec/Body/m_or.htm
<warweasle> scymtym: Ah... Ok. I ended up wrapping each case with multi-value-binds.
vegansbane6963 has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
<ebrasca> is there media server in common lisp?
narimiran has quit [Ping timeout: 240 seconds]
<ebrasca> like images , video web server.
varjag has joined #lisp
slyrus_ has joined #lisp
slyrus has quit [Ping timeout: 264 seconds]
Feldman has joined #lisp
luni has quit [Quit: Connection closed]
ewd has joined #lisp
niac has quit [Ping timeout: 264 seconds]
Feldman has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<flip214> ebrasca: using HTTP, or RTP? what protocols do you require?
slyrus has joined #lisp
Feldman has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
Alfr has quit [Quit: Leaving]
Alfr has joined #lisp
slyrus has quit [Ping timeout: 245 seconds]
Alfr has quit [Changing host]
Alfr has joined #lisp
luni has joined #lisp
kenran has joined #lisp
<ebrasca> http
<flip214> well, just use hunchentoot?!
<ebrasca> are there RTP in lisp?
<ebrasca> flip214: Thanks!
kevingal has joined #lisp
<flip214> ebrasca: well, perhaps it would be easiest to just pass an RTP socket on to ffmpeg or so...
skapata has joined #lisp
iskander has quit [Quit: bye]
Sheilong has joined #lisp
ljavorsk has quit [Ping timeout: 245 seconds]
shka_ has quit [Read error: Connection reset by peer]
iskander has joined #lisp
mrchampion has quit [Ping timeout: 245 seconds]
niac has joined #lisp
slyrus has joined #lisp
Bike has joined #lisp
slyrus has quit [Ping timeout: 260 seconds]
<ebrasca> How to stream videos with hunchentoot?
hjudt has quit [Ping timeout: 240 seconds]
catt has quit [Read error: Connection reset by peer]
VincentVega97 has joined #lisp
VincentVega has quit [Ping timeout: 240 seconds]
VincentVega97 has quit [Client Quit]
kam1 has quit [Ping timeout: 264 seconds]
<jackdaniel> hunchentoot serves files, it is a web server. you may either serve a static file (i.e webm like here http://turtleware.eu/static/paste/9736edb5-eduardo.webm), embed the link ink html, or write some fancy javascript program that performs actual streaming
<jackdaniel> in other words hunchentoot does not concern itself with anything beyond http(s) protocol, hunchensocket adds websockets to the mix - you could use that if you had wanted to implement streaming
kam1 has joined #lisp
orivej has joined #lisp
terpri has quit [Ping timeout: 240 seconds]
terpri has joined #lisp
catt has joined #lisp
nicktick has joined #lisp
Nilby has quit [Ping timeout: 240 seconds]
niac has quit [Ping timeout: 260 seconds]
niac has joined #lisp
kaiwulf has joined #lisp
<warweasle> I made one of the classic blunders: I forgot to define my problem before I started coding.
ukari has quit [Remote host closed the connection]
<Josh_2> Afternoon
<warweasle> Josh_2: Morn'n.
ukari has joined #lisp
<Josh_2> warweasle: It's okay to not define your problem because I bet you run into lots of them when you start xD
<warweasle> This is a true thing you said.
rogersm has quit [Quit: Leaving...]
ljavorsk has joined #lisp
narimiran has joined #lisp
bitmapper has joined #lisp
niac has quit [Ping timeout: 240 seconds]
long4mud has quit [Quit: WeeChat 3.0.1]
niac has joined #lisp
jonatack has joined #lisp
Alfr has quit [Quit: Leaving]
galex-713 has quit [Ping timeout: 272 seconds]
nicktick has quit [Ping timeout: 240 seconds]
<Josh_2> How do I convert a hex string (from ironclad) to a normal string?
niac has quit [Ping timeout: 245 seconds]
<Bike> what do you mean, a normal string?
niac has joined #lisp
<Josh_2> well i'm not sure
<pyc> "4142" becomes "AB"?
<jackdaniel> maybe feed it to #'babel:octets-to-string
<Josh_2> I tried that jackdaniel
<Bike> could you give us some kind of description of what you have versus what you want
<Josh_2> when using the sha256 digest in ironclad it returns a byte array, then this byte array is converted to a string using ironclad:byte-array-to-hex-string
galex-713 has joined #lisp
<Josh_2> I tried using babel:octets-to-string but it signals an condition about illegal characters
<Bike> well it's a sha256 digest, right? it's not text
attila_lendvai has quit [Ping timeout: 245 seconds]
<Josh_2> right, however I'm trying to compare the output of the ironclad implementation to the implementation I am calling with FFI
<mfiano> Then you should be comparing bytes
<Josh_2> but the FFI version returns a base64 encoded string
<Bike> the one you're calling with FFI isn't giving you text either
<Bike> you should decode it into bytes, then
<Josh_2> Okay
<Bike> or base64-encode the bytes you get from ironclad, i guess
iskander has quit [Quit: bye]
<Josh_2> I will try a different base64 library
<Josh_2> base64 doesn't support binary conversion
<Bike> your library can encode numbers into base64 text but not decode?
Alfr has joined #lisp
jonatack has quit [Read error: Connection reset by peer]
<Josh_2> huh?
rpg has joined #lisp
<Josh_2> base64 isn't my library
<pyc> I know we discussed 'first' vs. 'car' usage today. One is used when we are thinking of lists and the other when we are thinking of cons cells even though they are equivalent. But I am confuesd about this. To select the last item in a list, should I use (first (last '(1 2 3))) or (car (last '(1 2 3)))?
<Bike> well, whatever you're using
<mfiano> base64 does everything it needs to do
<Bike> having a library that can encode but not decode just sounds a little weird to me
<Bike> that "doesn't support binary conversion"
<pyc> even though I think I am working with lists here, I get the feeling that 'car' is more appropriate than 'first' because 'last' works on a list and returns a cons cell, so now that we are thinking "cons cell", 'car' becomes more appropriate than 'first'.
<beach> pyc: (first (last ...))
<Josh_2> Bike: yes It's the library called 'base64' https://github.com/massung/base64 I'm using s-base64 now
<beach> pyc: Well you have a point.
<beach> pyc: I wouldn't lose any sleep over it.
mmmattyx has joined #lisp
<pyc> good point. maybe I should just choose one and be consistent.
<beach> Sounds good.
<mfiano> Josh_2: What is your point? That does both
<Bike> why does this library work only on characters...
<Bike> you can encode text into other text? i thought the point of base64 was for transmitting arbitrary data over text over channels
<mfiano> Ah yes. Personally I have used #'cl-base64:usb8-array-to-base64-string for this
iskander has joined #lisp
nicktick has joined #lisp
<Josh_2> mfiano: I don't have a point, Bike was enquiring about the library I was using
aartaka_d has quit [Read error: Connection reset by peer]
sjl has joined #lisp
vaporatorius__ has quit [Quit: Leaving]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
mrchampion has joined #lisp
aartaka has joined #lisp
kenran has quit [Quit: leaving]
phantomics has joined #lisp
slyrus has joined #lisp
terpri has quit [Quit: Leaving]
terpri has joined #lisp
slyrus has quit [Ping timeout: 240 seconds]
<Josh_2> Nice, finally got all my tests done and integrated nicely into the system
<Josh_2> Xach: can I ask for someone else's code to go into quicklisp? borodust created bindings for me that are on his github and I don't see the point in using my fork as the version in quicklisp
contrapunctus has left #lisp ["Disconnected: closed"]
contrapunctus has joined #lisp
amk has quit [Remote host closed the connection]
amk has joined #lisp
shka_ has joined #lisp
niac has quit [Ping timeout: 276 seconds]
jonatack has joined #lisp
Cymew has quit [Ping timeout: 240 seconds]
heisig has quit [Quit: Leaving]
Cymew has joined #lisp
dbotton has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 26.3)]
catt has quit [Ping timeout: 245 seconds]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
toorevitimirp has quit [Remote host closed the connection]
<pyc> While editing in Emacs, is there a shortcut to autocomplete function names?
dbotton has quit [Quit: This computer has gone to sleep]
tinhatcat has quit [Read error: Connection reset by peer]
tinhatcat has joined #lisp
<beach> C-c C-i
<pyc> thanks beach
<beach> Sure.
orivej has quit [Quit: orivej]
luni has quit [Quit: Connection closed]
orivej has joined #lisp
aindilis has quit [Ping timeout: 260 seconds]
actuallybatman has quit [Ping timeout: 276 seconds]
dbotton has joined #lisp
<Josh_2> https://github.com/K1D77A/cl-megolm well after a couple of weeks I think I'm finally done! This was a struggle and a half
<borodust> Josh_2: the most important point that my repo is unmaintained on birth and also linux-only :) i'm not planning to keep an eye on that codebase
<borodust> Josh_2: also, congratz! :)
<Josh_2> Well I don't have the means to update any of your bindings because you use claw
<borodust> Josh_2: those are plain cffi ones, you can copy paste and edit as you see fit
<Josh_2> I don't think that the matrix folks have updated the API for a long time
<borodust> i do think they actually might work on windows/macos w/o chaning anything
<Josh_2> oh I see
<Josh_2> Okay I will use my fork then
<borodust> due to api being ABI friendly
arpunk has joined #lisp
frgo has joined #lisp
orivej has quit [Ping timeout: 276 seconds]
<pyc> are the parentheses useful to the programmer? I see some of lines have 5-6 trailing parentheses and sometimes even more than that. I find it hard to keep track of which one pairs with what manually. Emacs matches them up for me and that is the only way I am able to make sense of them.
<pyc> is this how you guys deal with parentheses too? or are experienced Lisp programmers able to make sense of the parentheses manually too?
<Josh_2> the parens indicate structure, but eventually they just fade away
<Josh_2> you almost dont see them anymore
<borodust> pyc: paredit is the key
<gabc> I see the indentation, and if it's weird I feel that there's a problem in the structure
<borodust> pyc: some also use rainbow parens
<Josh_2> I use rainbow parens
<pyc> borodust: thanks! I am using Emacs4CL that setup paredit and rainbow-delimiters for me. I am using both.
<borodust> pyc: adventuruous folks sport parinfer
<gabc> personally I don't like the rainbow distraction
<gabc> I find lispy really nice tho
<pyc> gabc: I did not find rainbow-delimiters distracting. but I didn't find it helpful either. It just makes the parentheses darker in color and they appear to fade away.
<gabc> If it works for you, it works for you :)
<pyc> see the Emacs4CL screenshot here: https://github.com/susam/emacs4cl - I never understood how rainbow-delimiters are helpful. all the parentheses look gray. do you also feel so? or am I the only one unable to appreciate rainbow delimiters in the screenshot?
orivej has joined #lisp
<pyc> I do see some difference in color of the parentheses. I don't know if it is my eyesight that is poor or if the difference between the colors is very negligible. I have to stare at them hard to be able to see any difference in colors by rainbow-delimiters.
<gabc> Nah it looks quite dim
<Bike> you can use emacs in like a window, right, where there will be actual colors
<borodust> personally, paredit is all i need
<Bike> in this particular screenshot they do just look all grey to me
<gabc> Tho since it's really easy to try stuff in emacs I would recommend trying stuff out
<pyc> glad to know it is not just me. if they all look grey indeed what is the value that rainbow-delimiters offer?
<Josh_2> If I want to add a library that depends on a foreign library how does Xach test if it builds?
<Bike> pyc: https://ericscrivner.me/2015/06/better-emacs-rainbow-delimiters-color-scheme/ i haven't used rainbow delimiters, but here's someone agreeing with you and fixing it by making the colors a little wackier
<pyc> Bike: thanks for that link. I never bothered to dig into rainbow-delimiters earlier to realize that the colors are configurable. of course it must be due to the nature of Emacs. but never bothered about it because my priority was to learn common lisp. will try the config in this post tonight.
dbotton has quit [Quit: This computer has gone to sleep]
dbotton has joined #lisp
dbotton has quit [Client Quit]
<Demosthenex> pyc: here's some rainbow generated i found somewhere once which i use in my init. https://dpaste.org/ohQw
jonatack has quit [Ping timeout: 260 seconds]
jonatack has joined #lisp
Lycurgus has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mmmattyx has quit [Quit: Connection closed for inactivity]
Aurora_v_kosmose has quit [Remote host closed the connection]
dbotton has joined #lisp
Aurora_v_kosmose has joined #lisp
vaporatorius has quit [Ping timeout: 240 seconds]
drdee has joined #lisp
drdee has quit [Remote host closed the connection]
ljavorsk has quit [Ping timeout: 245 seconds]
varjag has joined #lisp
<phantomics> Hey, a question: in CL implementations supporting Unicode, does (char-code) always give the Unicode code point for a character?
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
<Bike> usually. obviously there's no standard.
rpg has joined #lisp
<Bike> and of course with how unicode works there's not exactly a 1-1 mapping there
<Bike> in my sbcl, "̀a" has length 2
judson_ has joined #lisp
<phantomics> Thanks Bike, combining characters can be confusing like that
<pyc> what do you normally do for unicode support? do you code for a specific CL implementation? or is there a portability layer available for it too?
andrea_ has joined #lisp
kevingal has quit [Remote host closed the connection]
andrea_ has left #lisp [#lisp]
<phantomics> I looked at cl-unicode but it doesn't seem to have a function that gets the code point for a given character
<phantomics> The lowercase-mapping and uppercase-mapping functions can get a char's code point, but letters have their case changed; there's no function I can see that just gets the code point
<Bike> the docs here imply that it assumes char-code is the code point
gioyik has joined #lisp
<phantomics> Ok, they must be trusting current implementations to do that
<aeth> other interpretations of what char-code and characters are in an implementation with Unicode wouldn't really be standards-compliant afaik.
<aeth> I guess unless they wanted to randomly shuffle which char-code corresponds to which thing in unicode for no reason
<aeth> So I think the main risk with char-code/code-char is that the implementation is using something other than Unicode.
Lycurgus has quit [Quit: Exeunt]
<phantomics> My concern is for April, which you need Unicode to use in the first place
<aeth> I think the main issue is that sb-unicode has a bunch of useful things that no portable library has. cl-unicode gets you only some of it, with a much worse API (and probably much slower performance on SBCL, too)
<aeth> So my Scheme will only handle Unicode 100% correctly on SBCL until someone resolves this issue. I set out to make a Scheme, not a huge Unicode library.
gioyik_ has joined #lisp
<phantomics> That's annoying
<aeth> That is, I use babel (for UTF8<->strings) and cl-unicode outside of SBCL, and I use SBCL's libraries for SBCL. Some things only work fully conforming on SBCL if cl-unicode doesn't have a clear alternative to a thing in sb-unicode. And technically you can always use babel for the part that babel does, but that'll just hurt you on benchmarks since SBCL's internal octet conversion is faster.
gioyik has quit [Ping timeout: 268 seconds]
<aeth> It's annoying, but it's only temporary. It will be resolved by someone later on. We had to work around floating point for a long time before float-features was released.
<aeth> (Now there's a bunch of libraries that are still only efficient with floating point in SBCL when they should be moving to float-features:with-float-traps-masked instead.)
slyrus has joined #lisp
pfdietz has joined #lisp
slyrus has quit [Ping timeout: 260 seconds]
actuallybatman has joined #lisp
nicktick has quit [Ping timeout: 245 seconds]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
louis771 has quit [Quit: My M1 has gone to sleep. ZZZzzz…]
judson_ has joined #lisp
_jrjsmrtn has joined #lisp
__jrjsmrtn__ has quit [Ping timeout: 240 seconds]
kevingal has joined #lisp
actuallybatman has quit [Ping timeout: 240 seconds]
orivej has quit [Ping timeout: 264 seconds]
louis771 has joined #lisp
slyrus has joined #lisp
slyrus has quit [Ping timeout: 264 seconds]
sauvin has quit [Remote host closed the connection]
long4mud has joined #lisp
dbotton has quit [Quit: This computer has gone to sleep]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rumbler31 has quit [Remote host closed the connection]
rumbler31 has joined #lisp
judson_ has joined #lisp
dbotton has joined #lisp
iskander has quit [Quit: bye]
luni has joined #lisp
slyrus has joined #lisp
slyrus has quit [Ping timeout: 265 seconds]
warweasle has quit [Quit: rcirc on GNU Emacs 26.1]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
landakram has joined #lisp
dtman34 has quit [Ping timeout: 260 seconds]
dtman34 has joined #lisp
rogersm has joined #lisp
sxmx has quit [Quit: WeeChat 3.0.1]
judson_ has joined #lisp
rozenglass has joined #lisp
Cymew has quit [Ping timeout: 264 seconds]
hiroaki_ has quit [Ping timeout: 272 seconds]
supercoven has joined #lisp
rozenglass has quit [Client Quit]
supercoven_ has quit [Ping timeout: 245 seconds]
karlosz has joined #lisp
karlosz has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
kevingal has quit [Remote host closed the connection]
Oladon has joined #lisp
hiroaki_ has joined #lisp
sxmx has joined #lisp
rozenglass has joined #lisp
ebrasca has quit [Remote host closed the connection]
paulj has joined #lisp
pankajsg has quit [Ping timeout: 260 seconds]
aartaka has quit [Read error: Connection reset by peer]
aartaka has joined #lisp
narimiran has quit [Ping timeout: 260 seconds]
hiroaki_ has quit [Ping timeout: 245 seconds]
rozenglass has quit [Remote host closed the connection]
Ardent has joined #lisp
rogersm has quit [Remote host closed the connection]
rogersm has joined #lisp
aeth has quit [Ping timeout: 240 seconds]
rogersm has quit [Remote host closed the connection]
aeth has joined #lisp
interruptinuse has quit [Ping timeout: 256 seconds]
shoshin5 has joined #lisp
AdmiralBumbleBee has quit [Ping timeout: 256 seconds]
daniel1302_ has joined #lisp
interruptinuse has joined #lisp
nitrix_ has joined #lisp
nitrix has quit [Ping timeout: 256 seconds]
emma has quit [Ping timeout: 256 seconds]
_death has quit [Ping timeout: 256 seconds]
save-lisp-or-die has quit [Read error: Connection reset by peer]
shoshin has quit [Ping timeout: 256 seconds]
daniel1302 has quit [Ping timeout: 256 seconds]
shoshin5 is now known as shoshin
AdmiralBumbleBee has joined #lisp
emma has joined #lisp
emma has quit [Changing host]
emma has joined #lisp
adeht has joined #lisp
hiroaki_ has joined #lisp
mmmattyx has joined #lisp
anticrisis has joined #lisp
louis771 has quit [Quit: My M1 has gone to sleep. ZZZzzz…]
louis771 has joined #lisp
louis771 has quit [Quit: My M1 has gone to sleep. ZZZzzz…]
supercoven has quit [Ping timeout: 245 seconds]
anticrisis has quit [Read error: Connection reset by peer]
louis771 has joined #lisp
anticrisis has joined #lisp
dbotton has quit [Quit: This computer has gone to sleep]
aartaka has quit [Ping timeout: 245 seconds]
dbotton has joined #lisp
iskander has joined #lisp
mindCrime has joined #lisp
attila_lendvai has quit [Ping timeout: 272 seconds]
Oladon has quit [Quit: Leaving.]
hineios has quit [Quit: The Lounge - https://thelounge.chat]
hineios has joined #lisp
quazimodo has quit [Ping timeout: 260 seconds]
slyrus has joined #lisp
hineios has quit [Client Quit]
hineios has joined #lisp
Oladon has joined #lisp
slyrus has quit [Ping timeout: 260 seconds]
dbotton has quit [Quit: This computer has gone to sleep]
judson_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
wanko has quit [Ping timeout: 245 seconds]
Nilby has joined #lisp
wanko has joined #lisp
judson_ has joined #lisp
kpoeck has joined #lisp
karlosz has quit [Quit: karlosz]
hiroaki_ has quit [Ping timeout: 272 seconds]
* Xach thinks some more
waleee-cl has joined #lisp
hiroaki has quit [Ping timeout: 264 seconds]
hiroaki has joined #lisp
shka_ has quit [Ping timeout: 245 seconds]
hiroaki_ has joined #lisp
notzmv has quit [Ping timeout: 260 seconds]
<jasom> aeth: I had a portable version of sb-unicode at one point
<jasom> aeth: but I do think it required that the char-code be the code-point
notzmv has joined #lisp
notzmv is now known as Guest73794
actuallybatman has joined #lisp
<Bike> you have to make _some_ assumption, don't you? that char codes match, or char names match, or something
dbotton has joined #lisp
Guest73794 has quit [Ping timeout: 256 seconds]
<jasom> well I just tried it on ccl and it confusable-p worked, so it hasn't completely bit-rotted
<jasom> probably needs updated input files
<Bike> my utf8string thing assumed char-codes matched, i think...
<Bike> yeah.
galex-713 has quit [Ping timeout: 272 seconds]
zmv- has joined #lisp
<jasom> It did not work on abcl: (psb-unicode:confusable-p "pa" "р𝝰") ; => NIL
zmv- has joined #lisp
zmv- has quit [Changing host]
<jasom> (char "р𝝰" 1) ;=> #\?
hineios has quit [Quit: The Lounge - https://thelounge.chat]
<jasom> so that just looks like not accepting utf-8 from repl
<Bike> oh no
hineios has joined #lisp
<jasom> but if I stuff an actual greek alpha in there it returns true
jonatack has quit [Ping timeout: 276 seconds]
zmv- is now known as notzmv
<jasom> "р𝝰" ;=> "р?���"
pve has quit [Quit: leaving]
cognemo has quit [Ping timeout: 265 seconds]
cognemo has joined #lisp
<jasom> (psb-unicode:confusable-p "p" (babel:octets-to-string (make-array 2 :element-type '(unsigned-byte 8) :initial-contents #(#xcf #x81)))) ; => T
aindilis has joined #lisp
<jasom> oh, clisp found some non-portable LOOP forms
Oladon has quit [Quit: Leaving.]
frgo has quit [Read error: Connection reset by peer]
surabax has quit [Quit: Leaving]
<jasom> but that simple smoketest passed on ccl, clisp, and abcl
frgo has joined #lisp
mmmattyx has quit [Quit: Connection closed for inactivity]
ewd has quit [Ping timeout: 260 seconds]
random-nick has quit [Ping timeout: 260 seconds]
slyrus has joined #lisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #lisp
iamFIREcracker has joined #lisp
slyrus has quit [Ping timeout: 264 seconds]
kpoeck has quit [Quit: Connection closed]
iamFIREc1 has quit [Ping timeout: 260 seconds]
akoana has joined #lisp
sjl has quit [Ping timeout: 264 seconds]
karlosz has joined #lisp
elflng has quit [Ping timeout: 246 seconds]
elflng has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 28.0.50)]
actuallybatman has quit [Ping timeout: 240 seconds]
luni has quit [Quit: Connection closed]