#lisp - Sat 7 Apr 2007 between 00:03 and 00:38

NY Lost Funds



rtoymOk. My quad-double code seems to be working. Now what?
RiastradhOct-double!
rtoymHeh.
whaleofconfusionI wonder if there is a formal concept of the semantic flexibility of a language
RiastradhHexadecadouble! Triduogedouble! Quattuorsexagedouble!
whaleofconfusionsomething that says that one language is formally more expressive than another, even if the are both Turing-complete
Riastradhwhaleofconfusion, one useful definition is that of the effect, whose expression in a language without the effect as a primitive requires a global transformation to the program.
pkhuongI believe the usual pointer is <http://citeseer.ist.psu.edu/felleisen90expressive.html>.
RiastradhThis is not a formal definition of `expressiveness', but it is related.
pkhuongthat implies that most macros don't increase expressiveness.
Riastradh?
nyefUgh. I'm having enough trouble keeping my mind around the double-float and long-float code. oct-double is a frightening thought.
whaleofconfusionfile not found pkhuong
pkhuongRiastradh: most macros only perform local transformations.
Riastradhpkhuong, yes...?
whaleofconfusionI think that the expressiveness of a language should be related to how restricted a piece of code is in terms of what it might mean, in a context
pkhuongRiastradh: so their expression doesn't require a global transformation. Not that interesting a point, though, since that doesn't imply anything about the availability of macros themselves.
whaleofconfusionso that in a language like C, myfun(*foo) is going to represent a function call whose parameter is a pointer to foo, no matter what the surrounding code is like
Riastradhpkhuong, I didn't say that macros don't increase expressiveness; I said that effects are *not* the definition of expressiveness, merely related.
whaleofconfusionbut in Lisp, a similar call could mean virtually anything
pkhuongRiastradh: misread.
ayrnieuwhale - #define myfun(x)
pkhuongwhaleofconfusion: let me introduce you to my new language, where the only operator is `jump to some random address'.
rtoymIn any case, quad-double served a useful purpose. It found quite a few bugs in the double-double code. :-)
whaleofconfusiontrue ayrnieu and I think that's good about C that it has that, but still the pointer is pretty unambiguous unless I'm wrong
RiastradhBut are you sure of the correctness of the quad-double code...?
whaleofconfusionI mean the pointer dereference * couldn't mean anything else
pkhuongrtoym: at which point will you decide that generic n-doubles are simpler?
rtoymRiastradh: No, of course not. But I think it's working and it matches what clisp shows for long-floats.
whaleofconfusionpkhuong: I would say that that language is not very expressive
pkhuongwhaleofconfusion: but it could mean, quite literally, *anything*.
rtoympkhuong: My limited understanding is that quad-double is about as far as you can go before n-doubles is easier.
whaleofconfusionyou mean that a given program could do anything?
RiastradhIt could mean `Prove the Riemann hypothesis'; try *that* in any other language you can think of!
whaleofconfusionwell but you do know in general what it's going to do, which is to move around randomly
there's a very small chance it will do anything useful unless I've misinterpreted you
I disagree with what he is saying at http://www.ccs.neu.edu/scheme/pubs/scp91-felleisen.ps.gz about how local changes are not important
a language that requires you to type 5 lines of code every time you want to add 2 numbers is not very expressive, even though that's only local
syntaxfreewhat is common lisp for zipWith?
nyef"zipWith"?

Page: 2 9 16 23 30 

IrcArchive

NY Lost Funds