ante
ante copied to clipboard
Esoteric programming language where all you've got is a deck of cards
ANTE
Ante is an esoteric programming language where all you've got is a deck of
playing cards.
FOUR REGISTERS, ZERO INITIALIZED
♦ ♥ ♠ ♣
OPERATORS, SEQUENTIAL PRECEDENCE
♦ # Add
♥ # Multiply
♠ # Subtract
♣ # Divide
SYNTAX
2-9[x]... # Assignment; the suit of first card designates
# target register
A[x] # Current value of register [x] (the Ace aces it)
K[x] # Jump to the last Q[x] label if A[x] != 0 (go see the Queen)
Q[x] # Label (the Queen is waiting)
J[x] # Print A[x] as character (Jack shows the goods)
10[x] # Print A[x] as number
Kings and Queens can have twins, triplets, etc. of the same suit. While
single K♥ goes to Q♥, K♥K♥ twins will go to Q♥Q♥ and so on.
EXAMPLES
5♣ # ♣ = 5
2♦ 3♥ # ♦ = 2 * 3 (♦ is 6)
A♦ 2♦ 5♥ # ♦ = (♦ + 2) * 5 (♦ is 40)
2♦ 3♥ A♣ # ♦ = 2 * 3 / ♣ (♦ is 6/5 = 1)
Q♦ K♦ # Infinite loop since ♦ != 0
# 15.times { |i| print i }
3♥ 5♥ # ♥ = 3 * 5
Q♥ # Label
10♦ # Print current value of ♦
A♦ 3♦ 2♠ # ♦ = ♦ + 3 - 2
A♥ 3♠ 2♦ # ♥ = ♥ - 3 + 2
K♥ # Jump to Q♥ if ♥ != 0
For more examples check out *.ante files including Yusuke Endoh's
mind-boggling Ante quine (the program that prints itself):
https://github.com/michaeldv/ante/blob/master/quine.ante
LICENSE
Copyright (c) 2013 Michael Dvorkin Ante is freely distributable under the terms of MIT license.