Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
xylef has joined #lisp
sielicki has joined #lisp
akanouras has joined #lisp
no-defun-allowed has joined #lisp
dtw has joined #lisp
Jachy has joined #lisp
colelyman has joined #lisp
illandan[m] has joined #lisp
Gnuxie[m] has joined #lisp
Woazboat has joined #lisp
Josh_2 has joined #lisp
lucasb has quit [Quit: Connection closed for inactivity]
<moldybits>
what is the preferred xml parsing library?
<gilberth>
mine :)
<gilberth>
Which whould be Closure XML.
<moldybits>
cxml on quicklisp?
<gilberth>
Yes.
<moldybits>
cool. i'll check it out :)
<gilberth>
There is quite some documentation on common-lisp.net, I believe.
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
Josh_2 has joined #lisp
brettgilio has joined #lisp
karlosz has joined #lisp
Aruseus has quit [Remote host closed the connection]
Ukari has quit [Remote host closed the connection]
Ukari has joined #lisp
robdog has joined #lisp
ltriant has quit [Ping timeout: 246 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
robdog has quit [Ping timeout: 252 seconds]
<drmeister>
Is closer-mop supposed to integrate with the implementations clos package?
eschatologist has quit [Excess Flood]
<drmeister>
clpython implements closer-mop:validate-superclass but clasp's defclass and validate-superclass doesn't know anything about it.
eschatologist has joined #lisp
robdog has joined #lisp
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
<verisimilitude>
Well, I have a network solution that works just how I want it to, now. I run netcat as the listening process and simply read from its stdout and write to its stdin. It's easier than using USOCKET.
robdog_ has joined #lisp
Josh_2 has joined #lisp
CuriousCain has quit [Quit: WeeChat 2.2]
robdog has quit [Ping timeout: 264 seconds]
<verisimilitude>
It's rather sad this is easier, I think.
<verisimilitude>
What do you think?
<gilberth>
Yes, I never figured out why networking APIs must be painful to use.
<gilberth>
Why isn't it just (WITH-NETWORK-CONNECTION (STREAM "foo.com" 1234) ...)?
<Josh_2>
you can pretty much do that with drakma
<verisimilitude>
DRAKMA is a large library.
<gilberth>
Well, listening is harder, since you want a new process for each connection.
<gilberth>
DRAKMA is for HTTP.
<verisimilitude>
Not all of its dependencies are pure Common Lisp, either.
robdog_ has quit [Ping timeout: 264 seconds]
Josh_2 has quit [Quit: ERC (IRC client for Emacs 26.1)]
<verisimilitude>
Here's what I had as a test; they get a period and newline and I get whatever was sent:
<verisimilitude>
This is more than good enough for a simple Gopher server, until I write a proper network abstraction library.
<gilberth>
??? So I telnet to your machine on port 1025 and get a dot back?
<verisimilitude>
Well, it's not running right now, but sure.
<verisimilitude>
I was just using netcat to send the request from another machine, though.
<gilberth>
*Sigh* What, if we both connect to the machine of yours? Who gets the dot?
<verisimilitude>
I figure one of you does.
<verisimilitude>
A Gopher server is going to get far less than one request per second, so this is fine for now.
<gilberth>
SO_REUSEADDR abused? That is strange, very strange.
<verisimilitude>
I was just going to call netcat in a loop.
robdog_ has joined #lisp
* gilberth
finds a table to bang his head to.
<verisimilitude>
I agree that this is a ridiculous situation, gilberth.
<gilberth>
Sorry, but you'll have fun.
makomo has quit [Ping timeout: 245 seconds]
<gilberth>
Besides: What you send back to the client will not be constant, will it?
<verisimilitude>
No; in actuality, it's going to be reading the input and using it to determine what's returned.
<gilberth>
OK. And then, what would be the :INPUT argument to RUN-PROGRAM?
<verisimilitude>
It would be a stream for this.
* gilberth
tries to remember the details of RUN-PROGRAM
Josh_2 has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
<verisimilitude>
It just launches the program, with the arguments, with stdin and stdout attached to whatever you want.
<gilberth>
There is :WAIT NIL or something. I believe you actually then get streams to talk "interactively" to the unix process.
ltriant has joined #lisp
<verisimilitude>
Yes.
polezaivsani has quit [Remote host closed the connection]
<gilberth>
Still, even inetd(8) is saner.
<verisimilitude>
Oh, that deos seem nicer, yes.
* gilberth
checks his calendar.
<gilberth>
No, 1980 is gone. :)
<verisimilitude>
I was going to write this Gopher server to be indifferent to how its streams are connected, so that will be sufficient for now.
<verisimilitude>
I appreciate the suggestion, gilberth.
<gilberth>
Well, I would bite the bullet and figure out the USOCKET API. You need to write the accept loop only once.
<verisimilitude>
I'd rather write my own API.
<Josh_2>
gilberth: I got some examples if u want
robdog has joined #lisp
<gilberth>
But, if this is kind of one-shot you are trying to do and have a low chance of two connection requests at once, it'll do.
<gilberth>
verisimilitude: I figure, you figure, what the problem is.
<verisimilitude>
Actually, I'm looking into inetd and xinetd and all of that, now.
robdog_ has quit [Ping timeout: 264 seconds]
<gilberth>
verisimilitude: Well, inetd would spawn a new [unix] process altogether for each connection.
<verisimilitude>
I hardly use my server for anything.
<verisimilitude>
I understand enough to know I don't care for the complicated BSD Sockets API, which USOCKET abstracts with, so my sense of aesthetics compels me to write my own solution, gilberth.
<Josh_2>
so my android app can connect to my cl server and cl server can connect to my phone
<gilberth>
verisimilitude: I understand that. IMHO using inetd or netcat is not particular simpler.
<Josh_2>
unwind-protect is a life saver with usocket xD otherwise you will get address in use over and over and over
<gilberth>
verisimilitude: Does it have to be portable?
<verisimilitude>
The Gopher server will be portable in any case, as it will only use streams.
<verisimilitude>
As for running it in a way that connects these streams to the Internet, xinetd will be more than good for now until I have a network library in Common Lisp I want.
warweasle has quit [Quit: later]
robdog_ has joined #lisp
<gilberth>
Well, you could evolve that. Do with a netcat loop to develop it, then later use USOCKET. But again: I would bite the bullet.
<gilberth>
And, yes, the BSD API is horrible.
<verisimilitude>
Why should I bite the bullet when it's not necessary?
<gilberth>
If you could live with either the latency of using inetd or the fact, that clients might get a connection refused [netcat loop], fine.
robdog has quit [Ping timeout: 264 seconds]
<verisimilitude>
I don't like USOCKET, from what I've seen, so I'll just write my own library; Common Lisp makes it easy to do this.
<Josh_2>
but usocket is just a wrapper for the kernel sockets isn't it?
<Josh_2>
:O
<gilberth>
verisimilitude: Didn't you just say, that you want that portable?
<verisimilitude>
Yes.
<verisimilitude>
The library would work over streams, ideally, so it would be easily interchangeable.
<eschatologist>
Yeah, it's fairly clever, just keeping a placeholder object in the group list.
brettgilio has quit [Remote host closed the connection]
notzmv has joined #lisp
<gilberth>
Well abusing the reader is a nice hack but "dirty".
notzmv is now known as Guest51817
<gilberth>
But then, if you ask schemers, all our macros are dirty too.
robdog_ has joined #lisp
Guest51817 is now known as zmv
zmv is now known as notzmv
<gilberth>
zmv or not zmv is the question? Or what? Can you decide on a nick?
robdog has quit [Ping timeout: 264 seconds]
<loke>
gilberth: am I misreading the code, or is that code never restoring the syntax to #\, ?
<gilberth>
No. Does it copy the read table even?
<loke>
No. and the restoring of the syntax of #\- should probably be done in an unwind-protect
<loke>
(then again, I rarely if ever touch the syntax table stuff)
robdog has joined #lisp
<gilberth>
But, IIRC *readtable* is bound later up. When I could find the damn code.
<drmeister>
Does anyone know how closer-mop brings a system closer to mop? Does it make their existing clos work closer to mop or does one have to use closer-mop symbols?
<loke>
drmeister: You use the closer-mop symbols
bilb_ono has joined #lisp
ebrasca has joined #lisp
<loke>
drmeister: most symbols are just re-exported into the closer-mop package. In some cases there are workarounds written for some lisps
<drmeister>
So - clasp's defclass invokes clasp's clos::validate-superclass. I'm trying to build clpython and it defines some methods on closer-mop:validate-superclass but they appear to be ignored - is there anything I need to do to integrate these closer-mop:validate-superclass into clasp's clos?
robdog_ has quit [Ping timeout: 268 seconds]
<loke>
drmeister: SOunds like a problem with closer-mop. Closer-mop should be reexporting the validate-superclass into the closer-mop package
nullheroes has quit [Quit: WeeChat 2.3]
robdog_ has joined #lisp
<drmeister>
Hmm, I think I see. If closer-mop reexports clos:validate-superclass then defining methods on closer-mop:validate-superclass means they are methods on clos:validate-superclass.
<drmeister>
Do I have that right? I never realized this before.
nullheroes has joined #lisp
<loke>
drmeister: Exactly.
<loke>
That's my understanding how it works
djeis[m] has joined #lisp
<djeis[m]>
Comments in the source suggest that the closer-mop dev has assumed clasp's mop is more or less ecl's and if I'm reading the defpackage correctly it's importing (and re-exporting) validate-superclass from clasp's clos package.
robdog has quit [Ping timeout: 268 seconds]
<djeis[m]>
(devs, my bad)
robdog_ has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
Fare has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
SaganMan has joined #lisp
torbo has quit [Remote host closed the connection]
Oladon has joined #lisp
robdog_ has joined #lisp
<drmeister>
djeis[m], loke: Thank you.
<drmeister>
I think this uncovered a subtle problem with clasp's generic function dispatching.
robdog has quit [Ping timeout: 250 seconds]
gravicappa has joined #lisp
<drmeister>
We will take a closer look at it tomorrow.
robdog_ has quit [Ping timeout: 250 seconds]
lavaflow_ has quit [Read error: Connection reset by peer]
lavaflow_ has joined #lisp
robdog has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
nanoz has joined #lisp
robdog has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
robdog_ has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
robdog has joined #lisp
robdog_ has quit [Ping timeout: 252 seconds]
robdog_ has joined #lisp
vlatkoB has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
nanoz has quit [Read error: Connection reset by peer]
benjamin-l has quit [Remote host closed the connection]
robdog_ has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
Elephant454 has left #lisp ["ERC (IRC client for Emacs 26.1)"]
mooshmoosh has quit [Read error: Connection reset by peer]
robdog has joined #lisp
<beach>
Good morning everyone!
mooshmoosh has joined #lisp
bilb_ono has quit [Quit: bilb_ono]
robdog_ has quit [Ping timeout: 264 seconds]
bilb_ono has joined #lisp
jprajzne has joined #lisp
Kevslinger has quit [Quit: Connection closed for inactivity]
nullheroes has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
robdog has joined #lisp
makomo has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
scymtym has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
bilb_ono has quit [Quit: bilb_ono]
JohnMS_WORK has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
robdog has joined #lisp
vilivulpine has quit [Ping timeout: 255 seconds]
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
python476 has joined #lisp
pillton has quit [Ping timeout: 264 seconds]
varjag has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
bilb_ono has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
zigpaw has quit [Remote host closed the connection]
zigpaw has joined #lisp
xkapastel has joined #lisp
robdog has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
bilb_ono has quit [Quit: bilb_ono]
<splittist>
morning beach
JohnMS has joined #lisp
robdog has joined #lisp
bilb_ono has joined #lisp
gigetoo has quit [Ping timeout: 246 seconds]
robdog_ has quit [Ping timeout: 252 seconds]
JohnMS_WORK has quit [Ping timeout: 246 seconds]
robdog has quit [Ping timeout: 252 seconds]
bilb_ono has quit [Quit: bilb_ono]
robdog has joined #lisp
scymtym has joined #lisp
schweers has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
robdog_ has joined #lisp
<scymtym>
svillemot: this is not a problem or anything, but i was wondering whether there is a particular reason for Debian not upgrading to SBCL 1.5.0 in unstable. put differently: did we do something problematic or worrying in SBCL?
<svillemot>
scymtym: this is because Debian is currently in freeze, in preparation for the next release (“Buster” 10), probably for a couple of months
<svillemot>
I am probably going to upload SBCL 1.5.0 to experimental in the meantime
<scymtym>
i see, thank. i thought the jump from 1.4.* to 1.5.0 could have been the reason
<scymtym>
*thanks
robdog has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
dddddd has joined #lisp
mooshmoosh has quit [Ping timeout: 250 seconds]
robdog has quit [Ping timeout: 264 seconds]
bilb_ono has joined #lisp
robdog has joined #lisp
mooshmoosh has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
hhdave has joined #lisp
amerlyq has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
hhdave_ has joined #lisp
heisig has joined #lisp
hhdave has quit [Ping timeout: 245 seconds]
hhdave_ is now known as hhdave
robdog has joined #lisp
bilb_ono has quit [Quit: bilb_ono]
SaganMan has quit [Ping timeout: 245 seconds]
nirved has quit [Killed (adams.freenode.net (Nickname regained by services))]
nirved has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
robdog has joined #lisp
mooshmoosh has quit [Ping timeout: 244 seconds]
mooshmoosh has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog_ has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
SaganMan has joined #lisp
flamebeard has joined #lisp
dreamcompiler has quit [Quit: dreamcompiler]
robdog has quit [Ping timeout: 258 seconds]
flamebeard has quit [Remote host closed the connection]
plisp has joined #lisp
plisp has quit [Client Quit]
robdog has joined #lisp
robdog_ has joined #lisp
<ym>
I heard several times that initially by design LISP wasn't for evaluation, but for human-friendly and mathematically strict description of Turing-complete language. Is there any papers, describing this historical episode in details?
heisig has quit [Quit: Leaving]
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
skelic2 has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog_ has quit [Ping timeout: 252 seconds]
CuriousCain has joined #lisp
<skelic2>
anyone here using caveman2 web framework?
<pjb>
ym: lisp was introduced, because the Algol commitee wouldn't consider COND, and Fortran wouldn't add COND or a ternary IF.
<pjb>
And also, those languages weren't good enough to implement the AI ideas of the new AILab founded by McCarthy et al.
<pjb>
ym: on the other hand, the s-expression form of lisp was designed only as a data description language. There was a m-expression form for lisp code. But the student Russel realized that he could implement the eval function easily, and use the s-expression for the program source without waiting for the finalization of the m-expression syntax.
lnostdal has quit [Remote host closed the connection]
mooshmoosh has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
mooshmoosh has joined #lisp
SaganMan has quit [Ping timeout: 255 seconds]
hhdave has quit [Ping timeout: 272 seconds]
robdog has quit [Ping timeout: 264 seconds]
hhdave has joined #lisp
esrse has joined #lisp
robdog has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Ping timeout: 257 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
m00natic has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
notzmv has quit [Ping timeout: 255 seconds]
robdog has joined #lisp
esrse has quit [Ping timeout: 255 seconds]
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
sz0 has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
anewuser has joined #lisp
Bike is now known as Bicyclidine
nowhereman has joined #lisp
notzmv has joined #lisp
robdog has joined #lisp
Ukari has quit [Ping timeout: 246 seconds]
Lord_of_Life_ has joined #lisp
verisimilitude has quit [Remote host closed the connection]
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
robdog has quit [Ping timeout: 264 seconds]
Ukari has joined #lisp
tumdum has joined #lisp
q9929t has joined #lisp
q9929t has quit [Quit: q9929t]
xkapastel has quit [Quit: Connection closed for inactivity]
Bike has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
macbug has left #lisp [#lisp]
robdog_ has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
LiamH has joined #lisp
jsjolen has joined #lisp
lucasb has joined #lisp
robdog_ has quit [Ping timeout: 252 seconds]
<jsjolen>
Hi. I want to have a modern (aka case-preserving) readtable. That's easy with named-readtable. Now I want to downcase the CL package and its symbols so that I can use it 'naturally'. My attempt: D-E-S over CL, SETF FDEFINITION and SYMBOL-VALUE. My issue: I can't SETF FDEFINITION of special operators. Is there anyting else I can do? Is there a solution for this?
warweasle has joined #lisp
Achylles has joined #lisp
<dlowe>
most people just set *readtable-case* to :invert
<Bike>
if you did want to stick with the first idea for some reason, just define macros, like (defmacro my-cl:|progn| (&rest forms) `(cl:|PROGN| ,@forms))
vlatkoB has quit [Remote host closed the connection]
<Bike>
probably not a good idea though, it'll make debugging output a little weird and stuff
<jsjolen>
Bike: Yeah, that's why I dismissed that idea. Well, this worked! :-)
<Bike>
that's good.
vlatkoB has joined #lisp
nowhereman has quit [Ping timeout: 246 seconds]
robdog has joined #lisp
Kevslinger has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
jsjolen has quit [Read error: Connection reset by peer]
robdog has joined #lisp
notzmv has quit [Ping timeout: 246 seconds]
robdog has quit [Ping timeout: 268 seconds]
xkapastel has joined #lisp
flamebeard has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
flamebeard has quit [Remote host closed the connection]
dale_ has joined #lisp
dale_ is now known as dale
skelic2 has quit [Quit: Leaving]
robdog has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
robdog has joined #lisp
verisimilitude has joined #lisp
Oladon has quit [Quit: Leaving.]
elazul has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
elderK has joined #lisp
robdog has joined #lisp
FreeBirdLjj has joined #lisp
robdog_ has joined #lisp
Inline has joined #lisp
flamebeard has joined #lisp
igemnace has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
X-Scale has quit [Ping timeout: 246 seconds]
robdog has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
sjl_ has quit [Quit: WeeChat 2.3-dev]
sjl_ has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
rippa has joined #lisp
robdog has joined #lisp
robdog_ has quit [Ping timeout: 264 seconds]
robdog has quit [Ping timeout: 264 seconds]
X-Scale has joined #lisp
robdog has joined #lisp
bilb_ono has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
orivej has joined #lisp
bilb_ono has quit [Quit: bilb_ono]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
bilb_ono has joined #lisp
bilb_ono has quit [Client Quit]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
robdog has joined #lisp
SaganMan has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
jprajzne has quit [Quit: Leaving.]
heisig has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 250 seconds]
slyrus__ has joined #lisp
Arcaelyx has joined #lisp
slyrus_ has quit [Ping timeout: 246 seconds]
nowhere_man has joined #lisp
robdog has joined #lisp
Khisanth has quit [Ping timeout: 246 seconds]
Fare has joined #lisp
CuriousCain has quit [Quit: WeeChat 2.2]
flamebeard has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 268 seconds]
heisig has joined #lisp
Fare has quit [Ping timeout: 268 seconds]
Khisanth has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
<jcowan>
As a Unix non-hater, I can say that the BSD API is definitely not aligned with the spirit of Unix.
actuallybatman has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 252 seconds]
heisig has quit [Quit: Leaving]
python476 has quit [Ping timeout: 258 seconds]
elazul has quit [Ping timeout: 255 seconds]
PuercoPop has joined #lisp
robdog has joined #lisp
<jcowan>
The 8th Edition treatment of sockets-as-files is, though.
robdog has quit [Ping timeout: 250 seconds]
edgar-rft has quit [Quit: Leaving]
shka_ has joined #lisp
<verisimilitude>
It's not the only bad API; it's what one's stuck using under GNU/Linux and the BSDs, in any case.
CuriousCain has joined #lisp
<PuercoPop>
verisimilitude: curious as to what would be a good API?
<verisimilitude>
Making a network request should in no way be more laborious than making a filesystem request, at the least, I think.
varjag has joined #lisp
<PuercoPop>
verisimilitude: but besides opening the socket sb-bsd-socket gives you a socket to write and read from, is that not what you are looking for?
robdog has joined #lisp
trafaret1 has joined #lisp
<trafaret1>
o/
<beach>
Hello trafaret1.
<verisimilitude>
Just opening the socket is bad enough. SB-BSD-SOCKETS:SOCKET-MAKE-STREAM gets a proper interface, however.
<moldybits>
does modifying a quoted list have undefined behaviour?
<beach>
Yes.
<verisimilitude>
Modifying a literal list does, yes.
<moldybits>
thanks
<verisimilitude>
This also applies to other literal data.
<trafaret1>
what is lambda? how it important in lisp?
<verisimilitude>
Are you familiar with anonymous functions, trafaret1?
<beach>
trafaret1: It is a constructor for functions.
<trafaret1>
verisimilitude: kidn of function without a name
<beach>
Yes.
<trafaret1>
I start to read short intro to lambda and ...
<trafaret1>
get nothign
<verisimilitude>
Yes, trafaret1; so, lambda gives one the ability to play with functions as one would with other data.
robdog has quit [Ping timeout: 264 seconds]
orivej has quit [Ping timeout: 245 seconds]
<PuercoPop>
verisimilitude: so something like plan9's dial for initialization?
<verisimilitude>
I'm gladly unfamiliar with how Plan9 works.
nanoz has joined #lisp
<verisimilitude>
I've been skulking around for some details concerning Genera's network facilities, but haven't found much in the way of details yet; if any of you know where to find this, I'd appreciate it.
FreeBirdLjj has quit [Remote host closed the connection]
eddof13 has joined #lisp
dddddd has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
smasta has joined #lisp
charh has quit [Ping timeout: 246 seconds]
charh has joined #lisp
robdog has joined #lisp
Fare has joined #lisp
nowhere_man has quit [Ping timeout: 245 seconds]
robdog has quit [Ping timeout: 268 seconds]
cage_ has joined #lisp
robdog has joined #lisp
<pjb>
PuercoPop: int server=open("/dev/tcp/www.google.com/80","r+"); int ret=write(server,"GET /\r\n",7); char buffer[8192]; ret=read(fd,buffer,sizeof(buffer)); close(fd);
<pjb>
bash provides something like this.
Fare has quit [Ping timeout: 246 seconds]
robdog has quit [Ping timeout: 250 seconds]
<verisimilitude>
The Google homepage is 220 kilobytes, pjb, so your C example doesn't work as well as you think.
<pjb>
You are not forced to read the 220 KB.
<verisimilitude>
I know, but a real solution would require more than those few lines is my point.
<pjb>
Of course. This is the unix way: simple kernel, complex userland. Requires good and disciplined programmers.
emaczen has joined #lisp
<verisimilitude>
Yes, good joke there.
<emaczen>
Why is (decode-universal-time 0) giving me december 31st 1899 at the 16th hour of the day?
<minion>
emaczen, memo from phoe: if your hooks depend on each other (e.g. due to calling order), then they are actually a badly factored single hook - and they should become a single hook
<pjb>
emaczen: because of the timezone.
<dlowe>
you can open a socket in plan9 like cd /net/tcp/`/net/tcp/clone/ctl`;echo connect example.com 80 >ctl;echo "GET / HTTP/1.0" >data;cat data
<pjb>
If time-zone is not supplied, it defaults to the current time zone adjusted for daylight saving time. If time-zone is supplied, daylight saving time information is ignored.
<Xach>
emaczen: because of your time zone.
Essadon has joined #lisp
<emaczen>
I'm assuming the tiemzone number is the offset in hours?
<moldybits>
i have a little snake game. there's a class that keeps all the state, and now i wish to add state-saving. my problem is that one of the slots store a lambda. i could specify that it's not allowed to be a closure, i guess ...
<pjb>
Yes, but it's opposite to the one defined in iso8601.
<Xach>
emnope!
<Xach>
emaczen: nope!
<pjb>
(you know, US-centered specifications).
<Xach>
emaczen: >> time zone n. a rational multiple of 1/3600 between -24 (inclusive) and 24 (inclusive) that represents a time zone as a number of hours offset from Greenwich Mean Time. Time zone values increase with motion to the west, so Massachusetts, U.S.A. is in time zone 5...
<Xach>
so, "yes", but not as simple as you might expect.
<dlowe>
I'm mildly grateful that there aren't time zones >24h difference
<pjb>
Massachusetts is in UTC-5, but in CL TZ +5.
<pjb>
<pjb>
robdog has joined #lisp
<dlowe>
(for half the year)
<verisimilitude>
Are you using a GNU system, emaczen?
<verisimilitude>
If so, run this command for an idea of how awful time is managed:
<verisimilitude>
info 'date input formats'
robdog has quit [Ping timeout: 264 seconds]
karlosz has joined #lisp
<moldybits>
if i want to save a lambda to a file, i'd need to store the sexp somewhere myself, right?
trafaret1 has quit [Remote host closed the connection]
<moldybits>
if i have a (lambda () 42) list, what's a good way of turning it into a function? eval?
<dlowe>
you can use COMPILE
<moldybits>
how?
<Xach>
(compile nil '(lambda () 42)) is one way
<moldybits>
is that superior to eval?
robdog has joined #lisp
matijja has quit [Ping timeout: 245 seconds]
orivej has joined #lisp
X-Scale` has joined #lisp
<Bike>
well, it will get you a compiled function
<Bike>
which will probably run more efficiently, but the compilation process will take longer
<Bike>
...assuming the implementation actually has a separate compiler and evaluator, which it may not
X-Scale has quit [Ping timeout: 255 seconds]
X-Scale` is now known as X-Scale
<moldybits>
hm.
paul0 has quit [Quit: Leaving]
<Bike>
may i ask what it is you're actually doing, that you want to save functions to a file?
m00natic has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 252 seconds]
<dlowe>
I mean, you could write code to a file, then call COMPILE-FILE which might make a fasl
<moldybits>
i want to save the current state of the snake game. how to calculate the new cooldown for the snake (based on its length) is a lambda that i want to be user-modifiable.
<dlowe>
and then that would be somewhat faster than compiling every time. Maybe.
<verisimilitude>
Just use a file that you load each time, then.
<verisimilitude>
That can contain the settings by setting the variables directly.
<moldybits>
hm. that won't allow me to change it while the game is running, right?
<verisimilitude>
Of course you could.
hhdave has quit [Ping timeout: 272 seconds]
<verisimilitude>
If you call a function in SNAKE-COOLDOWN, set by a file LOAD or with a default value, otherwise, you can of course still change this variable at any point.
lumm has joined #lisp
ebrasca has quit [Remote host closed the connection]
Achylles has quit [Remote host closed the connection]
shymega has left #lisp ["WeeChat 2.4"]
Fare has quit [Ping timeout: 255 seconds]
hvxgr has quit [Ping timeout: 250 seconds]
<moldybits>
hm. there's a further complication: replays. i need to store every change to the state somewhere.
hvxgr has joined #lisp
<moldybits>
(set-cooldown-calculator '(lambda (snake-length) ...)), and set-cooldown-calculator will stuff this into the replay.
<verisimilitude>
Why not, say, a list?
<Bike>
would you normally want to change the cooldown callback during a game?
<moldybits>
be able to, yeah.
zotan has quit [Ping timeout: 252 seconds]
<moldybits>
i'm using this snake game to figure out how to structure more advanced games in the future. i've run into these issues before.
robdog has joined #lisp
zotan has joined #lisp
Fare has joined #lisp
Elephant454 has joined #lisp
robdog has quit [Ping timeout: 258 seconds]
<Xach>
moldybits: it would be more tractable to maintain state in an object passed into callbacks.
<Xach>
rather than rely on closure capture of the environment.
<Xach>
(which doesn't work with eval/compile anyway)
asarch has joined #lisp
lumm has quit [Read error: Connection reset by peer]
karlosz has quit [Quit: karlosz]
lumm has joined #lisp
<Xach>
or compiling the state into the text of the lambda
<moldybits>
i'm not following exactly. my thought was to not allow any free variables in the callbacks.
shka_ has quit [Remote host closed the connection]
robdog has joined #lisp
<moldybits>
eventually i would want the callbacks to be evaluated in a separate environment, with a custom eval
lumm has quit [Quit: lumm]
lumm has joined #lisp
<moldybits>
not sure if that's the least stupid way of doing this, though D:
knicklux has joined #lisp
<jcowan>
At least the time zone is not compelled to be an integer.
<Bike>
strong lobbying from newfoundland lispers
<Bike>
moldybits: that sounds like overkill?
robdog has quit [Ping timeout: 258 seconds]
lumm has quit [Read error: Connection reset by peer]
lumm has joined #lisp
<jcowan>
And Indians, perhaps.
Fare has quit [Ping timeout: 246 seconds]
SaganMan has quit [Quit: WeeChat 1.6]
<moldybits>
Bike: i'm not sure? i want code writing to be a part of some games. suppose this snake game has a level where you're supposed to figure out the appropriate cooldown function to get past some obstacle in a clever way, or something.
robdog has joined #lisp
smasta has quit [Ping timeout: 245 seconds]
robdog has quit [Ping timeout: 264 seconds]
Fare has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
<verisimilitude>
So, yes, that would be the correct place.
<verisimilitude>
You could also use the mailing list, though.
robdog has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
dgi has quit [Ping timeout: 246 seconds]
gareppa has quit [Quit: Leaving]
gareppa has joined #lisp
orivej has quit [Ping timeout: 268 seconds]
gareppa has quit [Remote host closed the connection]
gareppa has joined #lisp
ltriant has joined #lisp
scymtym has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
<pjb>
sjl_: I fail to see the point in conspack when the problem is to serialize functions. In anycase, we cannot portably or even conformingly serialize functions (much less closures), only lambda expressions, which are S-expressions, and for which there is a perfectly good serialization format: S-expressions!
<pjb>
sjl_: (print1 lambda-list stream) is all that is needed to write, and (read stream) all that is needed to read a lambda expression.
trafaret1 has quit [Ping timeout: 250 seconds]
mooshmoosh has quit [Ping timeout: 246 seconds]
zotan has joined #lisp
mooshmoosh has joined #lisp
eddof13 has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
comborico1611 has quit [Quit: Konnection terminated!]
paul0 has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
gareppa has quit [Quit: Leaving]
paul0 has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
karlosz has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
<verisimilitude>
It helps if FUNCTION-LAMBDA-EXPRESSION gives a useful result instead of the useless one that's common. If you have the LAMBDA and its name, you can serialize the function definition.
emaczen has quit [Ping timeout: 250 seconds]
pierpal has joined #lisp
karlosz has quit [Client Quit]
Bike has quit []
karlosz has joined #lisp
LiamH has quit [Quit: Leaving.]
<moldybits>
pjb: btw, doesn't lambda-list refer to (lambda <this-part> ...)?
smasta has joined #lisp
<pjb>
moldybits: Yes, this is why I wrote lambda expression which refers to the whole lambda expression.
<pjb>
An alternative, is when you have your own model for functions and other expressions, then you can implement a decompile method. This is what is done in Patchwork.
<moldybits>
i meant the (print1 lambda-list stream) part?
<pjb>
Yes, sorry, I meant (prin1 lambda-expression stream).
andrei-n has quit [Remote host closed the connection]
smasta has quit [Ping timeout: 245 seconds]
gigetoo has quit [Ping timeout: 250 seconds]
gigetoo has joined #lisp
robdog has joined #lisp
varjag has quit [Ping timeout: 245 seconds]
ltriant has quit [Ping timeout: 268 seconds]
robdog has quit [Ping timeout: 250 seconds]
charh has quit [Ping timeout: 244 seconds]
python476 has quit [Ping timeout: 252 seconds]
nowhere_man has quit [Remote host closed the connection]
brettgilio has joined #lisp
nowhere_man has joined #lisp
hectorhonn has joined #lisp
warweasle has joined #lisp
robdog has joined #lisp
hectorhonn has quit [Client Quit]
ltriant has joined #lisp
moei has quit [Quit: Leaving...]
orivej has joined #lisp
charh has joined #lisp
karlosz has quit [Quit: karlosz]
iovec has quit [Quit: Connection closed for inactivity]
robdog_ has joined #lisp
Fare has quit [Ping timeout: 250 seconds]
robdog has quit [Ping timeout: 258 seconds]
robdog_ has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
nowhere_man has quit [Ping timeout: 257 seconds]
ltriant has quit [Ping timeout: 244 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
robdog has quit [Ping timeout: 250 seconds]
ltriant has joined #lisp
lumm has quit [Quit: lumm]
robdog has joined #lisp
karlosz has joined #lisp
<Xach>
How can I get libsmokeqtwebkit.so on Debian 9 (for a quicklisp library)?