|
![](/i/fill.gif) |
Saul Luizaga wrote:
> I read a bit of http://haskell.org/
I'm surprised that alone didn't scare you off! ;-)
> also downloaded and installed GHC
> (400+ MB installed which I find great)
It comes with lots of libraries. (Plus their documentation.)
I'm guessing you've got the brand new 6.10.1 release, which is
significantly larger than previous releases, because it comes with the
new Data Parallel Haskell library, plus the document generation tool
[which used to be a seperate download].
AFAIK, when you install a C compiler, you don't get OpenGL bindings, a
parser library, 4 seperate multithreading tools, a set of container
libraries, graph theory libraries...
> but.... no IDE
No, there isn't.
There used to be a Haskell plugin for something called "Eclipse", but
it's suffering from bitrot ATM.
> to make libraries
> and .dll u need this thing (can't remember the name) that need this
> other thing (Cywin) to emulate a Linux enviroment and get compiled so it
> can be used and the 'darcs' thing to do a kind of repository and the
> other thing to do documentation...
Ah yes... The Windows version of GHC actually uses the Cygwin POSIX
emulator. It also uses GCC (as in, the GNU C compiler), GAS (the GNU
assembler), and the Linux "ld" tool. And it uses Perl.exe. (??!)
Having just said all that, you shouldn't actually need to install Cygwin
just to compile pure Haskell libraries from source. I've never needed to.
I'm not sure if building DLLs is actually supported ATM... I know
they're working on it, but I don't know if it's functional right now.
Darcs is a source control system (like CVS is). It's very popular for
Haskell projects, since it's written in Haskell. Some programs and
libraries are distributed as "use Darcs to download the current souce
repository, and then compile it". Others are packaged and distributed on
Hackage, and you need to use Cabal to build those. (Cabal being
Haskell's home-grown package manager. Apparently they also translate
packages to various native Linux package formats too.)
> I think all of them are goo ideas, what I don't like it is the PIA of
> learn how to compile them, compile them, learn how to use it SEPARATELY
> and finally start to gather all the DISPERSE tutorials and find what
> BROKEN links doesn't show to stat learning the language. Which is not as
> easy to read for non-experienced programmers, even the intro text said
> it is, I understood better Rubi and Python (a Fibonacci example), wtf!
Ah yes, Haskell's legendary documentation. It's scattered all over the
place, half of it is published as academic papers that you and I can't
access, much of it is written for compiler designers and academics
rather than actual *programmers* who just want to know how to use the
thing, and lots of stuff isn't documented _at all_.
For example, laziness can be a bad thing. This is highly non-obvious,
and it ISN'T EXPLAINED ANYWHERE. If you pop into the IRC channel and ask
about it, somebody will explain it. But then it's *still* not written
down for the next newbie who wants to know. It's sort of an oral
tradition; there are many "well known" techniques, but nobody has
written any of this stuff down anywhere, making it infuriatingly hard to
learn about this stuff.
> I'm not saying is hard but is not simple nor obvious, is something in
> the middle I think. No doubt it's what I'm looking for in a language,
> simple yet powerfull, but u need to go deep into it to learn how to make
> fast and/or small .exe files that can compete with C.
...which neatly demonstrates my point. Programs compiled with GHC
contain C debugging symbols by default - even though these are
completely useless in a *Haskell* program. By using a special
command-line switch, you can "strip" the symbols, making a typical
program about 200KB smaller. But this isn't written down anywhere; I
found out about it by chatting to people on IRC.
And yes, Haskell is designed for writing complex algorithms easily. If
you want *speed*, it's very non-obvious how to do this. There is some
scattered documentation about it, but currently the most expedient
method is to post the source code and ask Don to look at it for you. ;-)
> In short: is a PIA that is worth suffering.
That pretty much sums it up, yeah.
FWIW, getting libraries and stuff to work tends to be far easier on
Linux. (E.g., there are packages which require Automake and Bash scripts
as part of their build process... Because, *obviously*, all coding
happens on Linux, right? Right??) Us Windows users tend to be the poor
relations; even Mac OS has better support!
> I'm going to continue reading and searching and downloading and
> searching some more other peaces as I need them along.
You might try looking through this:
http://book.realworldhaskell.org/
It's the website for a book that just got released and is meant to
explain all this stuff - not just the language syntax, but how to work
the compiler, what the best coding strategies are, etc.
I must say, I was very excited about this book, but having actually read
it now it's out, I'm dissapointed. Still, it's a single *large*,
coherant body of information, all in one place. That's a step in the
right direction...
> I see this
> project has come a long way for a freeware, powerful, very smart,
> programming language
The *language* is fantastic! It's the other stuff that needs to go with
a language, such as...
> but ir really needs to put things together (IDE,
> GHC, the .dll/libraries making thing, doc making thing and darcs in a
> funtional package ALREADY COMPILED) and have better support (too much
> disperse info and broken links).
...exactly.
Post a reply to this message
|
![](/i/fill.gif) |