<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>build</filename>
    </added>
    <added>
      <filename>definitions/AS3_definitions.rar</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -257,13 +257,12 @@ getProperty name =
     do x &lt;- getState
        let a = accessors x
        let def = (AsTypeUnknown, False, False)
-       if (Map.notMember name a) 
-           then do{ let a' = Map.insert name def a
-                  ; let x' = x{ accessors = a' } 
-                  ; setState x'
-                  ; return def
-                  }
-           else Map.lookup name a &gt;&gt;= return
+       case Map.lookup name a of
+           Nothing   -&gt; do let a' = Map.insert name def a
+                           let x' = x{ accessors = a' } 
+                           setState x'
+                           return def
+           Just prop -&gt; return prop
 
 setProperty name prop =
     do x &lt;- getState</diff>
      <filename>ActionhaXe/Data.hs</filename>
    </modified>
    <modified>
      <diff>@@ -52,10 +52,14 @@ deleteFlag flag = do st &lt;- get
 
 getFlag :: String -&gt; StateT AsState IO String
 getFlag flag = do st &lt;- get
-                  if Map.member flag $ flags st
+                  case Map.lookup flag $ flags st of
+                      Just mval -&gt; return mval
+                      Nothing   -&gt; return &quot;&quot;
+{-                  if Map.member flag $ flags st
                       then do mval &lt;- Map.lookup flag $ flags st
                               return mval
                       else return &quot;&quot;
+-}
 
 insertInitMember output = do st &lt;- get
                              put st{initMembers = (output:(initMembers st))}
@@ -110,15 +114,15 @@ classBlock (Block l bs r)  = do
                      ) &quot;&quot; al
     bi &lt;-  foldlM (\s b -&gt; do{ x &lt;- classBlockItem b; return $ s ++ x} ) &quot;&quot; bs 
     nc &lt;- checkConstructor l
-    return $ showd l ++ nc ++ props ++ showw l ++ bi ++ showb r
+    return $ showd l ++ showw l ++ nc ++ props ++ showw l ++ bi ++ showb r
 
 checkConstructor l = do
     con &lt;- getFlag hasConstructor
     x &lt;- getMembers
-    if con == &quot;&quot; &amp;&amp; length x &gt; 0
-        then do let (nl, i) = getNI l
+    if con == &quot;&quot; 
+        then do let (nl, i) = getNlIndent l
                 initM &lt;- getInitMembers l
-                return $ &quot;public function new() {&quot; ++ initM ++ &quot;}&quot;++ nl ++ i ++ showw l
+                return $ &quot;public function new() { &quot; ++ initM ++ &quot;}&quot;++ nl ++ i
         else return &quot;&quot;
 
 interfaceBlock (Block l bs r)  = do 
@@ -136,14 +140,14 @@ constructorBlock (Block l bs r) = do
     initM &lt;- getInitMembers l 
     return $ showb l ++ initM ++ bi ++ showb r
 
-getNI l = 
+getNlIndent l = 
     let spacebreak = break (\c -&gt; c == '\n') ( reverse $ showw l)
         i =  reverse $ fst spacebreak
         nl = if length (snd spacebreak) &gt; 1 &amp;&amp; (snd spacebreak)!!1 == '\r' then &quot;\r\n&quot; else &quot;\n&quot;
     in (nl, i)
  
 getInitMembers l = 
-    do let (nl, i) = getNI l
+    do let (nl, i) = getNlIndent l
        x &lt;- getMembers
        if length x &gt; 0
            then return $ nl++i++ intercalate (nl++i) x ++ nl ++ i
@@ -238,15 +242,14 @@ methodDecl (MethodDecl a f ac n s b) = do
                  then do{ updateFlag hasConstructor &quot;true&quot;; x &lt;- maybe (return &quot;&quot;) constructorBlock b; s' &lt;- signatureArgs s; return $ namespace a ++ showb f ++ &quot;new&quot;++showw n ++ s' ++ x }
                  else do st &lt;- get
                          let accMap = accessors st
-                         if Map.member (showd n) accMap
-                              then do (t, _, _) &lt;- Map.lookup (showd n) accMap
-                                      let arg = getArg s
-                                      x &lt;- maybe (return &quot;&quot; ) (accblock arg ac) b
-                                      acc' &lt;- accessor ac n s t
-                                      return $ namespace a ++ showb f ++ acc' ++ x 
-                              else do x &lt;- maybe (return &quot;&quot;) block b
-                                      s' &lt;- signature s
-                                      return $ namespace a ++ showb f ++ showb n ++ s' ++ x
+                         case Map.lookup (showd n) accMap of
+                             Just (t, _, _) -&gt; do let arg = getArg s
+                                                  x &lt;- maybe (return &quot;&quot; ) (accblock arg ac) b
+                                                  acc' &lt;- accessor ac n s t
+                                                  return $ namespace a ++ showb f ++ acc' ++ x 
+                             Nothing        -&gt; do x &lt;- maybe (return &quot;&quot;) block b
+                                                  s' &lt;- signature s
+                                                  return $ namespace a ++ showb f ++ showb n ++ s' ++ x
     where accessor ac name s@(Signature l args r ret) t = 
               case ac of
                   Just x -&gt; do{ a &lt;- showArgs args</diff>
      <filename>ActionhaXe/Translator.hs</filename>
    </modified>
    <modified>
      <diff>@@ -26,6 +26,7 @@ Requirements
 - parsec 3 http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec
 
 Compile with: ghc --make -XDeriveDataTypeable as3tohaxe.hs
+or the './build' script
 
 -- License --
 This program and its source is GPL licensed.  Please read the LICENSE</diff>
      <filename>README</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cdd84e2ff6dcd8269bf98db8a078e84199a724c1</id>
    </parent>
  </parents>
  <author>
    <name>Don-Duong Quach</name>
    <email>geekrelief@gmail.com</email>
  </author>
  <url>http://github.com/geekrelief/as3tohaxe/commit/b1a406d615ce82a14301f1e6b26755ef8ffee9f7</url>
  <id>b1a406d615ce82a14301f1e6b26755ef8ffee9f7</id>
  <committed-date>2009-01-17T12:02:34-08:00</committed-date>
  <authored-date>2009-01-17T12:02:34-08:00</authored-date>
  <message>fixed errors from ghc update and added definitions for symtable lookup</message>
  <tree>68cd1558277c33c7b09ae669ca773e75fd0c2f25</tree>
  <committer>
    <name>Don-Duong Quach</name>
    <email>geekrelief@gmail.com</email>
  </committer>
</commit>
