Taxi
Jump to navigation
Jump to search
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Taxi is an esoteric programming language invented by Sean Heber in 2005. Programs are built by giving directions to destinations on a map which is where computation takes place. The virtual taxi the programmer controls can carry up to three data passengers at one time between destinations. The passengers pay the driver for this service and in turn the programmer must be sure to stop by a gas station from time to time or else the car will run out of fuel prematurely ending the program.
Understanding Taxi requires having access to the Townsburg road map which lists the roads and destinations available to the programmer.
Destination | Operation |
---|---|
Addition Alley | adds numerical passengers together, anything non-numeric is an error |
Auctioneer School | converts string passengers to uppercase, non-string is an error |
Bird's Bench | one passenger can wait here until later, but only 1 |
Charboil Grill | convert a numerical passenger to a single ASCII character (string) or vice-versa, strings longer than 1 are an error |
Chop Suey | takes a string passenger and breaks it up into individual string passengers that hold one character each, so "Hi" results in 2 passengers: "H" and "i", non-string is an error |
Collator Express | tests if the first string passenger is less than the second and returns the first if true or no one if not true, non-string is an error |
Crime Lab | tests if all dropped off string passengers are equal to each other, if so returns 1 passenger with the value, otherwise no passenger is returned, non-string is an error |
Cyclone | makes clones of passengers, drop 1 off, get original plus 1 copy back, drop 3 off, get original 3, plus 3 copies back, etc. |
Divide and Conquer | divides numerical passengers, anything non-numeric is an error |
Equal's Corner | tests if all dropped off numerical passengers are equal to each other, if so returns 1 passenger with the value, otherwise no passenger is returned, non-numeric is an error |
Firemouth Grill | any number of passengers can be dropped off here, but picked up in random and unknown order |
Fueler Up | gas station: 1.92/gallon |
Go More | gas station: 1.75/gallon |
Heisenberg's | pickup an unspecified random integer |
Joyless Park | passengers dropped off here form a FIFO queue so they can be picked up again later |
Knots Landing | inverts boolean logic via numerical passengers: non-zero becomes 0, 0 becomes 1, non-numerical is an error |
KonKat's | concatenates string passengers, anything non-string is an error |
Little League Field | converts string passengers to lowercase, non-string is an error |
Magic Eight | tests if the first passenger is less than the second and returns the first if true or no one if not true, non-numerical is an error |
Multiplication Station | multiplies numerical passengers, anything non-numeric is an error |
Narrow Path Park | passengers dropped off here form a stack (LIFO) so they can be picked up again later |
Post Office | drop off string passengers to print to stdout, pickup a passenger to read a string line from stdin |
Riverview Bridge | passengers dropped off at Riverview Bridge seem to always fall over the side and into the river thus the driver collects no pay, but at least the pesky passenger is gone |
Rob's Rest | one passenger can wait here until later, but only 1 |
Rounders Pub | rounds numerical passengers, non-numerical is an error |
Starchild Numerology | pickup a specified numerical value |
Sunny Skies Park | passengers dropped off here form a FIFO queue so they can be picked up again later |
Taxi Garage | starting and termination point |
The Babelfishery | translates a numerical passenger to a string passenger or vice-versa |
The Underground | takes 1 numerical passenger and subtracts 1, if the result is 0 or less than 0, no passenger is returned otherwise the result is returned, non-numerical is an error |
Tom's Trims | removes whitespace from beginning and ending of string passengers, non-string is an error |
Trunkers | truncates numerical passengers to an integer, non-numerical is an error |
What's The Difference | subtracts numerical passengers, anything non-numeric is an error |
Writer's Depot | pickup a specified string |
Zoom Zoom | gas station: 1.45/gallon |
Hello, world! in Taxi
"Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right.