My code for 'concat!' in r2591 is correct, but it runs
incorrectly, because there is a compiler bug.

Specifically, this bug happens when there is a single "=>"
expression inside a loop.  This bug causes the loop to only
run once.

After some debugging, I'm not sure if this bug happens in
"incExitLevel" in "parseIf".

Example:

)abbrev package TEST Test
Test() : Exp == Imp where
  Exp == with
    test1 : List Integer -> Integer
  Imp == add
    test1 l ==
      n := 0
      while not empty? l repeat
        -- 1+1 -- uncomment this line to workaround this bug
        first l = 3 =>
          n := n + 1
          l := rest l
      n

===== -- should return 4 instead of 1
(1) -> test1 [3,3,3,3]

   (1)  1

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/CAGBJN92Rbc%2BUrRKR76-D0ijvNqt1OaipWkyMhM5uxNgXN2q8mg%40mail.gmail.com.

Reply via email to