|Date:||Mon, 14 Nov 2022 05:14:29 -0800 (PST)|
|Injection-Info:||gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="16901"; mail-complaints-to="email@example.com"|
|Posted-Date:||15 Nov 2022 05:31:05 EST|
Thomas Koenig schrieb am Sonntag, 9. Oktober 2022 um 02:20:13 UTC+2:
> Christopher F Clark <christoph...@compiler-resources.com> schrieb:
> > I answered this question on Quora, but I think it is relevant to this
> > community (and I know I'll get discussion as a result)..
> > What attributes of a programming language simplify its implementation.
> > ...
> If ease of language implementation is the primary concern, then
> one could use a stack-based language. Easy to write an interpreter
> or compiler for, hard to write in the language itself, so it will
> likely be very unpopular (but popularity wasn't in the list of
> > Have a very simple set of types. BASIC had numbers, strings, and arrays.
> > Don't worry about type conversions and floating point versus integer. Sweep
> > that all under the rug.
> You cannot "sweep it under the rug", you have to define the semantics
> somewhere. It is possible to define the semantics ad-hoc and not to
> document them (which you seem to be advocating). That is a recipe
> for problems later.
> > Whatever your implementation does, that's what it
> > does. (Even simpler is what a lot of shells do, you have just "strings" and
> > if the strings happen to be a number when you pass them to the "add
> > function", + operator, it does arithmetic. If they aren't it, whatever it
> > does is the definition.)
> That strikes me as a bad idea if the language is supposed to be
> used for something in the real world. Ill-defined semantics are
> a disservice to potential users (but not laying traps for the user
> was not on the list of requirements, either).
> [Sounds like we're on our way to reinventing Forth. It had (still has)
> famously tiny implementations. -John]
Reinventing old wheels is not much fun. But use Forth as your toolbox
to make your own DSL and you can go _very_ far without diving into
all those dragon books and gigabyte compilers and toolsets.
Return to the
Search the comp.compilers archives again.