The Sparrow language

data pulverizer via Digitalmars-d digitalmars-d at puremagic.com
Wed Sep 7 12:23:25 PDT 2016


On Wednesday, 6 April 2016 at 13:15:48 UTC, Andrei Alexandrescu 
wrote:
> I just got word about Sparrow (from its creator no less):
>
> presentation_offline_Sparrow.pdf - https://db.tt/m2WwpxIY
> Speak.mp4 - https://db.tt/RDmrlEu7
> ThesisLucTeo.pdf - https://db.tt/1ylGHuc1
>
> An interesting language that shares a lot of D's vision and 
> features. The languages differ in a few aspects: Sparrow has a 
> much more flexible syntax allowing a variety of custom 
> operators. (I happen to disagree that's a good thing as I 
> believe highly flexible syntax easily leads to transmission 
> noise code). On the plus side Sparrow has a smoother 
> integration of compile-time vs. run-time computation, which 
> makes it a bit easier to transition from one to another. 
> Another feature we could consider adding to D is a simple 
> definition of concepts as complex Boolean predicates. That's 
> essentially identical to isForwardRange etc. etc. but makes for 
> simpler use of these predicates.
>
>
> Andrei

I came from the R world and I have been playing the game of 
flitting between R and C++; using C++ (through RCpp) to speed up 
slow things in R for some time and I have been looking for a 
better solution. This is one of the reasons I am in the D 
community.

For some time I have been considering a problem to do with 
creating tables with unbounded types, one of the failed attempts 
is here: 
https://forum.dlang.org/thread/gdjaoxypicsxlfvzwbvt@forum.dlang.org?page=1
I then exchanged emails with Lucian, Sparrows creator and he very 
quickly and simply outlined the solution to the problem. 
Thereafter I read his PhD thesis - one of the most informative 
texts in computer science I have read and very well written.

At the moment, there are lots of languages attempting to solve 
the dynamic-static loop, being able to have features inherent in 
dynamic programming languages, while keeping the safety and 
performance that comes with a static compiled programming 
language, and then doing so in a language that doesn't cause your 
brain to bleed. The "One language to rule them all" motif of 
Julia has hit the rocks; one reason is because they now realize 
that their language is being held back because the compiler 
cannot infer certain types for example: 
http://www.johnmyleswhite.com/notebook/2015/11/28/why-julias-dataframes-are-still-slow/

A language that can create arbitrary complex programs is the kind 
of thing that could transform the landscape of computing. I don't 
think D should be left out and should take Sparrow very seriously 
indeed.

My two pence


More information about the Digitalmars-d mailing list