Talk:Gibberish (programming language)

From Esolang
Jump to navigation Jump to search

Turing-completeness

I've written a Brainfuck interpreter in Gibberish that seems to be working. It uses a string for a memory store and is Turing-complete if there's no limit on string length (which there isn't in my interpreter, and which isn't specified in the specification either). It does not run on the unfinished official interpreter, because it uses commands the official interpreter does not implement.

The interpreter:

[ --- Brainfuck interpreter in Gibberish ---
  --- uses : to separate program and input (i.e. <program>:<input>) ---] ev

[0gt1[eucuy91afd]gw0]
1[
   en  u[+]0gc   fq nt[gb[g0p1pce1agt1pf2pgrb]ecgb]c
      eu[-]0gc   fq nt[gb[g0p1pce1sgt1pf2pgrb]ecgb]c
      eu[<]0gc   fq nt[gb[e1s]ecgb]c
      eu[>]0gc   fq nt[gb[e1ag1p0peyfdt[gb0t1[eucuy91afd]gwecgb]c]ecgb]c
      eu[.]0gc   fq nt[gb[g0p1pcteq]ecgb]c
      eu[,]0gc   fq nt[gb[gb0pengtrb]ecgb]c
      eu 91a9m1a fq nt[gb[g0p1pcf0qn]ec91a9m1agtecgb]c
      eu 91a9m3a fq nt[gb[g0p1pcf0qn]ec91a9m3agtec[gw]cgb]c
   
        [:]0gc fqn
]gw fc

It is very slow and could be optimised a lot (and it even gets progressively slower the more memory your program uses), but it works just fine (I ran a few complicated programs which ran fine, and it passes these tests (you'll have to wait a very long time for it to get to cell 300000 though)) so I'd consider it proof of Turing-completeness. So either Gibberish is Turing-completer, or my Gibberish interpreter is wrong in such a way to make it Turing-complete. -Marinus 16:06, 28 April 2010 (UTC)

Inconsistency in language definition

In the third instruction set, there is an example for the "t" command stating that For example, 188emagto prints "A". This seems to be wrong - the last "o" command would refer to the third set but must refer to the first one, so the correct example should be "188emagteo". Additionally, I would say that the definition for "o" in the first command set is wrong - "o" outputs the top-of-stack, but it does not convert to a string before doing so (otherwise, "t" would be meaningless and the language could never output a number which would also invalidate the "numlist" example...) --(this comment by 217.10.52.10 at 13:07, 28 June 2013‎ UTC; please sign your comments with ~~~~)

I agree with your first point, and have fixed the inline example. For the second however, I think you are confused by the different "t" commands: the "t" in the first instruction set converts a number to a string of digits, and is automatically used before "o" in the same set; while "t" in the third instruction set converts a number to a single character. --Ørjan (talk) 22:40, 28 June 2013 (UTC)

J command with no command set

What would be the result of the code jeo? Is j a valid command while there is no instruction set set?

Vriskanon (talk) --(this comment by Vriskanon at 10:55, 22 April 2015‎ UTC; please sign your comments with ~~~~)