Differences between revisions 9 and 21 (spanning 12 versions)
Revision 9 as of 2007-02-24 21:35:23
Size: 1216
Editor: KaiJaeger
Comment:
Revision 21 as of 2007-03-09 09:05:08
Size: 675
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= FunExamples = ## page was renamed from FunExamples
= John Conways’s “Game of Life” =
Line 3: Line 4:
[[TableOfContents]]

== John Conways`s "Game of Life" ==

This dynamic function takes a boolean matrix as argument and return a boolean matrix with the new generation. It is taken from [http://www.dyalog.dk/dfnsdws/n_life.htm Dyalog`s] Website which at the time being (2007-02-09) does not support Unicode. However, you will see APL characters with Internet Explorer but not with any other browser.
This function takes a boolean matrix as argument and returns a boolean matrix with the new generation.
Line 10: Line 7:
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}   ∇ nextGeneration←Life currentGeneration
[1] ⍝⍝ Take a matrix of Booleans and returns one
[2] nextGeneration←↑1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration
  ∇
Line 14: Line 14:
== Meaning of Life (Hitchhiker`s Guide to the Galaxy) == == External links ==
Line 16: Line 16:
As you might know, the answer to the ultimate question is '''42''', according to [http://en.wikipedia.org/wiki/Douglas_adams Douglas Adams`s] famous book "[http://en.wikipedia.org/wiki/The_Hitchhiker's_Guide_to_the_Galaxy Hitchhiker`s Guide to the Galaxy"]. We do not need a supercomputer and millions of years to proof that. Whatever you specify as right argument to this function:

{{{
MeaningOfLife←{+.×/⍎⊖⍕⊃¨⊂|⌊-*+○⌈∨.∧/>\</×÷!⌽⍉⍉⌹~⍴⍋⍒,⍟?⍳''≡1↑0⍴∊⍵}
}}}

...will produce a reasonable answer, regardless which type/lenght/depth/rank it is.
 * wiki:WikiPedia/Conways_Game_of_Life
 * [http://catpad.net/michael/apl/ Conway’s Game of Life in one line of APL]
 * [http://www.vector.org.uk/archive/v213/cliff213.htm Time(r) for the Game of Life]
Line 25: Line 21:

CategoryShowcases, CategoryDyalog
CategoryShowcases

John Conways’s “Game of Life”

This function takes a boolean matrix as argument and returns a boolean matrix with the new generation.

  ∇ nextGeneration←Life currentGeneration
[1] ⍝⍝ Take a matrix of Booleans and returns one
[2]  nextGeneration←↑1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration


CategoryShowcases

GameOfLife (last edited 2015-01-28 19:11:48 by KaiJaeger)