[OT] On the Expressive Power of Programming Languages

Steven Schveighoffer schveiguy at gmail.com
Mon Nov 16 17:09:16 UTC 2020


On 11/16/20 11:54 AM, Ola Fosheim Grøstad wrote:
> On Monday, 16 November 2020 at 16:37:07 UTC, Steven Schveighoffer wrote:
>> I enjoyed the talk and like the principles shown.
> 
> What are the principles?

That you can measure expressiveness via checking if two expressions are 
equivalent before and after the feature is added. It gives a nice 
measurable distinction for features that might be considered 
"primitives" for what a language can express.

>> And the bar is pretty high. I don't know if there are many 
>> "expressive" features left to add to D if we go by this definition 
>> unless we go AST-macros.
> 
> Oh, there is a ton of stuff to add. Logic programming, idris/agda like 
> type system, an smt engine, verified concurrent actor concepts etc...
> 
> In reality, expressiveness is not the challenge, but bridging the gap 
> between modelling and implementation while ensuring correctness and 
> maintainability with little performance loss and low labour costs...

I agree that I don't measure expressiveness in the same way.

For example, they removed traditional for-loops from Swift because they 
can be expressed via while loops or foreach loops.

But that doesn't help when what I need is a for loop. Syntax sugar has 
tangible benefit that shouldn't be dismissed.

-Steve


More information about the Digitalmars-d mailing list