[HN Gopher] John Conway's FRACTRAN, a ridiculous, yet surprising...
       ___________________________________________________________________
        
       John Conway's FRACTRAN, a ridiculous, yet surprisingly deep
       language (2020)
        
       Author : warrenm
       Score  : 65 points
       Date   : 2023-05-16 19:27 UTC (3 hours ago)
        
 (HTM) web link (raganwald.com)
 (TXT) w3m dump (raganwald.com)
        
       | marcodiego wrote:
       | TIL John Conway died during the COVID pandemic. I'm as shocked as
       | someone who just discovered John Lennon was killed. :(
        
       | gfody wrote:
       | I think the world has yet to feel the weight of this great man's
       | contributions. the monstrous moonshines and the freewill theorem
       | seem mind blowing and not very well known at all.
        
       | peterderivaz wrote:
       | Project Euler challenge involving Fractran:
       | https://projecteuler.net/problem=308
        
       | breck wrote:
       | He mentions a CD-ROM version of Society of Mind
       | (https://web.media.mit.edu/~minsky/Voyager.html). I had never
       | heard of it. Does anyone know if the video content from that CD-
       | ROM is available online?
        
         | rootbear wrote:
         | There is a link what appears to be part one in the article.
         | https://www.youtube.com/watch?v=-Hx8RixhoOM
        
       | jonahx wrote:
       | A FRACTRAN interpreter in FRACTRAN, in 24 fractions:
       | 
       | https://codegolf.stackexchange.com/a/246682/15469
        
         | VHRanger wrote:
         | Thanks, the fact that FRACTRAN didnt bootstrap its own
         | interpreter was the reason I didnt use the language seriously
         | for programming!
        
       | [deleted]
        
       | siraben wrote:
       | A few years ago, I wrote a compiler for FRACTRAN written in
       | Haskell[0] (translated from Common Lisp) with an associated blog
       | post[1]. Using the tagless-final style you can write a simple
       | program like this:                 sumTo :: FracComp repr =>
       | Integer -> [repr [Rational]]       sumTo n = [addi "c" 0, addi
       | "n" n, while (jge "n" 0) [adds "c" "n", subi "n" 1]]
       | 
       | And the compiler would output this:                 l>
       | runAssembler (sumTo 10)                      -- Program length:
       | 31       Right [847425747 % 2,13 % 3,19 % 13,11 % 3,11 % 29,31 %
       | 11,41 % 31,23       % 11,23 % 47,2279 % 23,59 % 301,59 % 41,67 %
       | 413,329 % 67,61 % 59,73 %       61,83 % 73,71 % 61,71 % 97,445 %
       | 71,707 % 89,103 % 5353,103 % 83,109 %       5459,5141 % 109,107 %
       | 103,113 % 749,113 % 19,131 % 113,29 % 131,127 %       113]
       | l> runAsm (sumTo 10)       [(Prime 97,55),(Prime 107,1)]
       | 
       | [0] https://github.com/siraben/hasktran
       | 
       | [1] https://siraben.dev/2020/02/26/translating_cl.html
        
       | nerpderp82 wrote:
       | I miss raganwald, I loved it when their posts and comments were
       | blowing up HN.
        
       | bmacho wrote:
       | Very long article, and IMO it doesn't justify the "surprisingly
       | deep" claim. Disappointing. Can I have my time back?
       | 
       | tl;dr: a 'usage' of fractran is that fratcran programs are
       | collatz-like sequences, thus, the behaviour of collatz-like
       | sequences is undecidable.
        
       | optimalsolver wrote:
       | See also: "Building Fizzbuzz in Fractran from the Bottom Up
       | (2016)" [0]
       | 
       | I'll repost my comment from that thread:
       | 
       | >For some reason this makes me imagine an alternate history sci-
       | fi universe where Pythagoras (famous for his love of fractions)
       | invents FRACTRAN. Then Archimedes builds a mechanical computer to
       | execute those programs, and one of the successors of Alexander
       | The Great puts the computer to use in warfare and conquers the
       | world. Science is accelerated so that nuclear physics are
       | invented by the time Jesus is born...
       | 
       | [0] https://news.ycombinator.com/item?id=28448283
        
         | jfoutz wrote:
         | I played a lot of the original civ as a kid. I'd be super
         | disappointed if I didn't get railroads before 0. rush pyramids,
         | democracy, tons of tiny self supporting towns. That game didn't
         | really offer a way to convert other cities and towns sort of
         | invasion. so I'd inevitably turn evil and conquer the world.
         | Good times.
        
       | dang wrote:
       | Related:
       | 
       |  _Building Fizzbuzz in Fractran from the Bottom Up (2016)_ -
       | https://news.ycombinator.com/item?id=28448283 - Sept 2021 (5
       | comments)
       | 
       |  _Open Problems in Communication and Computation (1987) [pdf]_ -
       | https://news.ycombinator.com/item?id=26074413 - Feb 2021 (2
       | comments)
       | 
       |  _Remembering John Conway 's FRACTRAN_ -
       | https://news.ycombinator.com/item?id=23142232 - May 2020 (14
       | comments)
       | 
       |  _Building FizzBuzz in Fractran from the Bottom Up_ -
       | https://news.ycombinator.com/item?id=22866303 - April 2020 (1
       | comment)
       | 
       |  _FRACTRAN_ - https://news.ycombinator.com/item?id=14202367 -
       | April 2017 (8 comments)
       | 
       |  _Building Fizzbuzz in Fractran from the bottom up_ -
       | https://news.ycombinator.com/item?id=11894141 - June 2016 (3
       | comments)
       | 
       |  _In FRACTRAN, every program is a list of functions_ -
       | https://news.ycombinator.com/item?id=10091053 - Aug 2015 (1
       | comment)
       | 
       |  _FRACTRAN - the esoteric programming language invented by John H
       | Conway_ - https://news.ycombinator.com/item?id=3119937 - Oct 2011
       | (1 comment)
        
       | oh_sigh wrote:
       | Has anyone made attempts at writing FRACTRAN programs which would
       | calculate `78 * 5^(x - 1)` and `2^x`?
        
       ___________________________________________________________________
       (page generated 2023-05-16 23:00 UTC)