Taxi

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.
==External resources==
* Taxi: The Programming Language
* 99 Bottles of Beer
Category:Languages
Category:Implemented
Category:Thematic
Category:2005
Category:Pseudonatural