p_l 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/> | ASDF 3.3.4
smazga has quit [Quit: leaving]
<vms14> oh, I've mixed lisp and perl with sockets :D
<vms14> (sb-bsd-sockets:socket-send *socket* (format nil "print STDERR 'meh';'as';~%") nil) => "as"
<vms14> and prints to stderr on the perl side
<vms14> this is nice, because now Lisp has all the perl modules available
<vms14> well atm is just perl evaluating whatever it founds from the socket and returning the results
<LdBeth> But why perl
<vms14> LdBeth: I kinda like perl
<vms14> it's a great language
<LdBeth> I think I could do the same with apl then
<vms14> just try, I suppose most lispers end using another language because lack of libraries or whatever in lisp
<vms14> if the language you want to use has eval, you can just use sockets and make it eval whatever it reads
<vms14> or predefine functions or whatever, and you can even return lists to the socket so lisp can eval them
rumbler31 has joined #lisp
<vms14> I had the same stuff but calling the perl interpreter, which is slow, now with sockets will be much faster
Bike has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
<no-defun-allowed> "I suppose most lispers end using another language because lack of libraries or whatever in lisp" What? Quite the opposite.
<vms14> (sb-bsd-sockets:socket-send *socket* (format nil "@oh=values %ENV;\"@oh\";~%") nil)
<no-defun-allowed> I've only needed to burgle-batteries to use a Keras model once.
<vms14> well, you're right. There are a lot of libraries for common lisp
<Odin-> I'd probably reach for a C FFI long before a tunnel to Perl or Python...
<vms14> but sometimes you end needing to implement stuff by yourself
<vms14> Odin-: why?
<vms14> yeah, sockets+eval is a very dirty approach
<no-defun-allowed> And by "quite the opposite", I mean I haven't really written any big projects in any language since I picked up Lisp.
<vms14> no-defun-allowed: try to make a discord bot, you'll have to implement some stuff
<vms14> same for a tg bot
<vms14> you can, and it's likely that being implemented in lisp they'll be "better" software than in the other languages
<vms14> oh :O
<Odin-> vms14: Because in my experience using a Lisp FFI makes even C interfaces workable in interactive development.
<no-defun-allowed> I'm not even trying to find them; both were within the first page of DuckDuckGo results for "common lisp {discord,telegram}"
<vms14> nice
shifty has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
orivej has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
<vms14> well at least is an excuse to play with sockets
<vms14> xD
* no-defun-allowed sighs
torbo has joined #lisp
z147 has quit [Quit: z147]
<vms14> btw what type of stream is this one?
<vms14> (defparameter *socket-out-stream* (sb-bsd-sockets:socket-make-stream *connection* :element-type 'character :output t))
<vms14> by default is set to element-type 'character, so this is redundant
<vms14> but I'm not able to use it with write-line write-sequence or write-byte
<no-defun-allowed> All I can say is that it's a character output stream. What happens when you write-line to it?
<vms14> it says it's not a byte stream with write-byte and not a character stream with the others
<no-defun-allowed> What is (stream-element-type *socket-out-stream*)?
<vms14> #<SB-SYS:FD-STREAM for "socket /home/vms/meh.oh" {1003DA8B13}> is not a character output stream.
<vms14> (stream-element-type *socket-out-stream*)
<vms14> CHARACTER
<vms14> it seems it isn't "output" type
<vms14> because streamp says t
<no-defun-allowed> That makes no sense, an output stream is a stream.
<vms14> (output-stream-p *socket-out-stream*)
ravndal has quit [Ping timeout: 260 seconds]
<vms14> NIL
<vms14> yes, but not an output-stream
<vms14> oh, it's an input stream
<no-defun-allowed> Why not use usocket for this? That's much easier to work with.
<no-defun-allowed> (usocket:socket-stream (usocket:socket-connect "127.0.0.1" 12345)) ; => a two way character stream
<vms14> but I'm using (sb-bsd-sockets:socket-make-stream *connection* :output t)
Thilastiko has joined #lisp
<vms14> no-defun-allowed: usocket has unix sockets?
<vms14> I guess it hasn't
<vms14> but not sure
<no-defun-allowed> Probably not, but it can probably get the stream from a socket created with SB-BSD-SOCKETS.
<vms14> hmm, ty for the hint
<vms14> I should use usocket for portability, but meh, it won't work with unix sockets
<vms14> anyway I can write lines with sb-bsd-sockets:socket-send and read lines without having to worry on sizes to read
<Thilastiko> Hello World! I am new to irc on emacs and am hoping to find out if theres a channel out there for newbies
<no-defun-allowed> #clschool
<Thilastiko> clschool? thanks
<vms14> also #emacs if you want to learn about
Thilastiko has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
<LdBeth> Seems I cannot add new irc channels to Riot anymore
Thelastiko has joined #lisp
<LdBeth> Never mind, the problem’s with their web client
orivej has quit [Ping timeout: 260 seconds]
<no-defun-allowed> "LdBeth: you've been in a coma for 25 years" "oh, have they fixed the Riot client yet?" "lol no"
orivej has joined #lisp
Thelastiko has left #lisp ["ERC (IRC client for Emacs 25.2.2)"]
rumbler31 has joined #lisp
rumbler31 has quit [Ping timeout: 272 seconds]
buffergn0me has joined #lisp
ravndal has joined #lisp
iAmDecim has quit [Ping timeout: 252 seconds]
iAmDecim has joined #lisp
mikecheck has quit [Remote host closed the connection]
iAmDecim has quit [Ping timeout: 260 seconds]
igemnace has joined #lisp
chipolux has quit [Ping timeout: 265 seconds]
<vms14> now the alien can eat onions
buffergn0me has quit [Ping timeout: 240 seconds]
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.3)]
Kaisyu7 has joined #lisp
akrl`` has quit [Ping timeout: 240 seconds]
igemnace has quit [Quit: WeeChat 2.7]
rumbler31 has joined #lisp
KingOfCSU has joined #lisp
akrl`` has joined #lisp
iAmDecim has joined #lisp
iAmDecim has quit [Ping timeout: 260 seconds]
vms14 has quit [Remote host closed the connection]
bitmapper has quit [Ping timeout: 272 seconds]
igemnace has joined #lisp
igemnace has quit [Ping timeout: 272 seconds]
krwq has quit [Remote host closed the connection]
madrik has joined #lisp
igemnace has joined #lisp
igemnace has quit [Remote host closed the connection]
KingOfCSU has quit [Ping timeout: 258 seconds]
igemnace has joined #lisp
pagnol has joined #lisp
akoana has joined #lisp
dreamcompiler has quit [Quit: dreamcompiler]
hsaziz has joined #lisp
markasoftware has quit [Quit: No Ping reply in 180 seconds.]
markasoftware has joined #lisp
slyrus_ has joined #lisp
slyrus__ has quit [Ping timeout: 260 seconds]
slyrus__ has joined #lisp
buffergn0me has joined #lisp
rwcom7 has joined #lisp
slyrus_ has quit [Ping timeout: 260 seconds]
ebzzry has joined #lisp
rwcom has quit [Ping timeout: 240 seconds]
rwcom7 is now known as rwcom
igemnace has quit [Ping timeout: 265 seconds]
akoana has left #lisp ["Leaving"]
pagnol has quit [Ping timeout: 258 seconds]
torbo has quit [Remote host closed the connection]
KingOfCSU has joined #lisp
KingRiverLee has joined #lisp
Arcsech_ has joined #lisp
rumbler3_ has joined #lisp
Arcsech has quit [Ping timeout: 260 seconds]
jxy_ has joined #lisp
hdasch has quit [Ping timeout: 260 seconds]
niceplaces has quit [Ping timeout: 260 seconds]
equwal has quit [Quit: ZNC 1.7.5 - https://znc.in]
buffergn0me has quit [Ping timeout: 240 seconds]
michalisko has quit [Ping timeout: 260 seconds]
niceplace has joined #lisp
aindilis` has joined #lisp
ravndal has quit [Ping timeout: 260 seconds]
rixard has quit [Ping timeout: 260 seconds]
emacsomancer has quit [Ping timeout: 260 seconds]
joast has quit [Ping timeout: 260 seconds]
d4ryus has quit [Ping timeout: 260 seconds]
jbgg has quit [Ping timeout: 260 seconds]
KingOfCSU has quit [Ping timeout: 260 seconds]
jxy has quit [Ping timeout: 260 seconds]
Nikotiini has quit [Ping timeout: 260 seconds]
Xach has quit [Ping timeout: 260 seconds]
ineiros_ has quit [Ping timeout: 260 seconds]
rixard has joined #lisp
rumbler31 has quit [Ping timeout: 260 seconds]
aindilis has quit [Ping timeout: 260 seconds]
Krystof has quit [Ping timeout: 260 seconds]
equwal has joined #lisp
ineiros has joined #lisp
jbgg has joined #lisp
Nikotiini has joined #lisp
emacsomancer has joined #lisp
Xach has joined #lisp
hdasch has joined #lisp
d4ryus has joined #lisp
mrSpec has quit [Ping timeout: 240 seconds]
michalisko has joined #lisp
aindilis` has quit [Remote host closed the connection]
ravndal has joined #lisp
mrSpec has joined #lisp
mrSpec is now known as Guest18050
igemnace has joined #lisp
aindilis has joined #lisp
igemnace has quit [Ping timeout: 258 seconds]
ebzzry has quit [Read error: Connection reset by peer]
karlosz has joined #lisp
igemnace has joined #lisp
oxum has quit [Remote host closed the connection]
Bike has quit [Quit: Lost terminal]
_whitelogger has joined #lisp
oxum has joined #lisp
oldcrow has joined #lisp
shifty has quit [Ping timeout: 255 seconds]
KingRiverLee has quit [Ping timeout: 258 seconds]
kmeow has quit [Ping timeout: 248 seconds]
<beach> Good morning everyone!
kmeow has joined #lisp
ebzzry has joined #lisp
<ebrasca> Morning!
<no-defun-allowed> Hello ebrasca.
<ebrasca> Hi no-defun-allowed
<no-defun-allowed> How are you?
<ebrasca> I am fine!
oxum has quit [Ping timeout: 240 seconds]
<ebrasca> no-defun-allowed: And how are you?
<no-defun-allowed> Alright, thanks.
oxum has joined #lisp
gravicappa has joined #lisp
vlatkoB has joined #lisp
rwcom1 has joined #lisp
rwcom has quit [Ping timeout: 260 seconds]
rwcom1 is now known as rwcom
KingRiverLee has joined #lisp
froggey has quit [Ping timeout: 240 seconds]
froggey has joined #lisp
oxum has quit [Remote host closed the connection]
KingOfCSU has joined #lisp
KingRiverLee has quit [Ping timeout: 258 seconds]
oxum has joined #lisp
mathrick_ has quit [Ping timeout: 265 seconds]
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
narimiran has joined #lisp
quazimodo has joined #lisp
oxum has quit [Remote host closed the connection]
oxum has joined #lisp
flamebeard has joined #lisp
mathrick_ has joined #lisp
hiroaki_ has quit [Ping timeout: 240 seconds]
oxum_ has joined #lisp
oxum has quit [Ping timeout: 240 seconds]
oxum_ has quit [Ping timeout: 265 seconds]
dddddd has quit [Ping timeout: 240 seconds]
nowhere_man has quit [Ping timeout: 260 seconds]
markasoftware has quit [Quit: No Ping reply in 180 seconds.]
orivej has quit [Ping timeout: 272 seconds]
markasoftware has joined #lisp
oxum has joined #lisp
KingOfCSU has quit [Read error: Connection reset by peer]
KingOfCSU has joined #lisp
JohnMS_WORK has joined #lisp
lowryder has quit [Ping timeout: 260 seconds]
oxum has quit [Ping timeout: 265 seconds]
lowryder has joined #lisp
gxt has quit [Quit: WeeChat 2.7]
kayu has joined #lisp
KingRiverLee has joined #lisp
KingOfCSU has quit [Ping timeout: 265 seconds]
kayu has quit [Quit: ERC (IRC client for Emacs 26.1)]
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
Lord_of_Life_ is now known as Lord_of_Life
jprajzne has joined #lisp
oxum has joined #lisp
Krystof has joined #lisp
jonatack has quit [Ping timeout: 240 seconds]
ukari has joined #lisp
dale has quit [Quit: dale]
markasoftware has quit [Quit: No Ping reply in 180 seconds.]
adam4567 has left #lisp ["ERC (IRC client for Emacs 26.3)"]
KingRiverLee has quit [Ping timeout: 260 seconds]
KingRiverLee has joined #lisp
Cymew has joined #lisp
KingRiver has joined #lisp
markasoftware has joined #lisp
KingRiverLee has quit [Ping timeout: 258 seconds]
jonatack has joined #lisp
_whitelogger has joined #lisp
Necktwi has joined #lisp
KingRiver has quit [Ping timeout: 255 seconds]
KingRiver has joined #lisp
tazjin has quit [Excess Flood]
iAmDecim has joined #lisp
hhdave has joined #lisp
jonatack has quit [Ping timeout: 272 seconds]
tazjin has joined #lisp
trittweiler has quit [Remote host closed the connection]
<phoe> morniiiing
<no-defun-allowed> Good moooorning phoe.
iAmDecim has quit [Ping timeout: 260 seconds]
karlosz has quit [Quit: karlosz]
karlosz has joined #lisp
karlosz has quit [Remote host closed the connection]
hhdave has quit [Ping timeout: 255 seconds]
davepdotorg has joined #lisp
hhdave has joined #lisp
oxum_ has joined #lisp
oxum has quit [Ping timeout: 255 seconds]
rwcom has quit [Ping timeout: 265 seconds]
rwcom4 has joined #lisp
rwcom4 is now known as rwcom
KingRiverLee has joined #lisp
KingRiverLee has quit [Remote host closed the connection]
KingRiverLee has joined #lisp
KingRiver has quit [Ping timeout: 240 seconds]
KingOfCSU has joined #lisp
nadare has joined #lisp
KingRiverLee has quit [Ping timeout: 255 seconds]
pmden has joined #lisp
orivej has joined #lisp
jonatack has joined #lisp
ljavorsk has joined #lisp
m00natic has joined #lisp
<phoe> `(m ,@'#1=(o . #1#) r n i n g)
iAmDecim has joined #lisp
ljavorsk has quit [Remote host closed the connection]
oxum_ has quit [Remote host closed the connection]
ljavorsk has joined #lisp
<no-defun-allowed> 😟
iAmDecim has quit [Ping timeout: 258 seconds]
ljavorsk has quit [Ping timeout: 240 seconds]
montaropdf has joined #lisp
Posterdati has quit [Ping timeout: 246 seconds]
Posterdati has joined #lisp
trittweiler has joined #lisp
ljavorsk has joined #lisp
oxum has joined #lisp
Guest18050 has quit [Changing host]
Guest18050 has joined #lisp
Guest18050 is now known as mrSpec
grabarz has joined #lisp
KingRiverLee has joined #lisp
KingOfCSU has quit [Ping timeout: 240 seconds]
KingRiverLee has quit [Ping timeout: 260 seconds]
oxum has quit [Read error: Connection reset by peer]
amerlyq has joined #lisp
<splittist> Given the string "/foo/bar/../baz/quux.lisp" I would like to obtain "/foo/baz/quux.lisp", and the obvious generalizations of this scheme. Because the string looks like a pathname I have been looking at various path-related things, but nothing and nobody seems to want to give me what I want. Am I just thinking about this wrong?
Inline has quit [Quit: Leaving]
scymtym has joined #lisp
<z0d> splittist: doesn't cl-fad has something for it?
<z0d> cannonical-pathname ?
prince1 has quit [Ping timeout: 255 seconds]
<splittist> Except that I'm on SBCL (or CCL), and "NB: Since this function does not access the filesystem it will only remove :BACK elements from the path (not :UP elements). Since some lisps, ccl/sbcl/clisp convert ".." in pathnames to :UP, and not :BACK, the actual utility of the function is limited."
<splittist> I'll implement it myself. (It is verging on the Left_Pad level of functionality...)
amnesia1010 has joined #lisp
iAmDecim has joined #lisp
igemnace has quit [Quit: WeeChat 2.7.1]
ljavorsk has quit [Ping timeout: 248 seconds]
<Shinmera> Colleen: tell splittist look up pathname-utils normalize-pathname
<Colleen> splittist: Function pathname-utils:normalize-pathname https://shinmera.github.io/pathname-utils#FUNCTION%20PATHNAME-UTILS%3ANORMALIZE-PATHNAME
vegai has left #lisp [#lisp]
iAmDecim has quit [Ping timeout: 255 seconds]
<Shinmera> that library has been tested on a few implementations at least so I know the stuff is as correct as can be :)
amnesia1010 has quit [Ping timeout: 255 seconds]
Inline has joined #lisp
mingus has quit [Quit: ERC (IRC client for Emacs 26.3)]
<splittist> Shinmera: thanks, but same thing.
KingRiver has joined #lisp
<Shinmera> one of the problems is that it can't convert :up, since :up's semantics can differ in the presence of symlinks
<Shinmera> I suppose an option in pathname-utils to not care about that would be nice.
<splittist> Sure. But since my strings aren't actually pathnames on an OS with symlinks I can treat '..' as :back. (Option would be good (: )
<Odin-> uiop:parse-unix-namestring ?
<phoe> ^
<Shinmera> pathname-utils should also really implement pathname parsing functions.
<Shinmera> haven't gotten around to that, as with so many things
<Odin-> Seems like it does the right thing.
<splittist> Odin- and phoe: Yes! I had actually looked at it a while ago but didn't think it would work on the basis of the description of dotdot. 0 for reading comprehension.
drl has joined #lisp
<Odin-> Yeah, I wasn't sure so I decided to just see what it did. :p
ebzzry has quit [Ping timeout: 240 seconds]
madage has quit [Ping timeout: 240 seconds]
gko_ has joined #lisp
madage has joined #lisp
montaropdf has quit [Remote host closed the connection]
shka_ has joined #lisp
<shka_> good day
amnesia1010 has joined #lisp
shifty has joined #lisp
<beach> Hello shka_.
__vlgvrs has quit [Remote host closed the connection]
amerlyq has quit [Remote host closed the connection]
__vlgvrs has joined #lisp
__vlgvrs has quit [Remote host closed the connection]
__vlgvrs has joined #lisp
prince1 has joined #lisp
KingRiver has quit [Ping timeout: 258 seconds]
kslt1 has joined #lisp
KingRiver has joined #lisp
ggole has joined #lisp
prince1 has quit [Ping timeout: 258 seconds]
montaropdf has joined #lisp
oxum has joined #lisp
jmercouris has joined #lisp
iAmDecim has joined #lisp
jmercouris has quit [Remote host closed the connection]
ljavorsk has joined #lisp
drl has quit [Quit: Ex-Chat]
patrixl` has joined #lisp
ljavorsk has quit [Ping timeout: 240 seconds]
patrixl` is now known as patrixl
patrixl has quit [Client Quit]
ebzzry has joined #lisp
patrixl` has joined #lisp
patrixl` has left #lisp [#lisp]
_paul0 has joined #lisp
__vlgvrs has quit [Ping timeout: 272 seconds]
_heisig has joined #lisp
patrixl has joined #lisp
gareppa has joined #lisp
patrixl has quit [Client Quit]
sunwukong has joined #lisp
hsaziz has quit [Ping timeout: 258 seconds]
wxie has joined #lisp
dddddd has joined #lisp
wxie1 has joined #lisp
heisig has quit [Killed (leguin.freenode.net (Nickname regained by services))]
_heisig is now known as heisig
Guest36682 has joined #lisp
patrixl has joined #lisp
wxie has quit [Ping timeout: 260 seconds]
wxie1 is now known as wxie
patrixl has quit [Client Quit]
man213 has joined #lisp
bitmapper has joined #lisp
didi has joined #lisp
<didi> What do I use to write a SETF variable that accepts a default value like `getf'? For example, (incf (getf foo :bar 0)) works even if FOO doesn't have the indicator :BAR.
patrixl has joined #lisp
<phoe> didi: (defun (setf my-getf) (newval place key &optional default) ...)
<didi> phoe: Thank you.
oxum has quit [Quit: Leaving...]
oxum has joined #lisp
Bike has joined #lisp
<phoe> for GETF, though, you might want to write a more elaborate SETF expansion. There is no #'(SETF GETF), for instance.
oxum has quit [Ping timeout: 258 seconds]
<phoe> So a DEFUN won't work there.
_jrjsmrtn has quit [Ping timeout: 260 seconds]
__jrjsmrtn__ has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
wxie has quit [Ping timeout: 240 seconds]
oxum has joined #lisp
KingRiver has quit [Ping timeout: 258 seconds]
tazjin has quit [Excess Flood]
tazjin has joined #lisp
bjorkintosh has joined #lisp
rwcom6 has joined #lisp
xkapastel has joined #lisp
nadare has quit [Quit: nadare]
rwcom has quit [Ping timeout: 258 seconds]
rwcom6 is now known as rwcom
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
grabarz has quit [Quit: Textual IRC Client: www.textualapp.com]
amnesia1010 has quit [Ping timeout: 260 seconds]
Necktwi has quit [Ping timeout: 272 seconds]
kajo has quit [Ping timeout: 272 seconds]
kajo has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
prince1 has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
flamebeard has quit []
HDurer has quit [Ping timeout: 240 seconds]
Necktwi has joined #lisp
prince1 has quit [Ping timeout: 258 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
KingRiver has joined #lisp
HDurer has joined #lisp
amnesia1010 has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
mingus has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
madrik has quit [Quit: Dinner]
Guest36682 has quit [Remote host closed the connection]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
JohnMS_WORK has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
heisig has quit [Quit: Leaving]
<_death> didi: actually setf function would not work.. you'll need to use another mechanism (for example defmacro and get-setf-expansion) because FOO may be NIL and GETF will need to modify the binding in that case
bjorkintosh has quit [Remote host closed the connection]
<_death> (ah, phoe already mentioned this)
bjorkintosh has joined #lisp
<didi> _death: I'm using a combination of `defsetf' and `defmethod'. Something like (defsetf getf (place indicator &optional default) (new-value) `(set-getf place indicator value &optional default)), and `set-getf' is a generic function so I can use different classes of PLACE.
<didi> With the missing , for the variables.
joast has joined #lisp
<didi> `defsetf' seems to be smart enough for evaluating DEFAULT before NEW-VALUE.
random-nick has joined #lisp
shka_ has quit [Quit: WeeChat 1.9.1]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
mingus has quit [Ping timeout: 265 seconds]
ljavorsk has joined #lisp
efm has quit [Ping timeout: 240 seconds]
bjorkintosh has quit [Remote host closed the connection]
<phoe> didi: it's not the issue of evaluation order, it's the issue of modifying places.
bjorkintosh has joined #lisp
KingRiver has quit [Ping timeout: 265 seconds]
<phoe> GETF might want to modify a lexical variable. A function is unable to do that; a macro is needed.
<phoe> (let ((x 2)) (mutate x) ...) ; in here, MUTATE must be a macro, since a function is unable to affect the binding of lexivar X.
<didi> phoe: Ah, interesting. I guess it doesn't affect me in my use case, but I didn't think of that.
efm has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
jmercouris has joined #lisp
<jmercouris> pjb: I just want to push their contents to a file as my program is running when launched via spotlight so I can have some hope of discerning *why* it crashed
<minion> jmercouris, memo from pjb: stdout/stderr are directed to the same file descriptor as the parent process. So, what does the parent process do to them? (It may redirect them to /dev/null). Inside the child, you can reopen or dup them. What do you want to do?
<jmercouris> pjb: because (as I'm sure you know) when you launch via spotlight there is not an easy way to gather stdout of a running program
Bourne has quit [Ping timeout: 258 seconds]
<phoe> didi: if that's the case, then everything's good. DEFUN SETF is going to work well if you do not mutate the binding itself, but e.g. mutate some slots in an instance, or the contents of some cons cell.
<jmercouris> vms14: usocket does not have unix domain sockets, use iolib
<didi> phoe: Yah, that's the case.
mrcom has quit [Read error: Connection reset by peer]
<phoe> Then DEFUN SETF all the way you want, or DEFMETHOD SETF if you want specialization.
<didi> phoe: Cool, cool. I'll use DEFMETHOD SETF.
<didi> Thank you.
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
<pjb> jmercouris: the program itself can reopen its stdout and stderr to a file if that's what you want.
jprajzne has quit [Quit: Leaving.]
h11 has quit [Read error: Connection reset by peer]
<jmercouris> pjb: yes, that is what I want
Arcsech_ has quit [Ping timeout: 265 seconds]
h11 has joined #lisp
<jmercouris> I saw uiop:*stdout* and uiop:*stderr* not sure how to use
Bourne has joined #lisp
SumoSud0 has quit [Quit: 8y3 8y3]
<pjb> jmercouris: so now you are changing the question!
<jmercouris> OK, here's the ultimate goal
<jmercouris> I launch program via spotlight
<pjb> you asked for stdin and stdout which are POSIX file descriptors.
<jmercouris> I want the contents of stdout and stderr redirected to a file
<jmercouris> program == compiled lisp program
<pjb> *standard-output* and *error-output* are different. You can also bind them to file streams, but this doesn't redirect stdout and stderr.
SumoSud0 has joined #lisp
<jmercouris> I actually want *standard-output* and *error-output*
<jmercouris> I thought *standard-output* also outputs to stdout?
<pjb> So you don't fork other processes. You don't use foreign libraries.
<jmercouris> yes
<pjb> You are only considering your lisp code.
<jmercouris> correct
<pjb> (setf *standard-output* (open "/tmp/out" :direction :output :if-does-not-exist :create :if-exists :append) *error-output* (open "/tmp/err" :direction :output :if-does-not-exist :create :if-exists :append))
Arcsech has joined #lisp
<jmercouris> ah, interesting
<jmercouris> you know, that makes a lot of sense
<jmercouris> thank you
bjorkintosh has quit [Remote host closed the connection]
<pjb> Check also *trace-output*, and *terminal-io* *query-io* *debug-io*
bjorkintosh has joined #lisp
<pjb> But for a program launched from spotlight, I don't know what the 3 later are bound to.
<jmercouris> that's OK
gareppa has quit [Quit: Leaving]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
ljavorsk has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 258 seconds]
luni has joined #lisp
dreamcompiler has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
luni has quit [Remote host closed the connection]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
quazimodo has quit [Ping timeout: 255 seconds]
amerlyq has joined #lisp
quazimodo has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
man213_ has joined #lisp
bjorkintosh has joined #lisp
Cymew has quit [Ping timeout: 252 seconds]
pfdietz has joined #lisp
jmercouris has quit [Ping timeout: 260 seconds]
smazga has joined #lisp
bigfoote has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
ukari has quit [Remote host closed the connection]
ebzzry has quit [Ping timeout: 252 seconds]
X-Scale has quit [Ping timeout: 268 seconds]
amnesia1010 has quit [Ping timeout: 255 seconds]
X-Scale` has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
X-Scale` is now known as X-Scale
prince1 has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
dyelar has joined #lisp
amnesia1010 has joined #lisp
slyrus_ has joined #lisp
amnesia1010 has quit [Client Quit]
prince1 has quit [Ping timeout: 265 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
slyrus__ has quit [Ping timeout: 265 seconds]
slyrus__ has joined #lisp
ark has joined #lisp
slyrus_ has quit [Ping timeout: 265 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
rwcom5 has joined #lisp
rwcom has quit [Ping timeout: 240 seconds]
rwcom5 is now known as rwcom
Bourne has quit [Remote host closed the connection]
X-Scale has quit [Quit: HydraIRC -> http://www.hydrairc.com <- Wibbly Wobbly IRC]
shka_ has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
sammich_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
Bourne has joined #lisp
sammich has joined #lisp
montaropdf has quit [Quit: see you later]
didi has left #lisp ["O bella ciao bella ciao bella ciao, ciao, ciao."]
gko_ has quit [Ping timeout: 265 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
LiamH has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
tazjin has quit [Read error: Connection reset by peer]
tazjin has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
ukari has joined #lisp
bjorkintosh has joined #lisp
dale_ has joined #lisp
dale_ is now known as dale
shifty has joined #lisp
dale has quit [Quit: dale]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
sjl_ has joined #lisp
dale has joined #lisp
mrcom has joined #lisp
davepdotorg has quit [Ping timeout: 260 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bitmapper has quit [Remote host closed the connection]
bitmapper has joined #lisp
RandomGuy74 has joined #lisp
bitmapper has quit [Ping timeout: 240 seconds]
<RandomGuy74> how can i automate changing description keyset search order and applying description keys with no mouse input?
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
<mfiano> RandomGuy74: This channel is for discussions about Common Lisp, not AutoLISP.
xkapastel has quit [Quit: Connection closed for inactivity]
m00natic has quit [Remote host closed the connection]
sunwukong has quit [Quit: Leaving]
<RandomGuy74> awesome
<RandomGuy74> thanks
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
pmden has quit [Quit: Goodbyeee]
RandomGuy74 has quit [Quit: TechSupport user disconnecting]
Lord_of_Life has quit [Read error: Connection reset by peer]
Lord_of_Life has joined #lisp
hhdave has quit [Quit: hhdave]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
efm has quit [Remote host closed the connection]
efm has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
Bourne has quit [Ping timeout: 255 seconds]
zaquest has quit [Quit: Leaving]
efm has quit [Read error: Connection reset by peer]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bitmapper has joined #lisp
efm has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
shka_ has quit [Ping timeout: 260 seconds]
bjorkintosh has joined #lisp
shka_ has joined #lisp
cosimone has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bigfoote has quit [Remote host closed the connection]
cosimone has quit [Remote host closed the connection]
bjorkintosh has quit [Remote host closed the connection]
oldtopman has quit [Ping timeout: 268 seconds]
efm has quit [Read error: Connection reset by peer]
bjorkintosh has joined #lisp
ggole has quit [Quit: Leaving]
oldtopman has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
efm has joined #lisp
slyrus_ has joined #lisp
shka_ has quit [Quit: Konversation terminated!]
shka_ has joined #lisp
prince1 has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
slyrus__ has quit [Ping timeout: 272 seconds]
prince1 has quit [Ping timeout: 258 seconds]
nettle has joined #lisp
grabarz has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
Bourne has joined #lisp
kayu has joined #lisp
varjag has joined #lisp
orivej has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
cosimone has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
grabarz has quit [Quit: Textual IRC Client: www.textualapp.com]
nettle has left #lisp ["WeeChat 1.9-dev"]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
kayu has quit [Ping timeout: 265 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
man213_ has quit [Quit: Going offline, see ya! (www.adiirc.com)]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
lucasb has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
oldtopman has quit [Read error: Connection reset by peer]
X-Scale has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
cosimone has quit [Quit: Quit.]
luni has joined #lisp
oldtopman has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
Lord_of_Life_ has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
Lord_of_Life has quit [Ping timeout: 272 seconds]
Lord_of_Life_ is now known as Lord_of_Life
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
lemoinem is now known as Guest72470
lemoinem has joined #lisp
Guest72470 has quit [Ping timeout: 268 seconds]
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
Blukunfando has quit [Read error: Connection reset by peer]
Josh_2 has joined #lisp
jonatack has quit [Ping timeout: 252 seconds]
cosimone has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 255 seconds]
bjorkintosh has joined #lisp
gareppa has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
<Josh_2> Hey, dumb question but what chapter in SICP describes the programming style used in cl-ppcre, I believe It's used for parsing data etc involves conditionally calling lambdas or something
<pjb> Josh_2: there are only 4 chapters in SICP, IIRC.
<Josh_2> yes I see that :(
<Josh_2> well anyway, I have seen code that Xach has made where he has done it
<Josh_2> I don't know the name so I can only describe it
<pjb> Let's exclude chapter 1, that gives you P=0.3333…3…
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
kslt1` has joined #lisp
<Josh_2> Yes I think that's it _death
scymtym has quit [Ping timeout: 240 seconds]
<Josh_2> I swear I read someone say that this something is done in SICP, I'm probably wrong though ¯\_(ツ)_/¯
<Josh_2> Wait no, It's literally at the top of that post
zaquest has joined #lisp
kslt1 has quit [Ping timeout: 240 seconds]
kslt1`` has joined #lisp
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
kslt1` has quit [Ping timeout: 258 seconds]
<stylewarning> Are there any pre-baked libraries for UNIX IPC queues in Lisp?
bjorkintosh has quit [Remote host closed the connection]
bjorkintosh has joined #lisp
prince1 has joined #lisp
<luni> yes in sicp there is almost everything :/
<luni> anyway i still don't have a physical copy of that book :/
Fare has joined #lisp
prince1 has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 265 seconds]
shifty has joined #lisp
Necktwi has quit [Quit: leaving]
<dlowe> I used the tree of closures trick in one of my own projects
orivej has quit [Ping timeout: 260 seconds]
<luni> wow... which trick?
<dlowe> You can "compile" a language by transforming it into lambda functions that do the operations
<luni> ok... were lambdas represent the rest of computation i suppose
<dlowe> this and the functions above it
kslt1``` has joined #lisp
<luni> yes, having first class return points it's a lot useful
kslt1`` has quit [Ping timeout: 260 seconds]
varjag has quit [Ping timeout: 265 seconds]
phadthai has quit [Ping timeout: 240 seconds]
phadthai has joined #lisp
<luni> another cool thing is closure conversion, but actually i'm still trying to figure out what to do with continuations
ljavorsk has joined #lisp
cl-wlc has quit [Quit: cl-wlc]
vlatkoB has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
Fare has quit [Ping timeout: 248 seconds]
kslt1``` has quit [Remote host closed the connection]
kslt1``` has joined #lisp
narimiran has quit [Ping timeout: 260 seconds]
slyrus__ has joined #lisp
Fare has joined #lisp
slyrus_ has quit [Ping timeout: 265 seconds]
slyrus_ has joined #lisp
slyrus__ has quit [Ping timeout: 258 seconds]
gareppa has quit [Quit: Leaving]
bjorkintosh has quit [Quit: Leaving]
z147 has joined #lisp
izh_ has joined #lisp
<aeth> I'm writing a string pattern matching macro, read-case, which reads characters until one of the branches is taken on literal strings or characters. Eventually, I'll optimize it so e.g. having "abc" and "aeiou" become #\a followed by a recursive macro call on "bc" and "eiou" branches.
<aeth> I'm not using a library because I have to customize it to meet my needs of parsing quite a few different languages, but I'm open for ideas. e.g. expressing "0 or more" and "1 or more", or maybe mixing in something like regex or of equivalent power. Or maybe character ranges
<Fare> ... ending with a grammar generator?
<pfdietz> For efficiency hacks, look at string-case
<pfdietz> (by Paul Khuong)
<aeth> Fare: I mean, yes, actually. I think this should be powerful enough to do BNF->read-case, which then gives me scheme-read, which should give me the Scheme-in-CL.
<aeth> pfdietz: Yes, this is essentially a string-case except instead of going string-by-string it's going read-char-by-read-char because either I'm receiving someone's string protocol or I'm reading a prog/config lang's file.
<aeth> pfdietz: Currently, when I need to do stuff like this, I do read into temporary strings, but I don't need the inefficiency if I write this macro.
<aeth> At least, not for the general matching. Maybe specific patterns.
amerlyq has quit [Quit: amerlyq]
<Fare> aeth, if you're going the Scheme way, what does CL buy you compared to say, Gambit or Chez or JS or JVM as the underlying environment?
<aeth> Fare: I'm compiling a Scheme into CL, which gives me (1) close to the performance of SBCL when gradually typed as long as the CPS transformation doesn't kill performance and (2) the ability to use any library in quicklisp that doesn't use code-walking macros as long as I can trivially define Scheme procedures/etc. for each CL API
<aeth> Fare: So essentially, high-performance+lots-of-libraries while actually doing less work than a from-scratch Scheme
<aeth> Yes, the JVM would given even more libraries, but it would be libraries with more of a mismatch. Scheme and CL are similar languages, so wrapped CL should be idiomatic.
<pfdietz> Heh. Would this be faster than existing Schemes?
<aeth> pfdietz: Ideally, yes.
<aeth> When hosted on SBCL.
<pfdietz> That would be something.
<aeth> pfdietz: In my testing, ensuring tail recursion via trampoline in a DO loop has 0 performance penalty in SBCL vs. SBCL's own tail recursion (which isn't guaranteed, it depends on optimization levels, so I can't use it)
<aeth> pfdietz: So as long as the continuation passing style also has 0 performance penalty or close to it, it will be as fast as SBCL
<Fare> SBCL makes a lot of implementation choices that depend on not having call/cc. Implementing call/cc on top of that would probably make it slower than Gambit, Chez, etc.
<Fare> Unless you go under the hood an implement some continuation capture deep inside SBCL, which is probably quite possible
<aeth> Fare: Initially, it will probably not be as fast as it could be, but hopefully there will be a way to do it eventually.
<Fare> (the problem then being—which implicit assumption of which operation will you then be violating)
<pfdietz> Wait, so this would be Scheme but without call/cc?
<Fare> already exists: bigloo with default compilation flags.
<Fare> or stalin.
<pfdietz> Ok
<aeth> pfdietz: I'm implementing Scheme with CL lambdas. The most straightforward way to get call/cc from this is to do a continuation passing style transformation on the lambdas.
<Fare> aeth, assuming proper tail calls, that should work.
<Fare> But you probably shouldn't assume proper tail calls for CL dynamic bindings :-(
<Fare> so no cheap scheme parameters
<aeth> Fare: Proper tail calls are via a trampoline, i.e. return a thunk in a DO loop. This has no performance penalty in SBCL over SBCL's tail recursion which I can't rely on.
<aeth> Fare: Dynamic bindings might be tricky...
izh_ has quit [Quit: Leaving]
<Fare> also, if you have continuations, please do delimited control, not (just) global control.
<pfdietz> It will be mildly hilarious if this ends more performant than the dedicated schemes.
<luni> why not global control?
<Fare> it will
<Bike> dynamic-wind is the hard part, i think
<aeth> pfdietz: That is the intent, actually. This isn't very different from compiling to C, except this (CL) is a language with less mismatch in semantics so the compiler should be able to optimize more
<Fare> prompt / fcontrol or shift / reset is much nicer than call/cc
luni has left #lisp [#lisp]
<aeth> My intent is to "launch" on February 29th so that its birthday can be on a leap day. I almost did that 4 years ago, but delays came up and I put the project aside for other things. But I don't want to miss this opportunity again.
<aeth> I'll "launch" without a complete Scheme if necessary.
<Fare> does your Scheme have a name? I had names for Schemes... my favorite is Agley, as gang the best laid schemes of mice and men.
<aeth> I have an idea from an old HN thread, but it depends on if someone took the domains yet or not. That's why I won't say it, either.
<pfdietz> trivial-scheme? cl-scheme?
<z147> aeth lambda.church is available last time I checked
<aeth> pfdietz: cl-scheme is the current working name, but it's not a good name
<Bike> you have to name scheme implementations after crimes. that's the rule
<aeth> Bike: I have to name it after a scheme.
<pfdietz> cl-the-ultimate-scheme
<Fare> election!
<Bike> RICO
<pfdietz> Biggerloo
<aeth> Bike: I have to name it after something with com/net/org available :-p
<z147> uncommon scheme it is
<pfdietz> Ponzi
<no-defun-allowed> aeth: is it going to be a particularly interactive Scheme?
<aeth> Anyway, my first step is read-case, that should give me enough to handle the BNF that is in r7rs.pdf, which gives me the complete scheme-read. Then I'll have to find a CPS scheme, and after that, that's like 80% of a Scheme since I alrady have most of the Scheme->CL mappings written (e.g. + is just +, car is almost car but (car '()) in Scheme is an error, etc.).
<pfdietz> Anyway, I look forward to hearing more about this. Impressed.
<aeth> A lot of the edge cases are already solved, like #f represented as a CL symbol, where CL functions are either wrapped as a procedure (nil is '()) or a predicate (nil is turned into #f which is something like 'false)
<no-defun-allowed> We're considering the name Kaplin Scheme, but that is going to be a long way away. (Kaplin tried to assassinate Lenin, which makes for a funny contrast to Stalin as a heavy inlining compiler.)
<aeth> And the case-sensitivity of Scheme is solved by inverting the case in the Scheme reader, i.e. scheme:foo is SCHEME:FOO, but scheme:FoO is SCHEME:fOo, so in the common case, there's trivial CL<->Scheme interop, but Scheme remains case sensitive
<aeth> no-defun-allowed: what is your Scheme targeting as a platform?
random-nick has quit [Ping timeout: 255 seconds]
<no-defun-allowed> Probably not Common Lisp.
<aeth> no-defun-allowed: As for the interactivity, I would ideally have the same interactive development semantics as SLIME, ideally even accessing it through SLIME. Continuations might make this complicated because "stale" bindings matter more
<aeth> no-defun-allowed: Also, the global Scheme binding environment is a bit complicated because there are no lexical globals in most CLs. Portable CL has dynamic/special globals, and non-portable CL extensions (e.g. in SBCL) tend to provide globals where you can't locally override them at all
<aeth> So the REPL and the global redefinitions would be complicated for that reason
<aeth> On the other hand, Lisp-1 vs. Lisp-2 is no deal at all because a Lisp-1 inside of a Lisp-2 is just a Lisp where you store (unnamed) lambdas in the variable namespace.
<aeth> s/no deal/no big deal/
prince1 has joined #lisp
<aeth> pfdietz: Thanks! Barring complications, I'll have something on the 29th, even if it's not complete. SCHEME-READ should be done. Continuations might not be. Hygienic macros, probably won't be ready. As for a few really weird procedures like rationalize, they'll almost certainly not be ready in time.
<aeth> A mutable "global" (within the Scheme) binding environment (which I think no-defun-allowed wants?) is going to be tricky and might not be there initially. I might also have to pay close attention to the equality testing predicates to ensure that the semantics match the r7rs spec.
prince1 has quit [Ping timeout: 265 seconds]
<aeth> Excluding a macro system and call/cc, I've been sitting on like 80% of a Scheme for years, just with an incomplete, not general enough read, which is why I'm trying to write a pattern-matching read-case that is equally as powerful as the BNF used in r7rs.pdf, guaranteeing complete reading.
reepca has joined #lisp
<aeth> Oh, one final thing... no CLOS wrapping on launch (but generic functions are just functions, so they can still be wrapped like any other function if DEFMETHODs are defined in CL) and no guarantee of keyword support at launch, either.
<aeth> I'm targeting r7rs small, which isn't much. There will be a full CL wrapping at some later point, for things like GETHASH and MAKE-HASH-TABLE, as well as AREF and MAKE-ARRAY, probably the most interesting data structure features of CL
CrazyPython has joined #lisp
<reepca> I'm in a pickle with pathnames again... I've got the pathname of a temporary file from uiop/stream:with-temporary-file, and I want to rename it to a different pathname. Unfortunately uiop has created the pathname with :type "tmp", and I'd like to rename it to a file that doesn't have a type. But rename-file fills in any nil components with the corresponding components from the source pathname...
<reepca> so as far as I can see, there's actually no way to rename a pathname that has a non-nil type to one with a nil type
<reepca> am I missing something there?
kslt1``` has quit [Ping timeout: 265 seconds]
CrazyPython has quit [Remote host closed the connection]
<reepca> I guess with-temporary-file does provide an option for controlling the type, so I can work around that, but it does seem strange
jcowan has joined #lisp
sjl_ has quit [Ping timeout: 260 seconds]
<jcowan> Bike: Neither Chicken nor Chibi is a crime
<reepca> hm, actually it seems with-temporary-file doesn't distinguish between the keyword-argument-is-nil and keyword-argument-not-provided cases...
<Bike> jcowan: have you ever met a chicken?
Khisanth has quit [Ping timeout: 255 seconds]
<jcowan> Yes. But they lack mens rea
<Fare> I'm pretty sure uiop lets you choose the file ending for your temporary file.
<Fare> But then again, I wrote that thing years ago.
<Fare> reepca: the problem with nil vs :unspecified is that not all implementations support :unspecified as a pathname component
<Fare> sorry, :unspecific, not :unspecified
<Fare> See the definition for *unspecific-pathname-type*
z147_ has joined #lisp
z147 has quit [Remote host closed the connection]
<Fare> otherwise, you can of course escape to a shell and use mv (or ren if on windows?)
<jcowan> guh
<jcowan> fairly soon Windows builds can assume powershell
prince1 has joined #lisp
madage has quit [Remote host closed the connection]
gigetoo has quit [Ping timeout: 255 seconds]
<jcowan> in fact probably right now if you drop support for Win7 SP0 and earlier
madage has joined #lisp
gigetoo has joined #lisp
hsaziz has joined #lisp
Khisanth has joined #lisp
<reepca> Fare: I looked at the code, turns out there's a bit of a bug with with-temporary-file that isn't present with call-with-temporary-file
<reepca> with-temporary-file checks whether :type is nil at macroexpansion time and omits the argument if it is
<jcowan> I'm particularly interested in how Scheme looks to CL. Do you have to funcall everything, or is symbol-function set for free when possible?
prince1 has quit [Ping timeout: 265 seconds]
<reepca> but this means that the distinction between supplied-as-nil and not-supplied is lost, and not-supplied is the only case that can be expressed using with-temporary-file
slyrus__ has joined #lisp
ljavorsk has quit [Ping timeout: 260 seconds]
prince1 has joined #lisp
slyrus_ has quit [Ping timeout: 240 seconds]
Bike has quit [Quit: Bike]
terpri_ has joined #lisp
terpri has quit [Read error: Connection reset by peer]
lucasb has quit [Quit: Connection closed for inactivity]
hsaziz has quit [Ping timeout: 255 seconds]
kajo has quit [Ping timeout: 272 seconds]
kajo has joined #lisp
scymtym has joined #lisp
oni-on-ion has joined #lisp
Bike has joined #lisp
Codaraxis has joined #lisp
iAmDecim has quit [Ping timeout: 265 seconds]