[Haskell-beginners] trees on Haskell : Do I understand it right ?
Magnus Therning
magnus at therning.org
Sun Mar 1 08:30:35 UTC 2015
Roelof, please consider changing your mail client to send *both* HTML
and plain-text emails! With your current setting you send *only* HTML
sometimes and it results in a slightly broken list archive, see [1]
for an example of the result.
To boot, you also make it more difficult for those of us who use
plain-text mail clients to benefit from the diskussions you
participate in.
/M
[1]: https://mail.haskell.org/pipermail/beginners/2015-February/014808.html
On Thu, Feb 26, 2015 at 03:01:22PM +0100, Roelof Wobben wrote:
> <html>
> <head>
> <meta content="text/html; charset=windows-1252"
> http-equiv="Content-Type">
> </head>
> <body bgcolor="#FFFFFF" text="#000000">
> <div class="moz-cite-prefix">Oke, <br>
> <br>
> So a leaf is a node which has no "branch"<br>
> <br>
> I have made a exercise where I have to made the logMessages. <br>
> Now I have to turn them into a tree <br>
> <br>
> Where does the second entry goes then ?<br>
> <br>
> Roelof<br>
> <br>
> <br>
> Konstantine Rybnikov schreef op 26-2-2015 om 14:56:<br>
> </div>
> <blockquote
> cite="mid:CAAbahfQO5o+Db_qy_B+vb3E6WWb1bdeQBmpAPa6E-5TwTjerjg at mail.gmail.com"
> type="cite">
> <div dir="ltr">
> <div>
> <div>
> <div>
> <div>
> <div>
> <div>
> <div>Hi Roelof,<br>
> <br>
> </div>
> I think you misunderstood it.<br>
> <br>
> </div>
> <div>There are two things here: types and values
> (value-constructors). They exist in different world,
> not touching each other.<br>
> <br>
> </div>
> <div>In Haskell, you define a type as:<br>
> <br>
> </div>
> <div>data <Type_Name> =
> <ValueConstructor_Name> <Type_Name>
> <Type_Name> <Type_Name><br>
> <br>
> </div>
> <div>You can create values as:<br>
> <br>
> </div>
> <div>let varName = <ValueConstructor_Name>
> <Value> <Value> <Value><br>
> <br>
> </div>
> <div>You need to put <Value> of some type, not
> type name itself in place of those <Value>s.<br>
> <br>
> </div>
> <div>So, with datatype you provided, you have two
> data-constructors:<br>
> <br>
> </div>
> <div>Leaf<br>
> <br>
> </div>
> <div>and<br>
> <br>
> </div>
> <div>Node <val> <val> <val><br>
> <br>
> </div>
> <div>You can create a leaf:<br>
> <br>
> </div>
> <div>let leaf = Leav<br>
> <br>
> </div>
> <div>or a node:<br>
> <br>
> </div>
> <div>let node = Node Leaf "msg" Leaf<br>
> <br>
> </div>
> <div>You can see that Node is a data-constructor that
> takes 3 values, not type-names as it's parameters.<br>
> <br>
> </div>
> <div>Hope this helps.<br>
> </div>
> </div>
> </div>
> </div>
> </div>
> </div>
> </div>
> <div class="gmail_extra"><br>
> <div class="gmail_quote">On Thu, Feb 26, 2015 at 3:21 PM, Roelof
> Wobben <span dir="ltr"><<a moz-do-not-send="true"
> href="mailto:r.wobben at home.nl" target="_blank">r.wobben at home.nl</a>></span>
> wrote:<br>
> <blockquote class="gmail_quote" style="margin:0 0 0
> .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
> <br>
> Suppose we have this definition of a tree :<br>
> <br>
> data MessageTree = Leaf<br>
> | Node MessageTree LogMessage MessageTree<br>
> deriving (Show, Eq)<br>
> <br>
> let Message = LogMessage "E 1 this is a test error"<br>
> let Message = LogMessage "e 2 this is the second test error
> "<br>
> <br>
> As I understand it right I can make the first entry like
> this : first_entry = Node Messagetree Message Messagetree<br>
> <br>
> And the second one like this second_entry = Node Message
> Messagetree Message2 Messagetree ??<br>
> <br>
> Roelof<br>
> <br>
> _______________________________________________<br>
> Beginners mailing list<br>
> <a moz-do-not-send="true"
> href="mailto:Beginners at haskell.org" target="_blank">Beginners at haskell.org</a><br>
> <a moz-do-not-send="true"
> href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners"
> target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
> </blockquote>
> </div>
> <br>
> </div>
> <br>
> <fieldset class="mimeAttachmentHeader"></fieldset>
> <br>
> <pre wrap="">_______________________________________________
> Beginners mailing list
> <a class="moz-txt-link-abbreviated" href="mailto:Beginners at haskell.org">Beginners at haskell.org</a>
> <a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a>
> </pre>
> </blockquote>
> <br>
> </body>
> </html>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners
--
Magnus Therning OpenPGP: 0xAB4DFBA4
email: magnus at therning.org jabber: magnus at therning.org
twitter: magthe http://therning.org/magnus
Heuristic is an algorithm in a clown suit. It’s less predictable, it’s more
fun, and it comes without a 30-day, money-back guarantee.
-- Steve McConnell, Code Complete
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20150301/539f2b4a/attachment.sig>
More information about the Beginners
mailing list