Richard Suchenwirth - Tclworld, formerly known as tkWorld, is a map tool in Tcl/Tk currently under development. But for discussion purposes, here's the file earth.tg that illustrates how geographic names are forward-defined as sequences of other names, and one example, Italy, is elaborated down to the very points:
source world.tg source worldcities.tg geo::Set { Earth is Africa' America Antarctica Asia' Europe' Oceania Africa' is Africa Madagascar Reunion Mauritus Sokotra Afr.Lakes Afr.Lakes is {Lake Tchad} {Lake Victoria} {Lake Tanganjika} {Lake Nyassa} America is Canada' USA' Greenland Mexico Caribic AmericaCentral S.America GreatLakes Canada' is Canada Newfoundland {Baffin Island} {Prince Edward Island} Toronto Ottawa USA' is Alaska USA Hawaii' {Long Island} Washington {New York} {San Francisco} Denver Hawaii' is Hawaii Maui Oahu Kauai Niihau Honolulu Caribic is Cuba' {Puerto Rico} Hispaniola Jamaica Trinidad Cuba' is Cuba Havana {Guantanamo Bay} {Isla de la Juventud} Hispaniola is Haiti {Dominican Republic} GreatLakes is {Lake Superior} {Lake Michigan} {Lake Huron} {Lake Erie} {Lake Ontario} S.America is "South America" Argentina Brazil Chile {Sao Paulo} {Buenos Aires} Asia' is Asia India {Sri Lanka} Japan Indonesia Newguinea China India is {New Delhi} Bombay Japan is Hokkaido Honshu Kyushu Kitakyushu Tokyo Sapporo China is Beijing Hainan Taiwan Shanghai {Hong Kong} Indonesia is Sumatra Borneo Java Celebes Bali Sarawak Jakarta Newguinea is "West Irian" Niugini Oceania is Australia' NewZealand Australia' is Australia "Darwin Island" "Kangaroo Island" Tasmania Melbourne NewZealand is "NZ North" "NZ South" Wellington Europe' is NorthernIsles Europe Scandinavia France' C.Europe S.Europe NorthernIsles is Island Spitsbergen BritishIsles BritishIsles is Ireland Britain London Ireland is Eire N.Ireland Dublin S.Europe is Iberia Italia' Balcan Balcan is Greece' Bulgaria Cyprus Greece' is Greece Peloponnes Crete Rhodos Lesbos Athens France' is France Corsica Paris Lyon Toulouse Bordeaux C.Europe is Danmark Benelux Germany Switzerland Austria Danmark is Jylland Sjaelland Fyn Lolland Copenhagen E.Europe is Moscow Prague Budapest Bucharest Varna Italia' is Italia Sicilia Sardegna Po Roma Napoli Italia area IT-Med IT-SI AT-IT CH-IT FR-IT Po river {44.7033 -7.07378} {45.1843 -7.88251} {44.98 -12.27} IT-Med bound FR.IT.Med {43.83 -8} {44.17 -8.25} {44.33 -8.67} {44.25 -9.17} \ {44.08 -9.5} {44 -10.08} {43.5 -10.17} {43.08 -10.42} {42.67 -10.92} \ {42.33 -11} {42.33 -11.5} {41.92 -12} {41.5 -12.42} {41.25 -12.92} \ {41.25 -13.58} {40.92 -14} {40.67 -14.42} {40.58 -14.75} {40.17 -15} \ {40 -15.67} {39.67 -15.75} {39.25 -16} {38.83 -16.08} {38.58 -15.83} \ {38.17 -15.67} {37.92 -15.67} {37.92 -16} {38.17 -16.17} {38.42 -16.5} \ {38.83 -16.5} {39 -17} {39.42 -17} {39.67 -16.5} {40.17 -16.67} \ {40.5 -16.92} {40.33 -17.33} {40.25 -17.83} {39.92 -17.92} {39.83 -18.25} \ {40.17 -18.42} {40.58 -17.92} {40.83 -17.42} {41.08 -16.92} {41.33 -16.33} \ {41.5 -15.83} {41.83 -16.08} {41.83 -15.25} {42.08 -14.67} {42.33 -14.17} \ {42.58 -13.92} {43 -13.83} {43.42 -13.58} {43.67 -13.08} {43.92 -12.67} \ {44.25 -12.25} {44.58 -12.17} {44.92 -12.33} {45.17 -12.08} {45.5 -12.17} \ {45.5 -12.58} {45.75 -13.08} {45.67 -13.58} {45.42 -13.58} IT-SI bound {45.42 -13.58} {45.5981 -13.7173} {45.69 -13.59} {45.75 -13.383} \ {46.2972 -13.7191} {46.527 -13.7} AT.CH.IT point 46.91 -10.48 AT-IT bound {46.527 -13.7} {46.6909 -12.44} {47.0947 -12.189} AT.CH.IT CH-IT bound AT.CH.IT {46.22 -10.14} {46.48 -9.3} {45.83 -9} {46.46 -8.43} \ {45.92 -7.87} CH.FR.IT CH.FR.IT point 45.9 -7.05 FR-IT bound CH.FR.IT {45.81 -6.81} {45.41 -7.19} {45.13 -6.63} {44.41 -6.88}\ {44.19 -7.69} {43.81 -7.56} {43.83 -8} FR.IT.Med FR.IT.Med point {43.78 -7.55} }