On Wed, 5 Jul 2017 at 14:36 Peter Geoghegan p...@bowt.ie <http://mailto:p...@bowt.ie> wrote:
However, the OP seemed to be describing something that maps imperative > code to a declarative SQL query or something equivalent, which isn't > quite the same thing. The declarative nature of SQL feels restrictive > or at least unfamiliar to many programmers. > Yes, that is what I am describing. SQL is great and I am fully on board with the idea. Everywhere I go, I promote the greatness of SQL, of the relational model, and of Postgres. I didn’t write in so much to challenge SQL or pitch navigational databases, as to ask about examples of “pseudo-imperative” languages. Fortress is the most noteworthy of these; but anyone who’s seen Haskell’s do notation realizes there is some promise in the idea: the imperative structure makes some programs much clearer, even in a pure functional language. IMV, what the OP describes wouldn't work well because it would > superficially *appear* to not be restrictive in the way that some > people dislike, but actually would be just as restrictive. The only > way you could write it is by imagining what the SQL it produced looks > like. It’s not so much that SQL is restrictive, as that it is confusing in parts. It is the same with regards to Haskell without do notation — the chained lambdas boggle the mind. Another — very similar — idea is futures as an approach to getting around callbacks — they create the appearance of a linear sequence of execution, when some parts might be parallel; but this turns out to be a benefit overall. Yet another is using while read x in shell pipelines — an imperative structure, yet used to model stream processing. But this is perhaps neither here nor there: it seems there are no such languages, no logic languages disguised as imperative languages. There are only a very few functional languages disguised as imperative languages. It’s an idea that has interested me for many a year — for the reasons that Peter cites — and not having seen any language wholly organized in this way, I thought I’d write to ask you all if you had seen any. Kind Regards, Jason