[Haskell-cafe] Please explain the Lazy type differences
I wrote this little clip, and haven't been able to figure out why the L.ByteString is different type than Data.ByteString.Internal.ByteString, or if I am just doing everything wrong here. import System.FilePath import System.Environment import qualified Data.ByteString.Lazy as L import qualified Crypto.Hash.SHA1 as SH import Data.Hex (hex) hashFile :: FilePath -> IO L.ByteString hashFile f = do content <- L.readFile f let hasher = SH.init bhsh = SH.update hasher content return (hex (SH.finalize bhsh)) I really just want to get the digest of a file as a [Char], but then of course, SH.update is not very happy about the type I am passing to it either. Can't wait till this becomes easy! Roderick ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] I still cannot seem to get a GUI working under Windows.
These were enough to get me started: http://www.haskell.org/haskellwiki/Opengl http://haskell.forkio.com/com-examples http://darcs.haskell.org/packages/Win32/examples/ Roderick > Date: Wed, 29 Sep 2010 11:01:50 -0400 > From: cas...@istar.ca > To: haskell-cafe@haskell.org > Subject: [Haskell-cafe] I still cannot seem to get a GUI working under > Windows. > > I still cannot seem to get a GUI working under Windows. > > For Haskell GUI's is Ubuntu easier to setup. > > If so, we're losing people if Haskell GUI's are so hard to get working > under Windows. > > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] can't find in hayoo
YES!! Thank you so much. And thanks to Thomas also for the suggestion of using Data.ByteString.Base64 ... as the alternative method. Cheers, Roderick > Date: Wed, 29 Sep 2010 11:11:01 -0500 > Subject: Re: [Haskell-cafe] can't find in hayoo > From: aslat...@gmail.com > To: develo...@live.com > CC: haskell-cafe@haskell.org > > On Wed, Sep 29, 2010 at 11:03 AM, Roderick Ford wrote: > > I need the trick to get from > > ByteString -> [GHC.Word.Word8] > > and Hayoo is not helping. > > > > Super simple I expected. I haven't even tried to compile it yet. > > I am just trying to read in the bytes and encode with base64: > > > > import Codec.Binary.Base64 > > import Data.ByteString > > import System.Directory > > import System.Environment > > main :: do > > args <- getArgs > > bFileExist <- System.Directory.doesFileExist (args !! 0) > > let bytedata = --ByteString -> [GHC.Word.Word8] > > if bFileExist then putStrLn $ Codec.Binary.Base64.encode bytedata > > else putStrlLn ("File does not exist: " ++ (args !! 0)) > > return () > > > > Does 'unpack' do what you want? > > Antoine ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] can't find in hayoo
The idea was to go from Prelude> :t Data.ByteString.readFile Data.ByteString.readFile :: FilePath -> IO Data.ByteString.Internal.ByteString to here Prelude> :t Codec.Binary.Base64.encode Codec.Binary.Base64.encode :: [GHC.Word.Word8] -> String unless there is another/easier way Roderick > Date: Wed, 29 Sep 2010 09:23:37 -0700 > Subject: Re: [Haskell-cafe] can't find in hayoo > From: thomas.dubuis...@gmail.com > To: develo...@live.com > CC: haskell-cafe@haskell.org > > By and large hayoo is the alta-vista of Haskell search - it has a huge > database but isn't well organized or good at prioritizing. Use Hoogle > when doing type-based searches for functions in the typical GHC load. > > http://haskell.org/hoogle/?hoogle=%3A%3A+ByteString+-%3E+[Word8] > > Also, what's with the non-standard module specification > "GHC.Word.Word8"? You should use Data.Word. > > Cheers, > Thomas > > On Wed, Sep 29, 2010 at 9:03 AM, Roderick Ford wrote: > > ByteString -> [GHC.Word.Word8] ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] can't find in hayoo
I need the trick to get from ByteString -> [GHC.Word.Word8] and Hayoo is not helping. Super simple I expected. I haven't even tried to compile it yet. I am just trying to read in the bytes and encode with base64: import Codec.Binary.Base64 import Data.ByteString import System.Directory import System.Environment main :: do args <- getArgs bFileExist <- System.Directory.doesFileExist (args !! 0) let bytedata = --ByteString -> [GHC.Word.Word8] if bFileExist then putStrLn $ Codec.Binary.Base64.encode bytedata else putStrlLn ("File does not exist: " ++ (args !! 0)) return () ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] holumbus error message -- unexpected package db stack
Ok, figured it out, based on your link, Jonathan, I thought of just running: make clean ./Setup configure ./Setup build ./Setup install WHICH of course imports Distribution.Simple, whereas calling "make blah" on the Makefile will not do the import of Distribution.Simple Anyway, THANKS for the link ... it DID help :) Cheers, Roderick Ford > > This gave me a buildable make of the code > > (make just calls Setup for each step) but in the "make install" I get: > > localhost:/home/roderick/Source/hs/src/distribution # make install > > Installing library in > > /usr/local/lib/Holumbus-Distribution-0.0.2.0/ghc-6.10.4 > > Installing executable(s) in /usr/local/bin > > Registering Holumbus-Distribution-0.0.2.0... > > Setup.hs: internal error: unexpected package db stack > > make: *** [install] Error 1 > > > > > > So, my question is "What is the 'unexpected package db stack' caused by?" > > Does this give me any hints about the actual problem? > > Is cabal using a custom GHC package database? You might find this > illuminating: > > http://hackage.haskell.org/trac/hackage/ticket/731 > > -- > Jonathan Daugherty ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] holumbus error message -- unexpected package db stack
> Date: Fri, 3 Sep 2010 21:31:53 -0700 > Subject: Re: [Haskell-cafe] holumbus error message -- unexpected package db > stack > From: drcyg...@gmail.com > To: haskell-cafe@haskell.org > Is cabal using a custom GHC package database? You might find this > illuminating: > > http://hackage.haskell.org/trac/hackage/ticket/731 > > -- > Jonathan Daugherty I don't know what else to check for to confirm/deny this question other than doing a `grep -r "package-db" *` in the distribution source, which simply returned that the binary file Setup contained it...that I suppose is just from the requirement in Setup.hs for "Distribution.Simple". Other than that, I have not specified ANY database specific parameters. I have however installed the cabal package HDBC-mysql ... probably unrelated to the problem??? So, I have to say, the link really didn't provide me any helpful information or hints about what I might have done wrong...sorry. What else could I check for? Roderick Ford ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] holumbus error message -- unexpected package db stack
Hello all, I want to try out Holumbus packages, but found that they don't build when left to cabal-install. So I went to the holumbus site and did the git of the latest source...but it still wouldn't build. Surprisingly, one of the errors was that there System.IO did not export a method utf8, but alas, utf8-prelude and utf8-string are both installed. So I went into this source code tree and attempted to make minor alterations. First, of the script is the distribution package (of the three packages), and cabal wanted less than the most recent hxt package as a maximum, so I dropped that limit. This gave me a buildable make of the code (make just calls Setup for each step) but in the "make install" I get: localhost:/home/roderick/Source/hs/src/distribution # make install Installing library in /usr/local/lib/Holumbus-Distribution-0.0.2.0/ghc-6.10.4 Installing executable(s) in /usr/local/bin Registering Holumbus-Distribution-0.0.2.0... Setup.hs: internal error: unexpected package db stack make: *** [install] Error 1 So, my question is "What is the 'unexpected package db stack' caused by?" Does this give me any hints about the actual problem? Roderick ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] RE: hdbc-mysql on windows
For those interested, the patch for parsing the paths that contain spaces (windows installs of mysql), I passed along the changes for Setup.lhs so that the split skips spaces inside quotes: mysqlBuildInfo :: LocalBuildInfo -> IO BuildInfo mysqlBuildInfo lbi = do let mysqlConfig = rawSystemProgramStdoutConf verbosity mysqlConfigProgram (withPrograms lbi) includeDirs <- return . map (dropWhile (\x -> elem x "-I") ) . split =<< mysqlConfig ["--include"] ldOptions <- return . split =<< mysqlConfig ["--libs"] return emptyBuildInfo { ldOptions = ldOptions, includeDirs = includeDirs } where verbosity = normal -- honestly, this is a hack split :: [Char] -> [[Char]] split xs@(l:lx) = if (elem '\"' xs) then let x = dropWhile (== '"') xs y = takeWhile (/= '"') x in y : split ( dropWhile (\n -> elem n "\" \r\n\t") (drop (length y) x)) else let x = takeWhile (\n -> not (elem n " \r\n\t") ) xs in x : split ( dropWhile (\n -> elem n " \r\n\t") (drop (length x) xs)) split [] = [] This hasn't fixed everything, such that I have a complete install of HDBC-mysql on Windows, but it is a step. Roderick Subject: Re: hdbc-mysql on windows From: water...@maubi.net Date: Fri, 19 Mar 2010 11:18:20 -0700 CC: haskell-cafe@haskell.org To: develo...@live.com Roderick, thanks for passing this along. To be honest, I haven't tried to build this on Windows yet. I have an old PC that I keep meaning to get things going on. If you're able to get things working, I'd be more than happy to integrate any changes that you want to send along... patches are very much appreciated! :) thanks! chris On Mar 18, 2010, at 1:46 PM, Roderick Ford wrote: Hello, In order to build (cabal install HDBC-mysql) the HDBC-mysql package, I am having to make the following changes: (1) I had to change the mysql (5.1.45 community distrib msi) to use a wrapper exe on the mysql_config.pl and put this in c:\program files\mysql\bin since although the c:\program files\mysql\scripts\, where mysql_config.pl resides, was in the path, even the commandline call to it was not finding or using it...very strange. This of course doesn't directly have to do with the HDBC-mysql package. --The quick wrapper was: import System.Environment(getArgs) import System.Process(readProcessWithExitCode) import System.Exit(exitWith,ExitCode(ExitSuccess)) main = do args <- getArgs (ecode,out,err) <- readProcessWithExitCode "c:\\Perl64\\bin\\perl.exe" ("C:\\Program Files\\MySQL\\scripts\\mysql_config.pl" : args) "" if ecode == ExitSuccess then mapM_ putStrLn (lines out) else mapM_ putStrLn (lines err) exitWith ecode -- so now the output is: "C:\Program Files\MySQL\lib\mysqlclient.lib" "wsock32.lib" "advapi32.lib" "user3 2.lib" (2) Once that was done, the "cabal install HDBC-mysql" call was able to find the mysql_config. However, it was splitting the values returned by mysql_config on space, and thus failed to find mysql.h, as the resulting command was: C:\Program Files (x86)\Haskell Platform\2009.2.0.2\gcc.exe -c -BC:\ Program Files (x86)\Haskell Platform\2009.2.0.2\gcc-lib -IC:\Program Files (x86) \Haskell Platform\2009.2.0.2\include\mingw -D__GLASGOW_HASKELL__=610 -IIC:\Program -Iles\MySQL\include\mysql" ... -- then I tried taking the -I out of the mysql_config.pl script and got the following from the "cabal install HDBC-mysql" command was: C:\Program Files (x86)\Haskell Platform\2009.2.0.2\gcc.exe -c -BC:\ Program Files (x86)\Haskell Platform\2009.2.0.2\gcc-lib -IC:\Program Files (x86) \Haskell Platform\2009.2.0.2\include\mingw -D__GLASGOW_HASKELL__=610 -I:\Program -Iles\MySQL\include\mysql" ... blah blah blah cabal: Error: some packages failed to install: HDBC-mysql-0.6.1 failed during the building phase. The exception was: exit: ExitFailure 1 ... so finally I am downloading your package to see if I can figure out a fix for windows boxes. Just thought I would give you a heads up on this windows-related bug. Thanks, Roderick ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] hdbc-mysql on windows
Hello, In order to build (cabal install HDBC-mysql) the HDBC-mysql package, I am having to make the following changes: (1) I had to change the mysql (5.1.45 community distrib msi) to use a wrapper exe on the mysql_config.pl and put this in c:\program files\mysql\bin since although the c:\program files\mysql\scripts\, where mysql_config.pl resides, was in the path, even the commandline call to it was not finding or using it...very strange. This of course doesn't directly have to do with the HDBC-mysql package. --The quick wrapper was: import System.Environment(getArgs) import System.Process(readProcessWithExitCode) import System.Exit(exitWith,ExitCode(ExitSuccess)) main = do args <- getArgs (ecode,out,err) <- readProcessWithExitCode "c:\\Perl64\\bin\\perl.exe" ("C:\\Program Files\\MySQL\\scripts\\mysql_config.pl" : args) "" if ecode == ExitSuccess then mapM_ putStrLn (lines out) else mapM_ putStrLn (lines err) exitWith ecode -- so now the output is: "C:\Program Files\MySQL\lib\mysqlclient.lib" "wsock32.lib" "advapi32.lib" "user3 2.lib" (2) Once that was done, the "cabal install HDBC-mysql" call was able to find the mysql_config. However, it was splitting the values returned by mysql_config on space, and thus failed to find mysql.h, as the resulting command was: C:\Program Files (x86)\Haskell Platform\2009.2.0.2\gcc.exe -c -BC:\ Program Files (x86)\Haskell Platform\2009.2.0.2\gcc-lib -IC:\Program Files (x86) \Haskell Platform\2009.2.0.2\include\mingw -D__GLASGOW_HASKELL__=610 -IIC:\Program -Iles\MySQL\include\mysql" ... -- then I tried taking the -I out of the mysql_config.pl script and got the following from the "cabal install HDBC-mysql" command was: C:\Program Files (x86)\Haskell Platform\2009.2.0.2\gcc.exe -c -BC:\ Program Files (x86)\Haskell Platform\2009.2.0.2\gcc-lib -IC:\Program Files (x86) \Haskell Platform\2009.2.0.2\include\mingw -D__GLASGOW_HASKELL__=610 -I:\Program -Iles\MySQL\include\mysql" ... blah blah blah cabal: Error: some packages failed to install: HDBC-mysql-0.6.1 failed during the building phase. The exception was: exit: ExitFailure 1 ... so finally I am downloading your package to see if I can figure out a fix for windows boxes. Just thought I would give you a heads up on this windows-related bug. Thanks, Roderick ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] little help please
Yes, THANKS!! But my other problem was, that once I get it to compile, I get nothing output: C:\Program Files\MySQL\bin>ghc --make -o mysql_config.exe main.hs[1 of 1] Compiling Main ( main.hs, main.o )Linking mysql_config.exe ... C:\Program Files\MySQL\bin>mysql_config --libs C:\Program Files\MySQL\bin>mysql_config --goob C:\Program Files\MySQL\bin>pwhich mysql_config.\mysql_config.EXE ... yet instead, I should be getting this: C:\Program Files\MySQL\bin>..\scripts\mysql_config.pl --libs"C:\Program Files\MySQL/lib/mysqlclient.lib" "wsock32.lib" "advapi32.lib" "user32.lib" C:\Program Files\MySQL\bin>..\scripts\mysql_config.pl --goobUnknown option: goobUsage: C:\Program Files\MySQL\scripts\mysql_config.pl [OPTIONS]Options: --cflags ["-IC:\Program Files\MySQL/include/mysql" "-D_WINDOWS""/MT" "/Zi" "/O2" "/Ob1" "/D" "NDEBUG" "-DDBUG_OFF" "/wd4996"]--include ["-IC:\Program Files\MySQL/include/mysql"]--libs ["C:\Program Files\MySQL/lib/mysqlclient.lib" "wsock32.lib" "advapi32.lib" "user32.lib"]--libs_r ["C:\Program Files\MySQL/lib/mysqlclient.lib" "wsock32.lib" "advapi32.lib" "user32.lib"] --socket [/tmp/mysql.sock]--port [0] --version[5.1.45]--libmysqld-libs ["C:\Program Files\MySQL/lib/mysqlserver.lib" "wsock32.lib" "advapi32.lib" "user32.lib"] ... so, it looks like I am handling the IO wrong, or else I go directly to the exitWith instead of returning the IO from "return". So, I suppose this is normal behavior, but how do you do BOTH. I guess I should actually be "print"ing the output rather than returning it, then doing the exitWith. > Date: Thu, 18 Mar 2010 18:56:12 + > Subject: Re: [Haskell-cafe] little help please > From: nicolas...@gmail.com > To: develo...@live.com > CC: haskell-cafe@haskell.org > > This compiles: > > import System.Environment(getArgs) > import System.Process(readProcessWithExitCode) > import System.Exit(exitWith,ExitCode(ExitSuccess)) > > main = do > args <- getArgs > (ecode,out,err) <- readProcessWithExitCode > "c:\\Perl64\\bin\\perl.exe" ("C:\\Program > Files\\MySQL\\scripts\\mysql_config.pl" : args) "" > if ecode == ExitSuccess > then return out > else return err > exitWith ecode > > I had trouble with the spacing you had when I pasted your code, and > also changed the imports so that ExitSuccess was being imported. > > All the best, > > Nick > > On Thu, Mar 18, 2010 at 6:46 PM, Roderick Ford wrote: > > this will be EASY for you to fix, I am sure... what the heck am I doing > > wrong: > > import System.Environment(getArgs) > > import System.Process(readProcessWithExitCode) > > import System.Exit(exitWith) > > main = do > > args <- getArgs > > (ecode,out,err) <- readProcessWithExitCode "c:\\Perl64\\bin\\perl.exe" > > ("C:\\Program Files\\MySQL\\scripts\\mysql_config.pl" : args) "" > > if ecode == System.Exit.ExitCode.ExitSuccess > > then return out > > else return err > > exitWith ecode > > > > > > ___ > > Haskell-Cafe mailing list > > Haskell-Cafe@haskell.org > > http://www.haskell.org/mailman/listinfo/haskell-cafe > > > > ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] little help please
this will be EASY for you to fix, I am sure... what the heck am I doing wrong: import System.Environment(getArgs)import System.Process(readProcessWithExitCode)import System.Exit(exitWith) main = do args <- getArgs (ecode,out,err) <- readProcessWithExitCode "c:\\Perl64\\bin\\perl.exe" ("C:\\Program Files\\MySQL\\scripts\\mysql_config.pl" : args) "" if ecode == System.Exit.ExitCode.ExitSuccessthen return out else return errexitWith ecode ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
RE: [Haskell-cafe] How many "Haskell Engineer I/II/III"s are there?
We could/should probably all just start our own collective (corporate) entity to produce software, based on the premises that 1) software built with Haskell will be more robust, and 2) software built by developers who have an affinity and aptitude for this language will tend to write better software. When the products themselves gain a positive reputation with the general public, then the corporation itself and those invested will benefit. cheers heard across the world A U.S. president would probably subsidize such a job-creating endeavor too! Nay-sayers are probably predominately composed of those who do not understand it or its benefits. > Date: Wed, 10 Feb 2010 19:26:22 + > From: andrewcop...@btinternet.com > To: haskell-cafe@haskell.org > Subject: Re: [Haskell-cafe] How many "Haskell Engineer I/II/III"s are there? > > Jason Dusek wrote: > > Although I'm fond of Haskell, in practice I am not a > > Haskell programmer -- I'm paid for Ruby and Bourne shell > > programming. > > > > Many of the jobs posted on this list end up being jobs > > for people who appreciate Haskell but will work in C# or > > O'Caml or some-such. > > > > I wonder how many people actually write Haskell, > > principally or exclusively, at work? > > > > I usually estimate the answer to this question by looking up how many > employees WellTyped.com and Galois.com have between them, under the > simplifying assumption that the number of other people using Haskell is > probably so utterly insignificant that it doesn't matter. > > I'd love to see Haskell become popular, but it doesn't seem to be in any > rush to happen just yet. (Then again, I gather 10 years ago things were > far, far worse than they are today...) > > Some people (especially C programmers) have tried to tell me that > Haskell is too slow. Others have claimed it's too incomprehensible. > "People inherantly thing sequentially, not set-theoretically" they say. > (Last time I checked, nobody's complaining about SQL being > unintuitive...) "People don't think recursively" is another > commonly-sited objection. Still others point out that Haskell is a > *pure* functional language, and all the most popular languages are > hybrids. Eiffel is a pure-OO language, but the hybrids like Java and C++ > far vastly more popular. I myself might point out the comparative > immaturity of things on Windows (the single biggest target platform on > the market), and the rough edges on tools like Darcs, Haddock and Cabal. > If enough people become interested, all these things could (and > hopefully would) be fixed. It's a question of whether we reach the > necessary critical mass or not... > > ___ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
[Haskell-cafe] Jobs
We need two developers at the company I work for; that is, I am NOT a recruiter. My boss is asking me to search for developers for me to work with ... like minded, haskell loving, driven, c/c++ (c# if we have to) for an INITIALLY c# full-time salaried position in Arizona (or FL or UT). He is open to starting new projects using Haskell, where applicable. So, he is involving me in the interview process, and I've been less than pleased with candidate selection so far. I told him we need to find people that see the beauty of mathematics and Haskell. If you have a resume you want me to forward on, reply to me directly and I will forward on through the review process. Here is a clip from posting 1 (don't take too literally): Software Engineer with strong 'Design, Programming, Debugging' experience Required Experience 3+yrs MS C# *AND* C++ MS SQL Server MS ASP.NET MS SQL Applicants must have at least 3 years practical work experience designing and building commercial software products that have shipped on the Windows OS platform. Requires proven experience building Web GUI on Windows platform, familiarity with distributed programming and networking. Must also be able to write and debug SQL Stored Procedures. Developer will be required to take ownership of the assigned modules through design, code & unit test. Past team lead experience would be valuable. Familiarity with gcc and Linux / Unix programming would be a plus. 4 year degree in a Computer Science related field with at least 5-7 years of experience in a software development environment or similar combination of education/work experience. This position is available in the following offices: Scottsdale, Arizona Provo, Utah Melbourne, Florida Here is a clip from posting 2: Job Description As a Senior C# - Asp.net Software Engineer in this position you will operate within a group of engineers, engaged in product design and implementation of enterprise applications. This role has a very high level of technical and product knowledge spanning multiple development technologies and target platforms. The Senior Software Engineer operates unsupervised and is a self-starter. Essential Duties and Responsibilities: Performs OOD, implementation and maintenance for products composed with a variety of technologies, mostly for Windows platforms but also Linux and other platforms Provides expertise for multiple software layers and levels of abstraction: UI, business layer, database, and distributed operations. Builds a tactical consensus with the development team whilst demonstrating strong technical leadership skills Experience working in a scrum agile environment a plus Performs highly complex product design activities which may require extensive research and analysis Performs complex bug verification, release testing and beta support for assigned products Researches problems discovered by QA or product support and identifies solutions to the problems Conducts unit testing and integration testing for functionality and performance limits In absence of product architects, may serve as a product architect Researches and understands non-functional requirements beyond the marketing requirements for a product Researches new technology or development tools to remain informed of current technology Required Skills Advanced technical knowledge in software development methodologies, design and implementation in C#. Expert analytical and design skills at multi-product/multi-environment level. Understands cross-platform and/or internationalisation development. In-depth experience in research and analysis, project planning and implementation. Excellent understanding of entire development process, including specification, documentation and quality assurance. Aware of business issues as they impact overall project plans. Recognised reference and central point for technical issues across groups and products. Strong communications and interpersonal skills. Advanced PC skills. Required Experience A university degree in computer science or software engineering, preferably a masters or higher, is desireable. Requires 10 to 15 years of experience in product design Good knowledge of .Net, and ASP.NET, for C# developers. Minimum 5 Years Experience of C# language and Asp.net ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe