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

ABC language

Name: Anonymous 2008-05-11 10:17

does it really exist? if not ... how would we go about creating a touring complete language with only 3 symbols? how much LOC would a haskell implementation be?


AAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCC
AAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCCCCCBBBBBBBBBBBBAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBCCCCC
CCCCCCCCCCCCCBBBBBBBBBABAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBA
AAAAAAAABBBBBBBBBAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBC
AAAAABBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBB
AABBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBB
BBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBB
BBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBB
BBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYHBT
BBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Name: Anonymous 2008-05-11 17:52

I have created the language A. The only valid character is 'A'. I'd love to post hello world written in it, but this edit box is too small to contain it. It is Touring Complete, because it can be translated to Brainfuck:

import Data.List

brainfuckToA :: [Char] -> String
brainfuckToA =
 (foldr
  (\x y ->
   ((++)
    (replicate
     (case
      (elemIndex x " <>+-.,[]") of
       Just x -> x
       Nothing -> 0)
     'A')
    (concat (replicate 9 y))))
 "")

aToBrainfuck :: String -> [Char]
aToBrainfuck =
 (unfoldr
  (\x ->
   (\l ->
    (if ((==) l 0) then
     (Nothing) else
     (Just ((!!) " <>+-.,[]" (mod l 9),
            replicate (div l 9) 'A'))))
   (length x)))

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