Forth: A Foruth generation language

[top]

  1. A strctured assembler of virtual stack machine.
  2. Reverse Polish Notation.
  3. Has ANSI standard.
  4. Example: prime number generation

    ( Print prime numbers )
    
    0 variable cnt
    
    : isp ( n1 n2 -- n1 )
      dup dup * 2 pick > if
          2drop -1
      else
        2dup mod 0= if
          2drop 0
        else
          2 + recurse
        then
      then
    ;
    
    : isprime ( n1 -- n1 )
      dup 2 = if
        drop -1
      else
        dup 2 mod 0= if
          drop 0
        else
          3 isp
        then
      then
    ;
      
    : primes ( n1 -- )
      cr
      0 cnt !
      1 + 2 do
        i isprime if
            i 5 .r
            cnt @ 1 + cnt !
        then
      loop
      cr cnt @ 5 .r ."  primes" cr
    ;
    

[top]