freenode/#lisp - IRC Chatlog
Search
12:00:10
edgar-rft
I think typos are type-errors, too. But they happen at TYPE-TIME what is *before* READ-TIME. The spec doesn't seem to be very well-worded in that regard :-)
12:13:51
edgar-rft
There are some success stories but also many projects we never heard of again. Maybe they accidentally deleted themselves :-)
12:18:54
edgar-rft
davros_: I played for some time with Genetic Programming but it turned out that writing a working fitness function (the thing that decides if the generated code works better or worse than some other code) requires more detaIl knowlege than is needed for solving the problem youself.
12:20:46
edgar-rft
It's in so far good that you learn a lot about different AI ideas and concepts but do not expect too much useful results :-)
12:54:42
davros_
edgar-rft, i ask because elsewhere i'm talking to someone who has their own picture of how to do AGI and it involves code generation (although what they describe sounds even more far fetched), i asked them if they'd ever heard of lisp beign used for this sort of thing
13:10:31
edgar-rft
davros_: you don't necessarily need Lisp for self-rewriting code, but in Lisp it's particularly easy because lists are first-class data objects, so everything for code generation is already built-in. Also Genetic Programming *can* give useful results, but often it depends on how lucky you are to find a useful result in tolerable time :-)
13:30:32
davros_
yeah i know - any programming langauge can print source and spawn a compiler, or load dynamc modules or ahve an eval function.. but it's LISP's homoiconicity that's it's USP
13:34:26
flip214
edgar-rft: well, self-*modifying* code is very easy on CPUs without any MMU... 6502, for example ;)
13:34:55
phoe
in today's environment, homoiconicity is just a shortcut; people work around this issue in other languages by operating on ASTs, or just printing out code into strings and reading it afterwards
13:37:48
flip214
aorst: well, one major point in Let-over-lambda was code-walking - "understanding" the language needs more than just a CONS-tree. (LET (let) (LET ((let let)) let))
13:49:14
tfb
phoe: there's a difference still: Lisp has a 'syntax of least commitment', Python (say) doesn't, anywhere near
13:51:24
tfb
and the *common* workaround is still 'language in a string' and the death and horror of that
13:56:47
tfb
edgar-rft: setiously, in my most recent job the system was configured by, I think, two (perhaps three) layered m4-style macro languages, each treating the languages below it as strings.
13:59:48
splittist
everyone knows there is no problem in devops that can't be solved by another layer of yaml
14:06:43
tfb
edgar-rft: well, they weren't idiots, anywhere near. I think that the ideas that make Lisp so interesting just are still not widely distributed.
20:49:05
phoe
"eql may not be true of two floats even when they represent the same value. = is used to compare mathematical values."
20:51:27
sjl
1.0d0 and 1.0f0 represent the same value but might not be eql because they're different types (in SBCL)
20:58:27
mfiano
The standard doesn't adopt IEEE754, only recommends its use. They may have been implying that depending on the floating point encoding, it may not hold true, but = does. (eql 0f0 -0f0) ; => NIL, but (= 0f0 -0f0) ; => T
20:58:33
daphnis
how do you write a macro that accepts unquoted symbols and produces a function call with quoted symbols? eg.: (mac a b c) --> (fun 'a 'b 'c)
20:59:11
no-defun-allowed
(defmacro mac (&rest rest) `(fun ,@(loop for symbol in rest collect (list 'quote rest))))
21:03:48
mfiano
alternatively, something like: (defmacro foo (sym &body body) `(,sym ,@(mapcar (lambda (x) `',x) body)))
21:04:29
Nilby
phoe: consider maybe an implementation that natively supported different float formats like maxima's bigfloat
21:05:51
_death
phoe: you can encode all pairs, sans a few large easy-to-demarcate portions of equivalence classes, of floats by bruteforce and try them
21:10:11
mfiano
Always found CLISP's arbitrary precision floats strange, in regard to the constant value pi. IIRC, the manual even says that it is no longer a constant value, which seems wrong to me.
21:12:54
Nilby
_death: Yes, but I'm not that pleased with clisp anymore, and I haven't used sb-mpfr because I worry about implementation in C and possible overhead.
21:17:06
_death
I never found actual use for them.. for floating point, I'm fine with single and double precision.. and sometimes I need to move to a fixed point or maintain my own scaling or use rationals (slow..) or logarithms solve the issue.. but not arbitrary precision floats
21:21:50
Nilby
I love how close to mathematically correct Lisp math is relative to other languages, but it starts getting corrupt with floating point error. I've be gravely injured before (in virtual realites) by floating point error.
21:24:33
_death
Nilby: I love it too, but computation is its own field, and in this field modular arithmetic and floating point have advantages as well