Re: Can we go beyond the standard to make Postgres radically better?

From: Guyren Howe <guyren(at)gmail(dot)com>
To: Merlin Moncure <mmoncure(at)gmail(dot)com>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Can we go beyond the standard to make Postgres radically better?
Date: 2022-02-10 19:40:04
Message-ID: 4e3f0ff8-6a5a-4f57-b5c0-f87b99f55dc7@Spark
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I’d like to point out that sum types would be great.

(Sum types let you have any of two or more different types in one value)

For example, I could work around the issues with NULL by defining an enumeration type with values like MISSING, UNKNOWN, INVALID, … and then I can have a column that is a sum of that type with the type we normally keep in the column.

We would need some machinery to declare how aggregates work, but I think that’s very much in the spirit of how types work in Postgres now.

In general, I would think we could make SQL a better functional programming language by just implementing good fp features like this.
On Feb 10, 2022, 11:09 -0800, Merlin Moncure <mmoncure(at)gmail(dot)com>, wrote:
> On Thu, Feb 10, 2022 at 10:54 AM Merlin Moncure <mmoncure(at)gmail(dot)com> wrote:
> > > On Wed, Feb 9, 2022 at 11:15 PM Guyren Howe <guyren(at)gmail(dot)com> wrote:
> > > > >
> > > > >
> > > > > • Also nested function definitions, so top-level functions can be built out of local auxiliary functions.
> > > > > • Other languages
> > > > > • Tutorial D, Datalog, Quell, let’s open this puppy up!
> > > > > • SQL is a terrible, no good, very bad language
> > > > >
> > > > Postgres used to suport QUEL way back in the day.  Being blunt, there is zero chance of this happening in core.  A query language translator out of core, preprocessing the language into SQL, might work.   SQL has evolved far beyond what those languages could practically offer.   Main benefit here would be to better support relational division, which bizarrely has yet to arrive in SQL.
> > > >  A portable, low-level API
> >
> > FYI, there was a semi-serious commercial attempt to do this back in 2001, Dataphor. It's been opensourced.  Wikipedia has a pretty good write up on it:
> > https://en.wikipedia.org/wiki/Dataphor
> >
> > IMNSHO suggestions like these should travel this technical path; take the data language you want and translate it into SQL.  Some of these translations will end up being complicated (read: slow).  Iterating this kind of thing outside of core would allow for faster development.
> >
> > merlin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Mladen Gogala 2022-02-10 19:54:05 How to determine whether I'm running on a standby?
Previous Message Merlin Moncure 2022-02-10 19:09:01 Re: Can we go beyond the standard to make Postgres radically better?