IPALang
Jump to navigation
Jump to search
- Not to be confused with IPAlang.
IPALang is yet another International Phonetic Alphabet esolang, made by User:Europe2048. It is a cell-based language.
Commands
Plosives - Cell movement
p - Move the pointer up (+Y) b - Move the pointer down (-Y) t - Move the pointer left (-X) d - Move the pointer right (+X) ʈ - Enter the 4th dimension ɖ - Leave the 4th dimension c - brainfuck mode on ɟ - NOP k - Move the pointer to the front (3D, +Z) g - Move the pointer to the back (3D, -Z) q - brainfuck mode off ɢ - NOP
Nasals - Memory cell control
m - Increment the current memory cell > ma - by 1 > mɑ - by 2 > me - by 3 > mə - by 4 > mi - by 5 > mɪ - by 6 > mo - by 7 > mu - by 8 > mʊ - by 9 ɱ - Increment the current memory cell (Big numbers) > ɱa - by 10 > ɱɑ - by 20 > ɱe - by 30 > ɱə - by 50 > ɱi - by 69 > ɱɪ - by 100 > ɱo - by 200 > ɱu - by 500 > ɱʊ - by 1000 n - Decrement the current memory cell (conversions same as m) ɳ - Decrement the current memory cell (Conversions same as ɱ) ɲ - Decrement the current memory cell (Conversions same as θ) ŋ - Decrement the current memory cell (Conversions same as ð) ɴ - Reset/Divide the current memory cell > ɴə - Reset > ɴa - Divide by 100 > ɴɑ - Divide by 50 > ɴe - Divide by 20 > ɴi - Divide by 10 > ɴɪ - Divide by 5 > ɴo - Divide by 3 > ɴɔ - Square the current memory cell > ɴu - Divide by 2 > ɴʊ - Divide by 3/2 > ɴy - Divide by 4/3 > ʔ adds these quotients. Quotient for resetting is infinity.
Trills, Tap/Flaps, Fricatives, Lateral Fricatives - Others
ʙ - NOP r - NOP ʀ - NOP ⱱ - NOP ɾ - NOP ɸ - Set the current memory cell to a specific number (see approximants, note: e = ʟɑ). Isn't affected by vowels, only by the next syllable. Executes the next command when it is written instead of a number. β - Multiply the current memory cell (conversion same as ɴ, values are multiplied and reset is times 1000) f - rickroll v - jump to a command θ - Increment the current memory cell (Decimals) > θa - by 0.1 > θɑ - by 0.2 > θe - by 0.3 > θə - by 0.4 > θi - by 0.5 > θɪ - by 0.6 > θo - by 0.7 > θu - by 0.8 > θʊ - by 0.9 ð - Increment the current memory cell (More decimals) > ða - by 0.001 > ðɑ - by 0.002 > ðe - by 0.005 > ðə - by 0.0075 > ði - by 0.01 > ðɪ - by 0.02 > ðo - by 0.035 > ðu - by 0.5 > ðʊ - by 0.8 s - Output the current memory cell as number z - Output the current memory cell as a string ʃ - Output the current memory cell as Unicode ʒ - Output the current memory cell as UTF-8 (converted to base 256) ʂ - Input a number and store it in the current memory cell ʐ - Input a ASCII and store it in the current memory cell ç - Input a Unicode and store it in the current memory cell ʝ - Loops > ʝa - [ in Brainfuck > ʝʌ - ] in Brainfuck > ʝe - Opening infinite loop > ʝə - Closing infinite loop x - Input a UTF-8 (hex) and store it in the current memory cell ɣ - Input a UTF-8 (seperated by spaces) and store it in the current memory cell χ - Input a UTF-8 (each byte converted to characters) and store it in the current memory cell ʁ - Input a UTF-8 (each 2 bytes converted to characters) and store it in the current memory cell ħ - Input a UTF-8 (decimal, leading zeroes) and store it in the current memory cell ʕ - Input a UTF-8 (decimal, leading zeroes, seperated by spaces) and store it in the current memory cell h - Input a UTF-8 (decimal, no leading zeroes, seperated by spaces) and store it in the current memory cell ɦ - Input a string and store it in the current memory cell as UTF-8 ɬ - NOP ɮ - zundokokiyoshi
Approximants - Numbers
ʋ - Small integers > ʋə - 0 > ʋa - 1 > ʋɑ - 2 > ʋe - 3 > ʋi - 4 > ʋɪ - 5 > ʋo - 6 > ʋu - 7 > ʋʊ - 8 > ʋy - 9 ɹ - Large integers > ɹə - 10 > ɹa - 12 > ɹɑ - 25 > ɹɒ - 42 > ɹe - 50 > ɹɘ - 69 > ɹi - 80 > ɹɪ - 100 > ɹo - 1000 > ɹɔ - 65536 > ɹu - 1000000 > ɹʊ - 16777216 > ɹʌ - 1000000000 > ɹy - 2147483647 ɻ - Small decimals > ɻa - 0.0000000004656 > ɻɒ - 0.000000001 > ɻɑ - 0.000001 > ɻæ - 0.0000152587891 > ɻe - 0.0001 > ɻə - 0.001 > ɻi - 0.005 > ɻɪ - 0.01 > ɻo - 0.02 > ɻu - 0.05 > ɻʊ - 0.08 j - Large decimals > ja - 0.1 > jɑ - 0.2 > je - 0.3 > jə - 0.4 > ji - 0.5 > jɪ - 0.6 > jo - 0.7 > ju - 0.8 > jʊ - 0.9 ɰ - Other > ɰa - negative marker > ɰɑ - + (numbers-only) > ɰe - − (numbers-only) > ɰə - × (numbers-only) > ɰi - ÷ (numbers-only) > ɰɪ - 69420 > ɰo - pi > ɰu - Infinity > ɰʊ - NaN
Lateral Approximmants
l - Basic operators > la - Addition > le - Subtraction > li - Multiplication > lo - Division > lu - Modulo ɭ - More well-known operators > ɭa - Exponentiation > ɭe - Square root > ɭi - nth root > ɭo - log > ɭu - ln ʎ - Trigonometric functions > ʎa - sin > ʎɑ - sin^-1 > ʎe - sinh > ʎə - cos > ʎi - cos^-1 > ʎɪ - cosh > ʎo - tan > ʎu - tan^-1 > ʎʊ - tanh ʟ - Lesser-known operators > ʟa - Factorial > ʟɑ - e (number) > ʟe - nCr > ʟə - nPr > ʟi - cos^-1 > ʟɪ - cosh > ʟo - to degrees > ʟu - to radians > ʟʊ - to gradians
Other constonants: Special commands
w - deadfish mode on ʍ - deadfish mode off ɕ - if in deadfish mode, toggle character output
Note:
Constonants with no matching vowel pairs means that the command doesn't care about the vowel after it. Use '/' to begin/end a comment.
Example programs
Hello World
ɱimeʃaɱenaʃamoʃaʃameʃaɸaɹɒɰaʋɑʃaɳamɑʃaɱɪɳaneʃanuʃameʃanɪʃanuʃaɸaɹɒɰaʋyʃa
Cat Program
ɦaza
xkcd random number
məsa
Truth machine
ʂaʝaʂasaʝʌ
Turing-completeness
It is turing-copmlete because brainfuck is.
Errors
Invalid syntax - Either a program begins in a vowel, or a constonant is not followed by one. Invalid character - A symbol is not in ASCII and is outside a comment. Undefined result - Result is either undefined or intermediate.