Hamilton Richards wrote:

Well, for starters, lists and arrays are two entirely different topics. I've noticed that Haskell newbies sometimes confuse them --possibly the use of [] in list types and enumerations triggers an unconscious association with [] used in conventional languages for array indexing.

I think it's because there's no real reason for someone to think that the words "list" and "array" might not be synonims. I certainly don't seen a linguistic distinction. Either term refers to an ordered collection of items.


Suppose that you learn a new computer language, and it happens to assign special meanings to the words "collection" and "group". You don't know this. So you start talking about groups as you do in every day English and people tell you that you're mixing up concepts.

I guess that a more likely example in programming would be a language that differentiates between "functions", "procedures" and "subroutines".

As for Haskell arrays, I've been programming in Haskell since the early 1990's, and I've never really needed them. Most Haskell programmers find lists much more useful, and you'd probably be better off concentrating on lists until you encounter a problem in which arrays are really needed.

Arrays have O(1) lookup, and Lists have O(n) lookup. For some purposes, arrays might be better. I'm thinking of reimplementing RC4 with arrays to see if it makes a differece.


When you do, you'll discover that in Haskell as in most other languages, an array's size is not part of its type.

Well... that's not quite what I was looking for. I just wanted to raise an error if the array ever has length other than 256. And I don't know how to do that on a language that doesn't have side-effects.


It's nice to see you taking up Haskell with such enthusiasm. If you agree with many of us that Haskell's one of today's best programming programming languages, I hope you'll help spread the word.

:-)

A lot of concepts from Haskell match the way I think about problems. You see, my background is in math, not programming. For example, currying and higher order functions are essentially new names for things I've been doing for years. So after the concept was explained to me, it didn't take me that long to "get it".

My current impression is that Haskell is great for anyone with good mathematics education. But I don't know how it'd fare with other people.

I have a lady friend who wants to learn how to program. She's a technical person, but has no math background to speak of. I can't decide whether to start with a clear-syntax imperative language (Ruby) or a functional language (Haskell). I confess I've been leaning towards Ruby.

Cheers,
Daniel.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to