<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Thanks, <br>
      <br>
      I will remove that one. <br>
      <br>
      if I do not have to handle every case it would have 2 clauses one
      for true and one for false. <br>
      <br>
      I apolize for the wrong title. <br>
      <br>
      What I meant is if its well written.<br>
      It gives the right answers. <br>
      <br>
      to Tony : I have studied that book and did some exercises in
      Scheme and in Haskell to look if I understand it.<br>
      Now Im back to do all exercises again with my new knowlegde. <br>
      <br>
      Roelof<br>
      <br>
      <br>
      Erik Søe Sørensen schreef op 8-2-2015 om 12:44:<br>
    </div>
    <blockquote
cite="mid:CAO1s=UU0Oe8JCJqkFP8QQXVnNhfxkeTBXEGkhfA8gUwvU2VQUg@mail.gmail.com"
      type="cite">
      <p dir="ltr">OK, I have a few comments:<br>
        - why handle '' in your implementation of not ? I get the
        suspicion that either you've been exposed to some other language
        where there was some special value to always have to handle, or
        that you've been looking for inspiration in some string-related
        recursion examples? (Bonus question: how would your
        implementation of not in Haskell look like? Would it have three
        clauses? )<br>
        - '' is not a string, but an atom. They are different beasts.<br>
        - so far, there's no recursion at all. Nor would you need
        recursion for implementing not, or, and etc.<br>
        Why are you asking questions before you get to the recursion
        part, in a post mentioning recursion in the title? (You are
        allowed to, of course, but the rest of us are allowed to be
        confused by it :-))<br>
        As I understand the task, it is about writing a module which
        literally takes (representations of) boolean expressions, such
        as "true AND (false OR true)" and calculates the result. That
        does require recursion (as well as choosing a suitable data
        structure for representing expressions).<br>
        Starting with the functions mentioned in the task description,
        as you have dine,  sounds like a good idea, though.</p>
      <p dir="ltr">- Finally: there are two parts to good code: 1) does
        it work and 2) is it well written. (Well, also 1b) how little
        does it take to make it stop working.)<br>
        For 2), this mailing list can be a good source of help. But 1)
        you can do yourself - you could eg add a test  function to your
        module:<br>
        test () -><br>
          false = b_not(true),<br>
          %... other test cases...<br>
          ok.</p>
      <p dir="ltr">A side effect of this is signalling your level of
        understanding in mailing list posts, improving the chance of
        answers at the right level.<br>
        (It may be clear at this point that I don't really know at which
        level to reply...)</p>
      <p dir="ltr">Hoping this helps somehow<br>
        /Erik</p>
      <div class="gmail_quote">Den 08/02/2015 11.56 skrev "Roelof
        Wobben" <<a moz-do-not-send="true"
          href="mailto:r.wobben@home.nl">r.wobben@home.nl</a>>:<br
          type="attribution">
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
          <br>
          I have studied recursion the last few weeks by using Haskell
          and I think I understand it.<br>
          <br>
          I  did a portion of this exercise :<br>
          <br>
          Write a module boolean.erlthat takes logical expressions and
          Boolean values (represented as the atoms  trueand  false) and
          returns their Boolean result. The functions<br>
          you write should include b_not/1, b_and/2, b_or/2, and
          b_nand/2. You should not use<br>
          the logical constructs  and,  or, and  not, but instead use
          pattern matching to achieve your<br>
          goal.<br>
          <br>
          so far I have this :<br>
          <br>
          -module(boolean).<br>
          <br>
          -export([b_not/1]).<br>
          <br>
          % if a empty string is given , the answer will be a empty
          string.<br>
          b_not('') -><br>
            '';<br>
          <br>
          % is false is given, the answer will be true.<br>
          b_not(false) -><br>
            true;<br>
          <br>
          % is true is given, the answer will be false<br>
          b_not(true) -><br>
            false.<br>
          <br>
          Is this a good try or can I change anything ?<br>
          <br>
          Roelof<br>
          <br>
          _______________________________________________<br>
          erlang-questions mailing list<br>
          <a moz-do-not-send="true"
            href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
          <a moz-do-not-send="true"
            href="http://erlang.org/mailman/listinfo/erlang-questions"
            target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
        </blockquote>
      </div>
    </blockquote>
    <br>
  </body>
</html>