Prev: cffi *foreign-library-directories* is initialized to literal list
Next: Missing vs. unbound slot protocols
From: Tim Bradshaw on 12 Jan 2010 18:29 On 2010-01-12 11:06:01 +0000, John Thingstad <jpthing(a)online.no> said: > You are a strange one. Where did you get that idea? It was designed as a language for embedded applications, and to be smaller and simpler than C++. Features were intentionally left out (such as MI) despite being well-understood by some of the designers at least. This can't be contentious. > Mathematica is probaly the most carefully designed language I have ever > encountered. Immencly powerfull. Plenty of mistakes sure. Interprented > when it should have been compiled. Then handeling of local variables and > modules seem the reverse of what they should be. They default to global. I'm not even going to argue about this, I'll just mention that I was particularly entertained that Module works just the way you get taught that things can work when you learn lambda calculus at school. But, you know, no one actually does that, do they? > > And.. What's wrong with reduce? It's a fine system, but Standard Lisp is kind of old now (it's the Lisp I first used in fact) and is missing a lot of features one might want now. From my perspective the main problem is lack of an integrated environment for playing in.
From: Tim Bradshaw on 12 Jan 2010 18:34 On 2010-01-12 13:18:12 +0000, Pillsy <pillsbury(a)gmail.com> said: > No DEFPACKAGE forms. No SHADOW or SHADOWING-IMPORT. No easy way to > distinguish between what we CLers would call internal and external > symbols except if you do the goofy workaround with having a > "`Private`" subcontext, and the fact that as soon as the Mathematica > reader interns a symbol for you, it's helpfully exported. People > complain about the CL package system, but it could be oh so much > worse. Yeah, and the equivalent package use list is a *global variable*. Hello, Earth calling? > I use Mathematica for my day job. I could literally go on like this > for hours. Once you get the hang of it you get used to it, and there > are enough things that work right that it's productive to work in. But > you feel like you're passing through a small New England town in an HP > Lovecraft story. Sure, it may be oozing lovely Colonial architecture, > but the people have freaking *gills*, man. That is *exactly* it.
From: Tim Bradshaw on 12 Jan 2010 18:38 On 2010-01-12 14:15:29 +0000, Tamas K Papp <tkpapp(a)gmail.com> said: > Mathematica is a DSL that later realized that it wants to grow up and > attempt to become a more general language. It is that, of course. But it's actually worse: it just reeks of being designed by someone who *did not consider it worth his time to actually learn about how other languages did things* because he knew that he would not need to know that as he was so smart. Unfortunately the kind of mistakes you make in programming language design are not particularly related to how academically clever you are, because programming language design is much closer to woodwork than mathematics: it just takes generations for people to work out how to do stuff right.
From: russell_mcmanus on 13 Jan 2010 18:45 Norbert_Paul <norbertpauls_spambin(a)yahoo.com> writes: > Hello, > > I have defined a class where a slot *must* be initialized when creating > instances: > > (define-condition modular-ring-without-generator (algebraic-error) () ) > > (defclass 'modular-ring (ring) > ( (ring :initarg :ring :initform (make-instance 'ring) ) > (generator :initarg :generator > :initform (error (make-condition > 'modular-ring-without-generator ) ) ) ) ) > > which works, as HyperSpec says that initform is not evaluated when > the user specifies an initial form in make-instance: > > So (make-instance 'modular-ring) signals the above error, whereas > (make-instance 'modular-ring :generator 7) creates Z/7Z. > > Is there a standard way in CLOS or are there standard LISP-idioms > to get a similar behaviour? I couldn't find in HyperSpec how slot > initialization can be made mandatory. What you wrote is a fine implementation of your requirements, as far as I can tell. -russ
From: Robert Uhl on 14 Jan 2010 23:35 Tamas K Papp <tkpapp(a)gmail.com> writes: > > Mathematica is a DSL that later realized that it wants to grow up and > attempt to become a more general language. It has many flaws, but > generally, the failure of DSLs to become a nice general languages is > almost uniform. Consider STATA, Gauss, R, ... ....Perl... It wasn't a bad text-munging language when it was basically next-gen awk. It grew antennae, fangs and poisounous hair when it tried to do anything more. -- Robert A. Uhl `We're ten parsecs from Regina, we've got a full tank of LH-two, a half pack of cigarettes, I've dimmed the lights, and we're wearing sunglasses.' `Let's jump.' --Leslie Bates
First
|
Prev
|
Pages: 1 2 3 4 5 Prev: cffi *foreign-library-directories* is initialized to literal list Next: Missing vs. unbound slot protocols |