#lisp - Sat 31 Mar 2007 between 00:00 and 00:55

NY Lost Funds



vagifnot manual run
hefnerI think you mean unattended.
vagifyes :)
Xachvagif: i think screen can do that too, with command-line arguments. i don't use it that way, though.
bartelwith clisp can I compile into an executable or does it always run through the interpreter? </dumb>
kpreidbartel: generating executables and compilation vs. interpretation are completelt independent.
bartelok
kpreidbartel: clisp can generate executables; it is also capable of (bytecode) compilation.
bartel: sbcl and openmcl compile to native code.
ModiusIs there already some sort of macro that does (let ((my-new-var nil)) (setf my-new-var ...))) <-- sounds silly but the setf result involves creating a lambda that refers to my-new-var
Is this analogous to the y-combinator case?
XachModius: you lost me at "but"
lisppastetritchey_ pasted "this is how we run our lisp web server from rc.local" at http://paste.lisp.org/display/38986
tritchey_Xach: would you do something similar with screen?
Modius(let ((new nil)) (setf new (make-some-item (lambda () (sink-some-item new)))))
RiastradhThat is reasonable, Modius.
Common Lisp has no direct analogue of Scheme's LETREC; LABELS serves only for function bindings, not variable bindings.
ModiusI was wondering if there was some library goodie to handle the (let ((new nil)) (setf new. . . .)
Makes sense, there's probably all manner of awful side-effects in CL of doing so. I was just wondering if there was something that macroed the let-nil-set, or if there was some cleaner way to achieve this (I can move the multiphase around but not eliminate it)
hefneryou could avoid this by having whoever calls the lambda pass the object
ModiusBut the object being created and stored in "new" is calling the lambda
hefnerobjects don't make function calls
this is some kind of callback associated with an object, right?
ModiusTo make "new", I call a function that takes a callback. That callback requires "new".
hefnerbut, as you've learned, it is hard to close the callback over an object doesn't exist
but easy to pass the object to the callback as a parameter later, when the object does exist, whenever the callback in invoked
Xachtritchey_: no
tritchey_: i'm pretty manual.
actionXach should automate
Xachshould automate
ModiusIt should work, it just looks dirty. This returns 69: (funcall (let ((blah nil)) (let ((r (lambda () blah))) (progn (setf blah 69) r))))
hefnerit would be the tiniest bit less digusting using let*
I don't understand the intent, though.
ModiusThe example I just pasted was to show it could still capture correctly. I just don't like typing the nil, and asked originally if there was something that automated this out. Now - I'm guessing not.
hefnerI'm just advising you to avoid the situation, if you possibly can, by changing how the lambda is called so that it does not need to capture the reference.
eructateyou don't HAVE to type NIL
RiastradhYou can type (LET (BLAH) ...) to show that you mean to leave BLAH uninitialized (although it will have an initial value of NIL anyway).
eructateyou can also type (let ((blah))
all means the same thing, initialize to nil
rtoymYay! (complex double-double-float) now actually works on x86. Modulo some bug when something compiled with speed 3 and space 0 causes something bad to happen.
ModiusThis was so that sub-elements can signal that they've changed and signal their "new" value up a chain. I think that this is the algorithm gods telling me this is messy, and that I should separate the signal from a "get".

Page: 2 9 

IrcArchive

NY Lost Funds