Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Friday December 24 2021, @01:08AM   Printer-friendly [Skip to comment(s)]
from the fun-for-the-holler-daze dept.

Lisp in Conway's Game of Life

Lisp in Life is a Lisp interpreter implemented in Conway's Game of Life.

[...] The Lisp interpreter, written in C, is compiled to an assembly language for a CPU architecture implemented in the Game of Life, which is a modification of the computer used in the Quest For Tetris (QFT) project. The compilation is done using an extended version of ELVM (the Esoteric Language Virtual Machine). The Game of Life backend for ELVM was implemented by myself.

Generating a short enough Lisp interpreter assembly code and a Game of Life pattern that runs in a reasonable amount of time required a lot of effort.

Having an infinite size Game of Life grid [...] reduces the chances that any pattern will wrap around to the other side of the grid.


Original Submission

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1)
  • (Score: -1, Flamebait) by Anonymous Coward on Friday December 24 2021, @01:27AM (14 children)

    by Anonymous Coward on Friday December 24 2021, @01:27AM (#1207516)

    The Lisp interpreter, written in C, is compiled to an assembly language for a CPU architecture implemented in the Game of Life, which is a modification of the computer used in the Quest For Tetris (QFT) project.

    Sounds like google-translated through multiple passes.

    That's the problem with nerds - can't communicate in human languages (written or spoken).

    • (Score: 5, Informative) by Mojibake Tengu on Friday December 24 2021, @02:53AM (5 children)

      by Mojibake Tengu (8598) Subscriber Badge on Friday December 24 2021, @02:53AM (#1207521) Journal

      There is nothing wrong with nerds on this. Languages are just a compression method for encoding ideas for transfer.

      Even hypnosis, TV advertising, praying, octopus mating rituals, wildlife birds warbling or Chinese classical theater performance do have some syntax.
      Without proper prior discriminative knowledge the meaning cannot be conveyed.

      It's problem of non-nerds they can't understand the meaning of [life|Life]. Or Forth. Or TeX. Or cats talk.
      Without relevant execution model, any code is just a pile of symbols.

      The real meaning of a program is its execution.

      --
      The edge of 太玄 cannot be defined, for it is beyond every aspect of design
      • (Score: -1, Flamebait) by Anonymous Coward on Friday December 24 2021, @03:04AM (1 child)

        by Anonymous Coward on Friday December 24 2021, @03:04AM (#1207522)

        You are a prime example of inarticulate nerds.

        • (Score: 1, Insightful) by Anonymous Coward on Friday December 24 2021, @03:07AM

          by Anonymous Coward on Friday December 24 2021, @03:07AM (#1207525)

          I had no problem understanding this comment from Mojibake Tengu (8598)'s.

          I do have problems with some of his more detailed comments, not surprising if English isn't his first language(?)

      • (Score: 2, Offtopic) by JoeMerchant on Friday December 24 2021, @03:59AM (1 child)

        by JoeMerchant (3937) on Friday December 24 2021, @03:59AM (#1207538)

        Sure, cats talk, but do we really care what they are saying? Is there any nuance in the language that's not already communicated in their body language?

        --
        Україна не входить до складу Росії.
        • (Score: 0) by Anonymous Coward on Friday December 24 2021, @11:55PM

          by Anonymous Coward on Friday December 24 2021, @11:55PM (#1207707)

          The talk is almost entirely for non-feline benefit anyway.

      • (Score: 0) by Anonymous Coward on Friday December 24 2021, @04:04AM

        by Anonymous Coward on Friday December 24 2021, @04:04AM (#1207540)

        I understood execution. You need someone executed? I'll have someone on that immediately. - Ivan Bakanov

    • (Score: 5, Insightful) by RamiK on Friday December 24 2021, @03:17AM (1 child)

      by RamiK (1813) on Friday December 24 2021, @03:17AM (#1207526)

      It's a lisp interpreter running in a full machine emulation (compute + memory) hosted in a Conway's Game of Life instance.

      The lisp interpreter was written in C.

      The C compiler is ELVM. The ELVM backend (the part of the compiler targeting specific architectures - here, Conway's Game of Life) was written by the developer as well.

      Analogy: It's a Matryoshka doll factory building robots that build Lego bricks that you can use to build a Matryoshka doll factory. Or cars for the car analogy...

      And btw, I didn't need a second read to understand any of it so the author communicated the message just fine for the target audience.

      --
      compiling...
      • (Score: 3, Funny) by mhajicek on Friday December 24 2021, @06:50AM

        by mhajicek (51) on Friday December 24 2021, @06:50AM (#1207556)

        Now run it in a redstone computer in Minecraft.

        --
        The spacelike surfaces of time foliations can have a cusp at the surface of discontinuity. - P. Hajicek
    • (Score: 2, Interesting) by nostyle on Friday December 24 2021, @03:34AM (3 children)

      by nostyle (11497) Subscriber Badge on Friday December 24 2021, @03:34AM (#1207530) Journal

      I am curious about this news item, but not enough to dig too far down the rabbit hole. I came here hoping for clarification, but so far none is forthcoming, so let me take a crack at explaining what I'm understanding in a way that might make sense to you and others. Where I go wrong, please somebody correct me.

      1) There is a computer simulation, Conway's Game of Life. Look it up if you've never encountered it. It is a standard programming exercise in many universities. It can produce seemingly living (i.e. moving, replicatiing, persistent) entities.

      2) From what I can tell, someone has taken that game and created a virtual CPU using components made up of those entities.

      3) Having created that, a C-compiler was put together that could produce "machine code" that could be "run" on that virtual CPU.

      4) Next a LISP interpreter was coded in C to run on the virtual CPU.

      5) Finally various typical LISP test programs have been run on the interpreter running on this virtual CPU.

      Unsurprisingly, these test programs run dreadfully slowly and require enormous amounts of memory.

      --
      The developer must have had a really annoying itch to attempt all this.

      • (Score: 0) by Anonymous Coward on Friday December 24 2021, @10:16AM (1 child)

        by Anonymous Coward on Friday December 24 2021, @10:16AM (#1207570)

        How far is it from this conway's game of life to using RNA or DNA sequences to produce the same results, and then create a self replicating biological entity we can program in C? :) It would give a whole new meaning to procedurally generated content :)

        • (Score: 1, Touché) by Anonymous Coward on Friday December 24 2021, @11:24AM

          by Anonymous Coward on Friday December 24 2021, @11:24AM (#1207577)

          It's the same as any other Turing complete machine.

          No more, no less.

      • (Score: 2) by sgleysti on Friday December 24 2021, @06:06PM

        by sgleysti (56) on Friday December 24 2021, @06:06PM (#1207624)

        Yes, good explanation. To add a little more detail, some of the "entities" in the game of life are called gliders. Per https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life [wikipedia.org],

        It is possible for gliders to interact with other objects in interesting ways. For example, if two gliders are shot at a block in a specific position, the block will move closer to the source of the gliders. If three gliders are shot in just the right way, the block will move farther away. This sliding block memory can be used to simulate a counter. It is possible to construct logic gates such as AND, OR, and NOT using gliders. It is possible to build a pattern that acts like a finite-state machine connected to two counters. This has the same computational power as a universal Turing machine, so the Game of Life is theoretically as powerful as any computer with unlimited memory and no time constraints; it is Turing complete. In fact, several different programmable computer architectures have been implemented in the Game of Life, including a pattern that simulates Tetris.

        Lest you think such stunts have no practical application, the recently disclosed ForcedEntry iMessage RCE vulnerability [blogspot.com] involved carefully crafting a PDF file to cause a buffer overflow in the JBIG2 decompression algorithm whose primitive operations were then hijacked to perform logical operations on arbitrary memory locations. From this, the attackers created a virtual machine to run their payload. Stunningly brilliant. Wish the authors would have done more positive things with their prodigious talent.

    • (Score: 1, Funny) by Anonymous Coward on Friday December 24 2021, @08:15AM

      by Anonymous Coward on Friday December 24 2021, @08:15AM (#1207566)
      That sentence already makes perfect sense.

      If you're too lazy, stupid and ignorant to use Google and figure that sentence out, please go to Instagram, Twitter, TikTok or similar.

      You won't add anything interesting to SN. You'd be part of the growing problem where SN is less interesting and full of people who post shallow inane off-topic comments because they're too stupid and ignorant to contribute interesting or insightful on-topic stuff to SN stories.
    • (Score: 3, Insightful) by janrinok on Friday December 24 2021, @10:56AM

      by janrinok (52) Subscriber Badge on Friday December 24 2021, @10:56AM (#1207572) Journal

      You could always start by reading the link provided to the story itself - yeah, I know, "ain't nobody got time for that!" Or even politely asking on here for somebody to explain it to you. It is English and it parses perfectly well when you read the background link.

  • (Score: 2) by srobert on Friday December 24 2021, @06:22PM

    by srobert (4803) on Friday December 24 2021, @06:22PM (#1207626)

    Does that mean GOL will run under emacs like tetris? Cause I don't see why anyone would use vim to edit text if emacs can do this.

  • (Score: 0) by Anonymous Coward on Friday December 24 2021, @07:35PM

    by Anonymous Coward on Friday December 24 2021, @07:35PM (#1207640)

    FTFY

(1)