"Stop Designing Languages. Write Libraries Instead."

Atila Neves atila.neves at gmail.com
Mon May 6 12:34:07 UTC 2019


On Friday, 3 May 2019 at 17:34:59 UTC, JN wrote:
> On Friday, 3 May 2019 at 16:23:25 UTC, Atila Neves wrote:
>> On Friday, 3 May 2019 at 07:45:33 UTC, JN wrote:
>>> On Friday, 3 May 2019 at 02:25:47 UTC, Mike Franklin wrote:
>>>> [...]
>>>
>>> So does Lisp. And one of the main criticism of Lisp is that 
>>> every programmer invents their own programming language 
>>> features and it's very hard to reuse code or libraries 
>>> because everything is written in different style.
>>>
>>> [...]
>>
>> I'm not sure the Lisp curse would exist if a package manager 
>> had been part of the ecosystem from the beginning. Take D - 
>> anyone _could_ write their own parser library but basically 
>> everyone uses Pegged.
>
> Well, Lisp curse applies mostly to language features.

I'm aware of that. The point that I was trying to make is that D 
has similar (but less powerful) features and there doesn't seem 
to be a D curse. I'm also arguing that I think nobody would have 
written about a Lisp curse either had it had a package manager 
back then. Or Github for that matter because it would have been 
easier to issue a pull request than write one's own library.


>Imagine
> if Pegged required you to pull in "pegged-oop", 
> "pegged-traits", "pegged-exceptions"

But it doesn't, and if it did it'd be transparent to the user 
anyway.

> and then you can't use throw because it doesn't support it, 
> instead you have to do mixin(ExceptionHandler!((e) { 
> writeln(e.toString()) })) to handle exceptions. That's what 
> could occur if a language gives too much freedom and doesn't 
> standarize on language features.

Common Lisp and Scheme have standards so I don't know what you 
mean.




More information about the Digitalmars-d mailing list