POV-Ray : Newsgroups : povray.off-topic : Why is Haskell interesting? : Re: Why is Haskell interesting? Server Time
4 Sep 2024 15:23:12 EDT (-0400)
  Re: Why is Haskell interesting?  
From: Orchid XP v8
Date: 27 Feb 2010 14:36:30
Message: <4b89743e$1@news.povray.org>
>>> which is obviously a hell of a lot longer. 
>>
>> Yet, oddly enough, will work on things that *aren't lists*. That's the 
>> point. :-)
> 
> Well, you can pattern match on the size of the container (presuming you 
> have a polymorphic "size" function to get this). It won't be quite as 
> neat though, obviously.

What was the original?

   case list of
     [[x], [y,_], [z,_,_]] -> x+y+z
     _                     -> 0

If you want it to work for other containers, you're going to have to do 
something like

   case size c of
     3 -> case (size (c ! 0), size (c ! 1), size (c ! 2)) of
            (1, 2, 3) -> (c ! 0 ! 0) + (c ! 1 ! 0) + (c ! 2 ! 0)
            _         -> 0
     _ -> 0

Which isn't nearly as nice.

> Secondly, there's actually an experimental extension to Haskell called 
> "view patterns" which allow you to create sort-of "user defined pattern 
> matching". This fixes this exact problem. (And a couple of others.)

No, apparently it doesn't. It just lets me write

   case c of
     (size -> 3) -> ...

instead of

   case size c of
     3 -> ...

How dissappointing...

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.