Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: "minf...@arcor.de" Newsgroups: comp.compilers Subject: Re: Re: What attributes of a programming language simplify its implementation? RPN? Date: Wed, 16 Nov 2022 05:39:00 -0800 (PST) Organization: Compilers Central Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-11-019@comp.compilers> References: <22-09-026@comp.compilers> <22-10-025@comp.compilers> <29190_1668508275_63736A72_29190_327_1_22-11-007@comp.compilers> <22-11-009@comp.compilers> <22-11-013@comp.compilers> <22-11-015@comp.compilers> <22-11-017@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="55741"; mail-complaints-to="abuse@iecc.com" Keywords: history, design Posted-Date: 16 Nov 2022 10:59:15 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <22-11-017@comp.compilers> Xref: csiph.com comp.compilers:3246 minf...@arcor.de schrieb am Mittwoch, 16. November 2022 um 14:16:47 UTC+1: > So the capability in a (meta)language for compile-time execution comes into play. > Forth is only one example. TCL would be my next candidate. I don't know Seed7 > but its author claims to be able to e.g. redefine and create new operators which > means new semantics. > [There was a vogue in the 1970s for extensible languages like EL1 at Harvard > and IMP72 at Yale. You could add new grammar rules on the fly. What that > meant was that no two programs were written in the same language and they were > unreadable and often undebuggable. OOP, which lets you add new types and > semantics without changing the syntax, turned out to be a lot more useful. > See https://en.wikipedia.org/wiki/Extensible_programming -John] A more important aspect of 'usefulness' is the available ecosystem. Experimental and toy compilers can be useful for individuals, perhaps (very) small teams. This stops when you have to run a business responsibly, including documentation, production, maintenance and what you have. OTOH a good DSL built within and managed by the existing ecosystem can give you a competitive edge.