Primes by Trial Division - LCSI LogoWriter

15 February 2025
LCSI LogoWriter is similar to Logotron LOGO, with slightly different conditionals, more sophisticated scoping, and a friendlier editor. Case is insignificant; keywords are capitalized here for clarity.
TO while :cond :proc IF NOT RUN :cond [ STOP ] RUN :proc while :cond :proc END TO isprime :n :primes MAKE "i 1 REPEAT COUNT :primes [ IFELSE (REMAINDER :n item :i :primes) = 0 [ OP 1 ] [ MAKE "i (1 + :i) ] ] OP 0 END TO primes :n MAKE "primes [] MAKE "count 2 MAKE "found 0 WHILE [ :found < :n ] [ IF (isprime :count) = 0 [ PR :count MAKE "primes (LPUT :count :primes) MAKE "found (1 + :found) ] MAKE "count (1 + :count) ] END