<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">I tried this : <br>
<br>
insert :: LogMessage -> MessageTree -> MessageTree<br>
insert s = <br>
case words s of <br>
(_:_: "This is not the right format") -> MessageTree
Leaf <br>
_ -> MessageTree
Node LogMessage Leaf <br>
<br>
<br>
But I see this errormessages which I do not understand : <br>
<br>
<br>
<div class="ide-error">
<div class="ide-error-span">src/LogAnalysis.hs@38:49-38:60 </div>
<div class="ide-error-msg"><span>Not in scope: data constructor
</span>
<div class="CodeMirror cm-s-default" style="font-size: 14px;"><span
class="cm-variable-2">MessageTree</span></div>
</div>
</div>
<div class="ide-error">
<div class="ide-error-span">src/LogAnalysis.hs@39:49-39:60 </div>
<div class="ide-error-msg"><span>Not in scope: data constructor
</span>
<div class="CodeMirror cm-s-default" style="font-size: 14px;"><span
class="cm-variable-2">MessageTree<br>
<br>
</span></div>
</div>
</div>
<br>
<br>
Mike Meyer schreef op 28-2-2015 om 12:17:<br>
</div>
<blockquote
cite="mid:CAD=7U2Du0US9PqHBqFxoPpGcMF7qbxcWAtfvx=JpoKjPsZOBWg@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Sat, Feb 28, 2015 at 5:07 AM,
Roelof Wobben <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:r.wobben@home.nl" target="_blank">r.wobben@home.nl</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div><br>
That part I understand .<br>
<br>
it's more how I do it here :<br>
<br>
Lets say I have this : <br>
<br>
data MessageType = Info<br>
| Warning<br>
| Error Int<br>
deriving (Show, Eq)<br>
<br>
type TimeStamp = Int<br>
<br>
data LogMessage = LogMessage MessageType TimeStamp
String<br>
| Unknown String<br>
deriving (Show, Eq)<br>
<br>
data MessageTree = Leaf<br>
| Node MessageTree LogMessage
MessageTree<br>
deriving (Show, Eq)<br>
<br>
Now I have to put all the LogMessages in a binary
tree.<br>
with this signature : insert :: LogMessage ->
MessageTree -> MessageTree<br>
<br>
I think I need recursion here but I still not see how
I can make the clauses. <br>
Normally you can say somethig like this [] -> 0
or 1 -> but here it seems to be all seperate
logMessages <br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>Whether you need recursion or not depends on where
you're to insert the message. For instance, you could turn
them into a list with:</div>
<div><br>
</div>
<div>insert message tree = Node tree message Leaf</div>
<div><br>
</div>
<div>Try drawing a few pictures of what that produces, and
you'll see why it's probably not what you want.</div>
<div><br>
</div>
<div>You should be able to tell by looking at the
MessageTree type that you have two cases: one where you're
passed something matching a Node, and one where you're
passed something that's just a Leaf. The latter can't be
recursive, so it's going to terminate any recursion.
Following the advice given to you for the Hanoi problem,
try writing it first.</div>
<div><br>
</div>
<div>Then all you have to do is figure out how to handle the
case where you're given a Node instead of a Leaf.
Figuring out where in the MessageTree you want to insert
the Logmessage will probably be required to do that.<br>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>