Live data from Hacker News

Show HN: A programming language that uses only parentheses

github.com

11–20 of 32 posts

Re: Show HN: A programming language that uses only parentheses

#13

  Error handling
  
  If your program has a runtime error or a compiletime error the interpreter
  will print "Parenthesis Mismatch" to standard output and then exit.
Priceless. The sad thing is that most "modern" programming language offer basically identical erro reporting.

Re: Show HN: A programming language that uses only parentheses

#14
See also CPAN's Acme::Bleach module (language written only in whitespace).

As a bonus, the Acme::Bleach module will take an existing perl program and convert it (overwrite it) with a version written in whitespace.

"The first time you run a program under use Acme::Bleach, the module removes all the unsightly printable characters from your source file. The code continues to work exactly as it did before, but now it looks like this:"

http://search.cpan.org/~dconway/Acme-Bleach-1.13/lib/Acme/Bl...

Re: Show HN: A programming language that uses only parentheses

#15

Error handling If your program has a runtime error or a compiletime error the interpreter will print "Parenthesis Mismatch" to standard output and then exit. Priceless. The sad thing is that most "modern" programming language offer basically identical erro reporting.

A friend of mine in a compiler writing class produced a compiler with one error message ‘you lied to me when you told me this was a program’. —Pete Fenelon

Re: Show HN: A programming language that uses only parentheses

#16
I have two related ideas for a useless language, this is very close to the first one.

The first idea is that you normally use at least 2 symbols for a programming language, but you can in principle get away with just one. The "vanilla" form of this idea is to use the length of the processed string as the instruction itself -- that is, it has a bit pattern which gives you two symbols to play with in principle. Of course that's pretty ugly so you can instead do something slightly more "advanced" and use a non-character as a delimiter; the most obvious choice is file boundaries on a filesystem, but in principle any data structure boundary can be used.

The second useless language that I want to create is one which I'm not even completely sure works. The idea is that you have some number of nodes -- let's say 256 -- which each contain some number of bytes -- let's say 4. Those bytes represent two (node pointer, instruction) tuples. These get initialized to a definite 1KB prelude, and the computer starts at node 0. The instructions can also manipulate registers and a much larger memory space, and can load ints from that memory into other nodes, but the 1 KB is needed for the interpreter.

The idea for this useless language is that, the computer chooses one of the two tuples randomly, performs its instruction, and then goes to the node it points to. >:D

The basic idea is that all esoteric languages seem to be about "how do you program familiar thing X if you don't have Y?", but I have 256 instructions so I'll give you all sorts of wonderful functions to call on your registers. The problem is really just that the computer does not natively want to follow a deterministic path, and you have to "herd it" into that mentality.

Re: Show HN: A programming language that uses only parentheses

#17
post #16

I have two related ideas for a useless language, this is very close to the first one. The first idea is that you normally use at least 2 symbols for a programming language, but you can in principle get away with just one. The "vanilla" form of this idea is to use the length of the processed string as the instruction itself -- that is, it has a bit pattern which gives you two symbols to play with in principle. Of cour…

You might be somewhat interested in my esoteric language, DevPerc: https://github.com/TazeTSchnitzel/DevPerc

Re: Show HN: A programming language that uses only parentheses

#18
post #10

This looks like somebody made a mistake using sed on lisp code accidentally deleted everything but the parenthesis. I don't know which is cooler, this or brainfuck.

It could be an interesting problem to write a piece of code that performs one task when run as a Lisp program and another when run as Parenthetic. Or the same task even.

Bonus point if you also use interleaving whitespace [1] to hide yet another program.

[1] http://compsoc.dur.ac.uk/whitespace/

Re: Show HN: A programming language that uses only parentheses

#20
post #14

See also CPAN's Acme::Bleach module (language written only in whitespace). As a bonus, the Acme::Bleach module will take an existing perl program and convert it (overwrite it) with a version written in whitespace. "The first time you run a program under use Acme::Bleach, the module removes all the unsightly printable characters from your source file. The code continues to work exactly as it did before, but now it loo…

Interesting & related post on Perlmonks yesterday... The History of Acme::Bleach and Acme::EyeDrops - http://www.perlmonks.org/?node_id=967004

Also relevant is Damian's Rod::Logic module. Unfortunately this hasn't reached CPAN (yet!) but examples can be found in his talks (for eg: http://blip.tv/open-source-developers-conference/temporally-...)

Post reply on HN