Hi Mads,
Not only pictures, but also code can say more than a thousands words.
Therefore, I have been implementing a proof of concept. The code is
attached in two files.
Nice! I have to admit, it's much nicer than I expected it to be. Just
out of curiousity, what happens when you write:
selectTupleList :: Connection -> IO [Integer]
instead of
selectTupleList :: Connection -> IO [(Integer, String, String)]
What kind of error message do you get? More specifically, is this
error caught statically or dynamically.
The only other limitation I can think of, would be in the situation
where you don't have compile-time access to the database, e.g.
developing software for a client with a database that can only be
accessed from their intranet. I have no idea how much of a limitation
that is.
ok, there is some noise. But at the end of line three it says "Unknown
column 'duser_id'". Also with a little more work I could properly
improve the output.
The message is a bit verbose, but if you ignore the noise, it gives
pretty good feedback about what's wrong. Good.
Perhaps I should explain my own thoughts on the subject a bit better.
I got interested in this problem because I think it makes a nice
example of dependent types "in the real world" - you really want to
But won't you end up implementing all the functionality of an SQL
parser? While possible, it does seem like a huge job. With a TH
solution
you will safe a lot of work.
Yes - but parsing the result of an SQL describe statement is pretty
easy.
A library that
will be a lot more complex to learn than what I am proposing (assuming
the developer already knows SQL).
Hmm. This is a rather sticky point. One might also argue that Haskell
developers have to learn SQL to use the solution you propose. I'm not
particularly convinced. Both approaches have their merits I think.
Anyhow - nice work! Have you asked Bjorn Bringert what he thinks? He's
a really clever and approachable guy - and he knows a lot more about
interfacing with databases than I do.
Kind regards,
Wouter
This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe