Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

: Have you CREATE your DOES> today;

Name: Anonymous 2015-03-13 0:32

Talk about Forth in this thread. ; immediate

Don't POSTPONE your threads. I know there is a Forth programmer out there. I saw that Forth program you poasted. Please poast moar foarth.

THANK YOU

Name: fxgvxcvbxc 2015-03-13 1:50

xczvxc√xc

Name: Anonymous 2015-03-13 2:03

approximate
: p 2e 10000000 1 do 4e i s>f 2e f** f* fdup 1e f- f/ f* loop ;
get

Name: Anonymous 2015-03-13 4:03

>>3

In FiCL Forth, I had to write it like this:
: p 2e 1 do 4e i int>float fdup f* f* fdup 1e f- f/ f* loop ;

> 10 p f.
3.060036
> 100 p f.
3.133709
> 1000 p f.
3.140806
> 2000 p f.
3.141326
> 3000 p f.
3.141350
> 10000 p f.
3.141350
> 100000 p f.
3.141350
> 200000 p f.
3.141350


I have discovered that pi = 3.141350 exactly.

Name: Anonymous 2015-03-13 8:18

I require moar Foarth.

Poast moar Foarth.

Name: Anonymous 2015-03-13 12:46

March fourth is a day and a command.

Name: Anonymous 2015-03-13 13:33

Here's a persistent implementation of Conway's Game of Life (in ANSI Forth; should run unmodified on at least GForth, among others. Requires the BLOCK wordset):

VARIABLE STATEBLK
VARIABLE LIFEBLK
VARIABLE STATEP

\ : -ROT ROT ROT ;

: WRAPY DUP 0< IF DROP 15 THEN DUP 15 > IF DROP 0 THEN ;
: WRAPX DUP 0< IF DROP 63 THEN DUP 63 > IF DROP 0 THEN ;
: WRAP WRAPY SWAP WRAPX SWAP ;
: DECEASED? WRAP 64 * + LIFEBLK @ BLOCK + C@ BL = ;
: LIVING? DECEASED? 0= ;
: (-1,-1) 2DUP 1- SWAP 1- SWAP LIVING? 1 AND ;
: (0,-1) >R 2DUP 1- LIVING? 1 AND R> + ;
: (1,-1) >R 2DUP 1- SWAP 1+ SWAP LIVING? 1 AND R> + ;
: (-1,0) >R 2DUP SWAP 1- SWAP LIVING? 1 AND R> + ;
: (1,0) >R 2DUP SWAP 1+ SWAP LIVING? 1 AND R> + ;
: (-1,1) >R 2DUP 1+ SWAP 1- SWAP LIVING? 1 AND R> + ;
: (0,1) >R 2DUP 1+ LIVING? 1 AND R> + ;
: (1,1) >R 1+ SWAP 1+ SWAP LIVING? 1 AND R> + ;
: NEIGHBORS (-1,-1) (0,-1) (1,-1) (-1,0) (1,0) (-1,1) (0,1) (1,1) ;
: BORN? NEIGHBORS 3 = ;
: SURVIVES? 2DUP LIVING? -ROT NEIGHBORS 2 = AND ;
: LIVES? 2DUP BORN? -ROT SURVIVES? OR ;
: NEWSTATE STATEBLK @ BLOCK UPDATE STATEP ! ;
: STATE! STATEP @ C! 1 STATEP +! ;
: ALIVE [CHAR] * STATE! ;
: DEAD BL STATE! ;
: ITERATE-CELL 2DUP SWAP LIVES? IF ALIVE ELSE DEAD THEN ;
: ITERATE-ROW 0 BEGIN DUP 64 < WHILE ITERATE-CELL 1+ REPEAT DROP ;
: ITERATE-BLOCK 0 BEGIN DUP 16 < WHILE ITERATE-ROW 1+ REPEAT DROP ;
: GENERATION LIFEBLK @ STATEBLK @ LIFEBLK ! STATEBLK ! ;
: ITERATE NEWSTATE ITERATE-BLOCK GENERATION ;
: DONE? KEY [CHAR] Q = ;
: PROMPT CR ." PRESS Q TO EXIT; OTHER KEY TO CONTINUE" ;
: VIEW PAGE LIFEBLK @ LIST PROMPT ;
: LIFE BEGIN VIEW ITERATE DONE? UNTIL ;

Name: Anonymous 2015-03-14 6:44

>>7
wow.

Name: Anonymous 2015-03-14 7:11

>>7,8
I hate to get OT up in this circle-jerk, but Befunge has the greatest CGoL of all time!

v>>31g> ::51gg:2v++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9p BXY|-+<v3*89<%+ * * +
21 >98 *7^>+\-0|<+ * * +
*5 ^:+ 1pg15\,:< + * *** +
10^ <>$25*,51g1v+ +
-^ p<| -*46p15:+<+ +
> 31^> 151p>92*4v+ +
^_ ".", ^ vp1<+ +
>v >41p >0 v+ +
:5! vg-1g15-1g14<+ +
+1-+>+41g1-51gg+v+ +
1p-1vg+1g15-1g14<+ +
g61g>+41g51g1-g+v+ +
14*1v4+g+1g15g14<+ * * +
5>^4>1g1+51g1-g+v+ * * +
^ _^v4+gg15+1g14<+ *** +
>v! >1g1+51g1+g+v+ +
g8-v14/*25-*4*88<+ +
19+>g51gg" "- v + +
4*5 v< v-2:_3v+ +
>^ |!-3_$ v<-+ +
^ < < <|<+ ***+
>g51gp ^ >51gp^>v+ +
^14"+"< ^g14"!"<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Don't change these.
Name: Email:
Entire Thread Thread List