Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Lisp. Lisp is the only language

Name: Anonymous 2011-01-31 10:29

Why there are other programming languages besides Lisp? With Lisp's macro system you can create any language you need ever. Small, big, finely tuned for your task. Supporting other languages means opposing progress and delaying the inevitable future. There should be only one language and myriad languages at the same time. The one language is Lisp.

Name: Anonymous 2011-02-02 11:55

The evaluation must be done in the current scope of the current program

Why? It seems like you think that "programs" are real and important, and can't see the computation behind them. The "code is data" concept is about computations. The restrictions you try to impose ("in the same program", blah blah) are utterly irrelevant.

It's like if a not very bright Lisp programmer declared that Haskell is less powerful than Lisp because in Lisp conses are mutable, while in Haskell you have to return another cons, and another cons is not the same cons. Like if computation cared about such minutae.

Nope, the only thing that resembles Lisp macros in a ``modern'' programming language are D mixins and Nemerle macros.
Again, you are talking about superficial resemblance.

>> with closures you technically don't need macros (which you don't understand)
Why? A macro is code executed at compile-time, it generates code, a closure is created by from a new lexical scope that closes over a free variable, at runtime. They are not interchangeable, they are two different things, it's like saying ``with functions you don't need ifs''.
And again, the shallowness of your thought is astonishing.

Macros and closures are tools. Instruments. They are used to achieve some goals, to write a program that has certain form and does certain things. I say that having closures allows you to do anything you can do with macros, in a more or less similar fashion. Like, screws and nails look differently and are applied differently, but in the end when you need too planks put together, it doesn't matter much if they are nailed or screwed together.

And yes, with anonymous functions I don't need a built-in "if", I can write my own which would be used in pretty much the same fashion. Have you read your SICP today?

Also, three of the six languages I mentioned have fully-fledged eval,
But the code is not data.
Why, is there such a huge difference between using a single grave mark and two quote marks?

But I can't pass code to a template.
Um, why do you want to do it? I urge you to go look at boost::lambda (the interface, not the implementation) to get a feeling of what is possible with templates.

It was an example, can't I make examples?
It is bad enough when you can't see "what" behind "how", as above. It is even worse when you bring up stupid "what"s, like changing the method for indicating nesting. You can go discuss such matters with your buddies, I'm completely not interested in it. I don't want to replace FOIC with braces, I don't want Language-Integrated BBCode, neither is related to programming. Not interested at all, sorry.

>> You are an idiot. ``in Lisp DSL'' is not the something, it's not a thing.
If it exist, it is a thing. Implement something like that in your favourite popular language.
http://www.google.com/search?q=%22in+Lisp+DSL%22&ie=utf-8&oe=utf-8

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List