Send Beginners mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."
Today's Topics:
1. Making my own type belong to Data.Ord (Patrik Iselind)
2. Re: Making my own type belong to Data.Ord (Francesco Ariis)
3. Re: Making my own type belong to Data.Ord (Patrik Iselind)
----------------------------------------------------------------------
Message: 1
Date: Sat, 20 Jan 2018 21:20:33 +0100
From: Patrik Iselind <[email protected]>
To: [email protected]
Subject: [Haskell-beginners] Making my own type belong to Data.Ord
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252; format=flowed
Hi,
I'm trying to follow the "Real World Haskell" book online and have
reached exercise 12 in chapter three. See the bottom of
http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html
for reference.
It's the very last exercise on the page concerning constructing a Convex
Hull. I have no problem implementing a Graham Scan in non-functional
languages as i have far more experience with those. But the book hasn't
yet covered how i make my own data belong to for example the Data.Ord
class. The question then for me is how am i supposed to sort my coordinates?
Type classes are not covered for another three chapters in the book.
Given this it seems to me that i should be able to solve this without
using Data.Ord, i just cannot see how. Any pointers would be highly
appreciated.
--
Patrik Iselind
------------------------------
Message: 2
Date: Sat, 20 Jan 2018 21:27:52 +0100
From: Francesco Ariis <[email protected]>
To: [email protected]
Subject: Re: [Haskell-beginners] Making my own type belong to Data.Ord
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
On Sat, Jan 20, 2018 at 09:20:33PM +0100, Patrik Iselind wrote:
> It's the very last exercise on the page concerning constructing a Convex
> Hull. I have no problem implementing a Graham Scan in non-functional
> languages as i have far more experience with those. But the book hasn't yet
> covered how i make my own data belong to for example the Data.Ord class. The
> question then for me is how am i supposed to sort my coordinates?
>
> Type classes are not covered for another three chapters in the book. Given
> this it seems to me that i should be able to solve this without using
> Data.Ord, i just cannot see how. Any pointers would be highly appreciated.
Hello Patrik,
as you suggested, implementing an instance of Data.Ord would be ok; if
you don't want that, just write a
myTypeCompare :: SomeData -> SomeData -> Ordering
function to use with `sortBy` from `Data.List`.
Does that make sense?
-F
------------------------------
Message: 3
Date: Sat, 20 Jan 2018 21:48:26 +0100
From: Patrik Iselind <[email protected]>
To: [email protected]
Subject: Re: [Haskell-beginners] Making my own type belong to Data.Ord
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8; format=flowed
Den 2018-01-20 kl. 21:27, skrev Francesco Ariis:
> On Sat, Jan 20, 2018 at 09:20:33PM +0100, Patrik Iselind wrote:
>> It's the very last exercise on the page concerning constructing a Convex
>> Hull. I have no problem implementing a Graham Scan in non-functional
>> languages as i have far more experience with those. But the book hasn't yet
>> covered how i make my own data belong to for example the Data.Ord class. The
>> question then for me is how am i supposed to sort my coordinates?
>>
>> Type classes are not covered for another three chapters in the book. Given
>> this it seems to me that i should be able to solve this without using
>> Data.Ord, i just cannot see how. Any pointers would be highly appreciated.
> Hello Patrik,
> as you suggested, implementing an instance of Data.Ord would be ok; if
> you don't want that
I wouldn't mind writing it, at all. It's probably the way i would do it
if i knew more Haskell. My problem is just that the book i follow hasn't
covered that topic yet, so even if i could google how to do it i guess i
shouldn't until the book has covered the topic.
As i understand it this would be the 'preferred' way in the real world,
is this correctly understood?
> , just write a
>
> myTypeCompare :: SomeData -> SomeData -> Ordering
>
> function to use with `sortBy` from `Data.List`.
> Does that make sense?
That would make sense, i seem to remember something along those lines
from previous topics covered in the book.
Thanks a lot Francesco, much appreciated!
// Patrik
------------------------------
Subject: Digest Footer
_______________________________________________
Beginners mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
------------------------------
End of Beginners Digest, Vol 115, Issue 8
*****************************************