freenode/#lisp - IRC Chatlog
Search
0:43:47
whoman
i think lisp is a good and possibly eternal idea. it can be implemented from memory; haskell is a magic proprietary mystery. i depended on laziness a lot. i think i can learn more about lisp optimization and lean on sbcl/etc a bit more
0:55:33
shrdlu68
whoman: Can't relate. I've been thinking of learning haskell for a while now, though.
1:01:29
whoman
it has really affected and improvde my approach and internalizing of problems and concepts
1:04:34
Bike
haskell isn't proprietary, is it? it has a standard and the main compiler is named after a school.
1:14:59
whoman
Bike, yes, i mean as an idea. the lisp "idea" is much more compact. so if all the computers exploded, for eg.
1:17:15
Bike
HM is pretty easy as type inference goes, and other than that it's just lambda calculus with some more shit thrown in, same as lisp
1:17:48
whoman
if all source code disappeared, im imagining ghc one of the more difficult compilers for replacing from scratch
1:19:21
whoman
like a basic working implementation if we had to get back to punch cards for a week or two
1:43:54
aeth
I think anyone here with enough time could write a near-complete implementation of Common Lisp that is 10x to 30x slower than SBCL.
2:04:58
drmeister
Should shared-initialize be being called on generic functions repeatedly when starting up? I'm seeing that in Clasp - it is unexpected.
2:06:26
loke
“The generic function shared-initialize is used to fill the slots of an instance using initargs and :initform forms. It is called when an instance is created, when an instance is re-initialized, when an instance is updated to conform to a redefined class, and when an instance is updated to conform to a different class”
2:07:23
drmeister
Well, I wrote an :after method on shared-initialize for generic functions. I wanted it to initialize a slot based on the lambda-list of the generic function.
2:09:42
drmeister
That is troublesome to obtain - this is happening when Clasp is starting up. Checking...
2:23:43
drmeister
It's called by reinitialize-instance - on second thought it's probably not a good way to initialize this slot.
2:24:04
drmeister
I need to initialize a new slot for generic functions based on the number of required arguments it has.
2:24:26
drmeister
I want to initialize this slot just once, when the generic function is first created. Where would one do this?
2:33:29
loke
drmeister: I'm more curious as to why reinitialize-instance is called when you add a new method?
2:46:19
loke
The defmethod macro itself calls ENSURE_GENERIC-FUNCTION... The defmethod macro expands into a call to INSTALL-METHOD with also calls ENSURE-GENERIC-FUNCTION.
2:58:57
drmeister
There may be - I've got problems much later - when methods are being defined and wiping out the specializer-profile slot that I added.
3:00:35
drmeister
I can't seem to find the point where the lambda-list is defined and the generic-function is initialized for the first time.
3:04:56
drmeister
The lambda-list doesn't appear to be defined in some cases - although I may have done something wrong.
5:00:51
lexicall
hi, I wonder is there an elegant way to call a method of super class? In order to do that I have to use CHANGE-CLASS but I think it's quite ugly.
5:20:18
jasom
I'm seeing 44MB uncompressed for a fairly simple image on x86_64, and I rememberd that number being higher...
5:51:40
scottj
iqubic: fwiw when it happened I think they said a 24 hour cooling off period so maybe message the op that banned you.
8:15:02
TMA
GF abbreviation is very context dependent... it means girlfriend outside of lisp related chat
8:36:58
JuanDaugherty
the Irish name Daugherty doesn't actually come from daughter, just sounds like it does
9:52:07
Posterdati
please, is there a way to trigget a call to the io-handler in the iolib multiplexer?
10:01:05
pjb
I don't see the relationship between "you do not need an echo server!" and "trigger a call to the io-handler".
10:02:20
Posterdati
pjb: because a I need a server capable to get some commands over a socket and then answer back
10:02:21
pjb
(iomux:set-io-handler eb socket :read (setf *saved-handler* (make-whatever-handler-you-want socket id etc))) (funcall *saved-handler* fd event exception)
10:02:43
pjb
Again, I don't know why you would want to do (funcall *saved-handler* fd event exception)
10:03:06
pjb
If there's no I/O why would you want to call it? If there is I/O then it's already called by iolib!
10:37:54
hajovonta
guys are you aware of a CL library that can do asynchronous ICMP echoes? I need to ping a host periodically and I couldn't find one. Is it a thing that is practically done via FFI?
10:45:38
fe[nl]ix
but you most likely don't want to do that because creating raw sockets requires basically root privileges
10:52:31
hajovonta
I'm just a little worried that different linux ping versions may print different output
10:52:41
fe[nl]ix
a more sophisticated approach would be to make a small C binary that creates a raw socket and sends it to the main process via a Unix socket
10:54:15
fe[nl]ix
iolib already has code for receiving file descriptors via a Unix socket, but you'd have to write the C to create and send the file descriptor
10:56:29
fe[nl]ix
hajovonta: the output of /bin/ping can vary between OSes but it should be pretty stable on the same OS
10:58:50
fe[nl]ix
on weird distros it could be a symlink to Busybox, but I doubt you care about those
10:59:31
fe[nl]ix
shrdlu68: sbcl re-executes itself on start and I don't think that setuid carries along
10:59:37
hajovonta
or maybe I can write a python lib that uses raw icmp and uses standardized output and just call that. ;)
11:05:44
shrdlu68
If the problem here is that one can't effectively use setuid with sbcl, there are other implementations that hopefully don't have this limitation.