Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re^6: Amicable divorce

by salva (Canon)
on Jul 17, 2020 at 08:13 UTC ( [id://11119449]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Amicable divorce
in thread Amicable divorce

That is the same as saying that all programming languages are equal because they are Turing complete.

Common Lisp macro facility is far more than a preprocessor. It allows manipulation of the language AST using the full language and the mechanic is perfectly ingrained into it.

That allows the programmer to create new abstractions, domain specific languages, or to add support for new programming paradigms (as for instance, logic programming or as suggested by LanX, alternative OO systems).

Replies are listed 'Best First'.
Re^7: Amicable divorce (Macros & AST)
by LanX (Saint) on Jul 18, 2020 at 14:46 UTC
    > It allows manipulation of the language AST using the full language and the mechanic is perfectly ingrained into it.

    perlcompile lists perlcompile listed so many backends to analyze the op-tree.

    It's unfortunate that there is no mechanism to preserve the original code-snippets in these tree nodes.

    FWIW one can (ab)use use as a macro mechanism, you might be interested in my talk about Fun with Macros

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11119449]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2024-04-19 23:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found