Thread overview
Re: sqlite-statement CTFE Generation (UniformAccess) / Benchmark
Apr 15, 2014
John Carter
Apr 16, 2014
justme
Apr 16, 2014
Robert Schadek
Apr 16, 2014
John Carter
Apr 23, 2014
Dejan Lekic
April 15, 2014
I was contemplating why languages explode on to the scene or not, and often it comes down to a so called "Killer App".

For Ruby, it was Rails.

The ability to construct optimally fast typesafe tuples in D perfectly matches the requirements of database management to a degree unmatched by any other language.

I have long thought D, strangely enough, may be the perfect language in which to implement... D :-) http://en.wikipedia.org/wiki/D_%28data_language_specification%29


On Wed, Apr 16, 2014 at 3:51 AM, Robert Schadek <realburner@gmx.de> wrote:

> Lately I had to write some sqlite3 code in D. And I really hated writing it. So I wrote me some CTFE generator for it. It uses all the fun UDA, CTFE string mixin template magic, we all love. The generated code is as fast as the hand written one. I wrote some of it down. http://rburners.tumblr.com/ The article also holds a link to the source/benchmark. Maybe this is to some interest to other people as well.
>
> Best Regards
> Robert
>
> p.s. PRs and corrections welcome
>



-- 
John Carter
Phone : (64)(3) 358 6639
Tait Electronics
PO Box 1645 Christchurch
New Zealand

-- 

------------------------------
This email, including any attachments, is only for the intended recipient.
It is subject to copyright, is confidential and may be the subject of legal
or other privilege, none of which is waived or lost by reason of this
transmission.
If you are not an intended recipient, you may not use, disseminate,
distribute or reproduce such email, any attachments, or any part thereof.
If you have received a message in error, please notify the sender
immediately and erase all copies of the message and any attachments.
Unfortunately, we cannot warrant that the email has not been altered or
corrupted during transmission nor can we guarantee that any email or any
attachments are free from computer viruses or other conditions which may
damage or interfere with recipient data, hardware or software. The
recipient relies upon its own procedures and assumes all risk of use and of
opening any attachments.
------------------------------


April 16, 2014
You may be on to something here.

On Tuesday, 15 April 2014 at 22:27:53 UTC, John Carter wrote:
> I was contemplating why languages explode on to the scene or not, and often
> it comes down to a so called "Killer App".
>
> For Ruby, it was Rails.
>
> The ability to construct optimally fast typesafe tuples in D perfectly
> matches the requirements of database management to a degree unmatched by
> any other language.
>
> I have long thought D, strangely enough, may be the perfect language in
> which to implement... D :-)
> http://en.wikipedia.org/wiki/D_%28data_language_specification%29
>
>
> On Wed, Apr 16, 2014 at 3:51 AM, Robert Schadek <realburner@gmx.de> wrote:
>
>> Lately I had to write some sqlite3 code in D. And I really hated writing
>> it. So I wrote me some CTFE generator for it. It uses all the fun UDA,
>> CTFE string mixin template magic, we all love. The generated code is as
>> fast as the hand written one. I wrote some of it down.
>> http://rburners.tumblr.com/ The article also holds a link to the
>> source/benchmark. Maybe this is to some interest to other people as well.
>>
>> Best Regards
>> Robert
>>
>> p.s. PRs and corrections welcome

April 16, 2014
On 04/16/2014 01:55 PM, justme wrote:
>
> You may be on to something here.
Maybe I should create a wanted feature list and get started. Any feature you would like to see?
April 16, 2014
I guess the place I'd start is with what CJ Date has been saying about "Tutorial D" and how much you can rephrase into D.

In someways it's a very orthogonal concept, we tend to think of databases as "places where we store data".

What Date is saying is, no, they are collections of predicates and an algebra for doing quantified logic operations on the them.

The critical idea behind "algebra" is closure. You operate on relations (tables in SQL speak) and the result is a relation which you can use in further operations.

In D, that concept is almost trivial.

It has taken SQL ages to come up with half-assed things like views and temp tables and sub-selects.



On Thu, Apr 17, 2014 at 1:03 AM, Robert Schadek <realburner@gmx.de> wrote:

> On 04/16/2014 01:55 PM, justme wrote:
> >
> > You may be on to something here.
> Maybe I should create a wanted feature list and get started. Any feature you would like to see?
>



-- 
John Carter
Phone : (64)(3) 358 6639
Tait Electronics
PO Box 1645 Christchurch
New Zealand

-- 

------------------------------
This email, including any attachments, is only for the intended recipient.
It is subject to copyright, is confidential and may be the subject of legal
or other privilege, none of which is waived or lost by reason of this
transmission.
If you are not an intended recipient, you may not use, disseminate,
distribute or reproduce such email, any attachments, or any part thereof.
If you have received a message in error, please notify the sender
immediately and erase all copies of the message and any attachments.
Unfortunately, we cannot warrant that the email has not been altered or
corrupted during transmission nor can we guarantee that any email or any
attachments are free from computer viruses or other conditions which may
damage or interfere with recipient data, hardware or software. The
recipient relies upon its own procedures and assumes all risk of use and of
opening any attachments.
------------------------------


April 23, 2014
Yeah, implementing TutorialD came to my mind as well. However I would like to have a storage engine for it too so I gave up, it is too much work and I barely have time to do something outside my work...

On Tuesday, 15 April 2014 at 22:27:53 UTC, John Carter wrote:
> I was contemplating why languages explode on to the scene or not, and often
> it comes down to a so called "Killer App".
>
> For Ruby, it was Rails.
>
> The ability to construct optimally fast typesafe tuples in D perfectly
> matches the requirements of database management to a degree unmatched by
> any other language.
>
> I have long thought D, strangely enough, may be the perfect language in
> which to implement... D :-)
> http://en.wikipedia.org/wiki/D_%28data_language_specification%29
>
>
> On Wed, Apr 16, 2014 at 3:51 AM, Robert Schadek <realburner@gmx.de> wrote:
>
>> Lately I had to write some sqlite3 code in D. And I really hated writing
>> it. So I wrote me some CTFE generator for it. It uses all the fun UDA,
>> CTFE string mixin template magic, we all love. The generated code is as
>> fast as the hand written one. I wrote some of it down.
>> http://rburners.tumblr.com/ The article also holds a link to the
>> source/benchmark. Maybe this is to some interest to other people as well.
>>
>> Best Regards
>> Robert
>>
>> p.s. PRs and corrections welcome