
Hello Brian, Friday, June 16, 2006, 2:18:24 AM, you wrote:
but i consider to move back to c/c++.
There is also OCaml and SML, both of which have freely available compilers to generate fast native code (SML has MLton - a whole program optimizing compiler), and which use side effects instead of monads.
i also mentioned that all complaints are really about laziness and purity of language, so ocaml/sml and may be even Clean will be better alternative. there was also discussions about strict haskell dialect (look in archives) and it seems that strictness can be obtained just by running special preprocessor which generates all those "!" and "seq". for example, before preprocessor: data T = C Int Char f x = x*2 after: data T = C !Int !Char f x | x `seq` True = x*2
* array : if i want to write something involving array, i could use Bulat's written a new array library - see http://www.haskell.org//pipermail/haskell/2006-June/018044.html
i just rewrote existing lib and it don't have any differences from original in areas mentioned by Thu. may be he don't read the http://haskell.org/haskellwiki/Arrays - in particular, it mention that array library really has only two interfaces - one for mutable and for immutable arrays one thing not yet mentioned there is what GHC has parallel arrays that are strict but can contain elements of any type
e.g. writing myfunction x1 .. xn | x1 `seq` ... False = undefined is not declarative (and i still have to learn to identify where it helps and where it doesn't)
Bang patterns would at least make the syntax easier to write.
they are already supported in ghc 6.5 -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com