From 2d07ae8698e513207fdb73d64b7b31768ce5ef02 Mon Sep 17 00:00:00 2001 From: Max Nordlund Date: Wed, 30 Oct 2024 14:11:04 +0100 Subject: [PATCH] Update tutorial_macros.rst (#5715) This removes the false statement that Haskell and other functional programming languages does need nor not have macros. Lisp is a functional programming language with macros at the core of the language. For Haskell specifically its called [Template Haskell](https://wiki.haskell.org/Template_Haskell). There's also Erlang which has a token based macro system, something between the C preprocessor and Lisp. Elixir, a newer language in the same ecosystem as Erlang, has full procedural macros. This is similar to the macros in Xonsh; regular functions that take AST nodes as input and return a, potentially different, AST node. --- docs/tutorial_macros.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/tutorial_macros.rst b/docs/tutorial_macros.rst index 27b36d543..06eb9b8d0 100644 --- a/docs/tutorial_macros.rst +++ b/docs/tutorial_macros.rst @@ -44,8 +44,6 @@ from being consumed. Other languages like Lisp, Forth, and Julia also provide their macro systems. Even restructured text (rST) directives could be considered macros. -Haskell and other more purely functional languages do not need macros (since -evaluation is lazy anyway), and so do not have them. If these seem unfamiliar to the Python world, note that Jupyter and IPython magics ``%`` and ``%%`` are macros!