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:18

>>110
but it is a full embodiment of the "code is data" idea.
Explain why, I give a reason of why it IS NOT:
and the compiled new program doesn't have nothing to do with the current running one.

The evaluation must be done in the current scope of the current program, not elsewhere, not using a compiler, it must be done inside the language, it's not about macros, it's about evaluating fucking code generated at runtime by the current program, for the current program.

This is code=data:

(define (generate-lambda args-list &rest body) `(lambda ,args-list ,@body))


You can eval this at runtime and will generate a lambda using the runtime arguments you give to that function, not macro, at runtime. And will return the lambda, it's not an indipendent file that does indipendent things. The code I generate at runtime is used in the current program. Get it? Eval.

That is true. You don't understand that because you don't understand the essence behind macros. You see them as a final concept, kind of like some VB.NET dolt might view his "if" operator.
Nope, the only thing that resembles Lisp macros in a ``modern'' programming language are D mixins and Nemerle macros.

I mention closures

Ok, but it is known that all new languages support closures

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''.

Also, three of the six languages I mentioned have fully-fledged eval,

But the code is not data.

C++ has touring-complete templates.

But I can't pass code to a template.

You are concerned about indentation because you are not a programmer.

It was an example, can't I make examples?

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.

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