From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg via Users list for the GNU Emacs text editor Newsgroups: gmane.emacs.help Subject: Re: Metaprogramming Date: Sun, 15 Sep 2019 21:03:41 +0200 Message-ID: <864l1d8jqq.fsf@zoho.eu> References: <16d32e8f08d.1191d211432772.321131096239642746@shyam.id.au> Reply-To: Emanuel Berg Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="113106"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Sep 15 21:04:10 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1i9Zog-000TGk-2O for geh-help-gnu-emacs@m.gmane.org; Sun, 15 Sep 2019 21:04:10 +0200 Original-Received: from localhost ([::1]:56496 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9Zoe-0008T9-Il for geh-help-gnu-emacs@m.gmane.org; Sun, 15 Sep 2019 15:04:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37823) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9ZoS-0008T0-3H for help-gnu-emacs@gnu.org; Sun, 15 Sep 2019 15:03:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i9ZoQ-0002sD-6A for help-gnu-emacs@gnu.org; Sun, 15 Sep 2019 15:03:56 -0400 Original-Received: from 195-159-176-226.customer.powertech.no ([195.159.176.226]:53488 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i9ZoO-0002qi-E7 for help-gnu-emacs@gnu.org; Sun, 15 Sep 2019 15:03:52 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1i9ZoJ-000Sv4-2Y for help-gnu-emacs@gnu.org; Sun, 15 Sep 2019 21:03:47 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: help-gnu-emacs@gnu.org Mail-Copies-To: never Cancel-Lock: sha1:1Y/H9bX2k/m4t0NQJd0mwBtDJUA= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:121518 Archived-At: Stefan Monnier wrote: >> This is a query from over half a decade ago: >> https://stackoverflow.com/q/22224045 > > That's not exactly about meta-programming [...] "Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself while running." [1] One should probably have a good, or at least explicit reason to do any of that, since otherwise it'll just make things complicated where they don't have to be. However if one finds such a use case and pulls it off, that's programming at the next level, no doubt. [1] https://en.wikipedia.org/wiki/Metaprogramming -- underground experts united http://user.it.uu.se/~embe8573 https://dataswamp.org/~incal