> At 03:55 AM 9/9/99 , Mark P Jones wrote: > Some folks out there want to use Haskell to write real programs. For > them, there's Haskell 98. To be clear, I am not an academic researcher. I develop real world web sites. I would really like to use Haskell for this process, but the tools and libraries are not yet there to get this done in an effective manner. Much of the substance of our real world web development involves: 1. talking to databases 2. talking to other web servers (via http) 3. processing XML schema and data files 4. generating HTML/XML which mixes string constants with values derived from databases and xml files Haskell98 is good at none of these things, but Haskell so clearly could be! Putting aside sexy type system innovations, even basic stuff like the File and Directory Libraries clearly needs a major overhaul. Absent a working FFI standard, development of the File Directories is happening out in space. Real world directory APIs, like LDAP, NDS, and Active Directory, are emerging, compatibility with which would be really nice. Javasoft has defined a reasonably sane JNDI spec which subsumes a lot of file and directory functionality. If Lambada goes up, then it would be really sane for the standard File and Directory APIs to mirror JNDI more closely (and an easy implementation would be a shallow wrapper around the underlying JNDI functionality!). I would make similar points about HTTP and SQL libs but there is no standard haskell Net or Database module as there is in e.g. Java. (however doesn't lambada assume type system extentions?) Of course, it may be worth someone's time to construct collection classes to abstract out database semantics, but the fact that MPTC appears designed for the task would make any reasonable developer unwilling to restrict themselves to H98. On the sexy type system front, the reason why I have been campaigning so hard for generic programming interfaces (either via Derive, PolyP, or a Categorical Prelude), is that they substantially facilitate much of the real work associated with talking to databases and XML files. The actual application logic encoded into most of these apps is really small. The hard part is building the plumbing to connect all the data sources and sinks together. Generic programming interfaces mean that you don't spend enourmous amounts of time manually translating haskell datatypes into and out of SQL and XML schema (a desired blue sky application is automatic optimal compression of valid XML data files as an HTTP transfer encoding option). Yes, you can use various extensions that people have around, but the plumbing overhead of wrapping them into any individual project typically exceeds the overhead of doing the actual work. The economies of scale you get from sharing work or just not there yet. The value of the generic programming interfaces is so hight that it certain that one of them will become standard. The issue here is that the cost of adopting the loser will result in a lot of orphaned code. As a whole, Haskell, unlike procedural programming languages, is a sufficiently new paradigm and appears to be advancing sufficiently rapidly so as to make the large investment required in adopting and building in the current version unrewarding. I am well aware that Haskell-2 is not going to be a standard for quite some time. However people were building C++ libraries long before the standard was defined. In asking about e.g. generic programming, arrows, etc, I am not suggesting we converge on a standard right now. I am trying to explore how much stock the language implementors currently put into these proposals. So I know which to bet on. H98 as it stands does not add enough value over the alternatives to be worth using for real projects. Haskell's future does. -Alex- ___________________________________________________________________ S. Alexander Jacobson Shop.Com 1-212-697-0184 voice The Easiest Way To Shop On Thu, 9 Sep 1999, Michael T. Richter wrote: > > I'd like to second this view of things. I'm interested in learning > functional programming to ultimately actually use functional programming in > my professional life. I'm entirely uninterested in bleeding-edge > theoretical advances except as an interesting snapshot of the future to > come. I am very much interested in actually being able to use the skills > I'm developing here for making, say, Yet Another Spreadsheet Program. :-) > > -- > Michael T. Richter <[EMAIL PROTECTED]> http://www.igs.net/~mtr/ > PGP Key: http://www.igs.net/~mtr/pgp-key.html > PGP Fingerprint: 40D1 33E0 F70B 6BB5 8353 4669 B4CC DD09 04ED 4FE8 >
RE: Haskell Wish list: library documentation
S. Alexander Jacobson Thu, 9 Sep 1999 18:44:47 -0400 (Eastern Daylight Time)
- RE: Haskell Wish list: library documentation Michael T. Richter
- Re: Haskell Wish list: library documentation Michael T. Richter
- Re: Haskell Wish list: library documentation Christian Sievers
- Re: Haskell Wish list: library documentation Jonathan King
- Re: Haskell Wish list: library documentation Fergus Henderson
- Re: Haskell Wish list: library documentation Jon . Fairbairn
- Re: Haskell Wish list: library documentation Marcin 'Qrczak' Kowalczyk
- Re: Haskell Wish list: library documentation Christian Sievers
- Re: Haskell Wish list: library documentation Bart Demoen
- Re: Haskell Wish list: library documentation Martin Norb{ck
- Re: Haskell Wish list: library documentation S. Alexander Jacobson
- Re: Haskell Wish list: library documentation Richard Watson
- RE: Haskell Wish list: library documentation Simon Peyton-Jones
- RE: Haskell Wish list: library documentation Simon Peyton-Jones
- RE: Haskell Wish list: library documentation trb
- RE: Haskell Wish list: library documentation Johan Jeuring
- RE: Haskell Wish list: library documentation Simon Peyton-Jones
- RE: Haskell Wish list: library documentation Mark P Jones
- RE: Haskell Wish list: library documentation S. Alexander Jacobson
- RE: Haskell Wish list: library documentation trb
- RE: Haskell Wish list: library documentation trb