Hi Heribert, > The questions they are asking include: > > * Are there any references for using Haskell in industry?
Every project (bar two) that Galois has ever done has used Haskell. We've delivered tools, written in Haskell, to clients in industry and the U.S. government that are being used heavily. Three examples: Cryptol, our DSL for cryptography (with an interpreter and a compiler); a GUI debugger for a specialized chip, and a tool for easily embedding new syntax in the client's own language (sort of a suped-up Happy + OCaml's P4). As for references, as I write this, I'm also writing a talk for the Commercial Uses of Functional Programming (CUFP) workshop, entitled "Haskell in an Industrial Context" :-) (CUFP will be held this Saturday in conjunction with ICFP.) My talk focuses on the challenges that Galois' faces due to our use of Haskell, and some ways we (with lots of help) might overcome those challenges. > * Can Haskell code be integrated with .NET, in case the department > should decide to base more of its software on this platform? I'll let others handle this one in more detail, but I believe Sigbjorn ported his Hugs .NET support to GHC too. > * Will Haskell programmers be available 5 years from now to do the > rather boring work of maintaining a then-legacy system? This a fair question, and one we've been asked. So far the only answer we've come up with is "We sure hope so". It does seem likely, given that Haskell is being taught in lots of Universities. But what if Simon and Simon decide they'd rather build C# compilers? There's a gathering momentum in the Haskell community, but would it be enough? This is one of the biggest worries for the viability of Haskell in the long term. > * Can't much of the simplicity of the Haskell code also be reached by > just switching from C++ to something like Java or C#? It depends on how you quantify "much". There are benefits to moving to Java or C# from C++ (cleaner type systems, cleaner semantics, better memory management support). But languages like Haskell give you a lot more besides: they're much higher level, so you get more productivity, you can express more complex algorithms, you can program and debug at the "design" level, and you get a lot more help from the type system. These arguments have been made time and again though, and they're also pretty subjective. At Galois, it's also a big bonus that Haskell is close to its mathematical roots, because our clients care about "high assurance" software. High assurance software development is about giving solid (formal or semi-formal) evidence that your product does what it should do. The more functionality provided, the more difficult this gets. The standard approach has been to cut out functionality to make high assurance development possible. But our clients want high assurance tools and products with very complex functionality. Without Haskell (or some similar language), we wouldn't even be able to attempt to build such tools and products. Cheers, Andy -- Andy Moran Ph. (503) 626 6616, x113 Galois Connections Inc. Fax. (503) 350 0833 12725 SW Millikan Way, Suite #290 http://www.galois.com Beaverton, OR 97005 [EMAIL PROTECTED] _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell
