Yasothon and Game Oriented Assembly Lisp: Difference between pages

(Difference between pages)
Content deleted Content added
mNo edit summary
 
rv unexplained deletion by 192.103.152.52
 
Line 1:
'''Game Oriented Assembly Lisp''' (or '''GOAL''') is a computer game programming language developed by [[Andy Gavin]] and the [[Jak and Daxter]] team at [[Naughty Dog]]. It was written using [[Allegro Common Lisp]] and used in the development of the entire [[Jak and Daxter]] series of games.
{{Otheruses1|the town Yasothon}}
'''Yasothon''' ([[Thai language|Thai]] ยโสธร) is a town in the [[Isan]] region of [[Thailand]]. It is the capital and administrative center of [[Yasothon province]], and had a population of 21,134 in 2005. It lies a little more than 500 km northeast of the Thai capital [[Bangkok]].
 
Syntactically GOAL resembles [[Scheme (programming language)|Scheme]], though with many idiosyncratic features inspired by other languages such as classes, inheritance, and virtual functions. An example of what GOAL code looks like can be found at [http://lists.midnightryder.com/pipermail/sweng-gamedev-midnightryder.com/2005-August/003804.html]. GOAL encourages an [[imperative programming]] style: programs tend to be comprised of sequence of events to be executed rather than the [[functional programming]] style of functions to be evaluated recursively. This is a diversion from [[Scheme (programming language)|Scheme]], which allows such [[side-effect (computer science)|side-effects]] but does not encourage imperative style.
==History==
[[Image:Yasothon Wat Singh Tha 08.1.jpg|right|thumb|Wat Singh Tha Lion Gate]]Despite numerous [[Khmer Empire|Khmer]] ruins in and around the city, no written history is known prior to A.D. 1811/2354 B.E. In that year, Prince Wongsingh ({{lang-th|เจ้าราชวงศ์สิงห์ Descended from [[Singh#Etymology|Lion]]s}}), son of King Wichai (Thai: เจ้วพระยาวิชัยฯ), king in the capital of [[Kingdom of Champasak|Champasak]] (Thai: นครจำปาศักดิ์) brought a number of people to found a town beside the temple ground of [[Wat]] Singh Tha (Thai: วัดสิงห์ท่า Port Lion, or Lion of, or with, a port or landing), which has a landing on the [[Chi River]] (Thai: แม่น้ำชี). The town was called Ban Singh Kow (Thai: บ้านสิงห์เก่า Old Lion Village), or Ban Singh Tha. (Pg.หน้าที่ 26, สำลี รักสุทธี,นิืทานพืนบ้านอีสานและตำนานการก่อตั่งจังวัด.--กรุงเทพ ฯ พัฌนาศึกษา
<ref>
{{cite book
|last= Raksutthi
|first= Somlee
|title= Country fables of Isan and histories of the provinces.
|year= AD 2001/BE 2544
|publisher= Wattanaseuksa
|___location= Bangkok, Thailand
|isbn= }}
</ref>. [[Image:Yasothon Ban Singh Chedi-Fine Arts Dept.JPG|left|thumb|Fine Arts Dept. by Wat Singh Tha]] A Fine Arts Dept. marker by a [[Stupa|chedi]] erected by Wat Singh Tha says that, during the [[Thonburi]] Era, grandson Kham Su [TH: ท้าวตำสู] first called the settlement Ban Singh Tong [TH: บ้านสิงห์ทอง Ban Gold Lion]. The [[wat]], built at the same time, was also called Wat Singh Tong. The area had been deserted with dense jungle blocking the way to the Chi river landing [from which the Wat later took its name.]
 
Like many modern implementations of Common [[Lisp programming language|Lisp]], GOAL does not run in an interpreter, but instead is compiled directly into [[PlayStation 2]] machine code for execution. It offers limited facilities for [[Garbage collection (computer science)|garbage collection]], relying extensively on runtime support. It offers dynamic memory allocation primitives designed to make it well-suited to running in constant memory on a video game console. GOAL has extensive support for [[Inline expansion|inlined]] assembly code using a special <code>rlet</code> form[http://lists.midnightryder.com/pipermail/sweng-gamedev-midnightryder.com/2005-August/003804.html], allowing programmers to freely mix assembly and higher-level constructs within the same function.
 
The GOAL compiler is implemented in [[Allegro Common Lisp]]. It supports a long term compiling listener session which gives the compiler knowledge about the state of the compiled and therefore running program, including the symbol table. This, in addition to dynamic linking, allows a function to be edited, recompiled, uploaded, and inserted into a running game without having to restart. The process is similar to the "edit and continue" feature offered by some [[C++]] compilers, but allows the programmer to replace arbitrary amounts of code (even up to entire object files), and does not interrupt the running game with the debugger. This feature was used to implement code as well as level streaming in the [[Jak and Daxter]] games.
(Continued from above reference.) In A.D. 1814/2357 B.E., Prince Praputthalert (Th: พระบาทสมเด็จพระพุทธเลิศหล้านภาลัย) during the reign of [[Buddha Loetla Nabhalai|Rama II]] (1809-1824), announced a change in the town's name to Meuang Yasothon (Thai: เมืองยโสธร|City or Land of the Arrogant), though the name proposed had been Meuang Yotsunthon [Thai: เมืองยศสุนทร|Most Gracious City). Prince Wongsingh also received a new name, Pra Sunthornrachawongsah (Thai: พระสุนทรราชวงศา | most revered person (of a) harmonious regal dynasty) and continued as a country lord (Thai: เจ้าเมอิง) [about equal to a French or English Count].
 
GOAL's first use was for the original [[Jak and Daxter]] PS2 game; the predecessor language, GOOL, was also developed by Andy Gavin for [[Crash Bandicoot (video game)|Crash Bandicoot]].
[[Image:Yasothon General Singh 24.JPG|right|thumb|General Singh Monument]][[Image:Yasothon Victory Wat Chedi 30.JPG|left|thumb|Wat Tung Sawan chedi]] [[Image:Yasothon Victory Wat Chedi 35.JPG|left|thumb|Figure inside chedi]] When [[Anouvong]] of Vientiane rebelled [Thai: ปราบกบฎ (ปราบ กะบด) เจ้าอนุวงศ์ เวียงจันทน์] (1826-1828), Yasothon Lord Bodintaradecha (Th: เจ้าพระยาบดินทรเดชา), also known as [[Singh#Etymology|Singh]] from his family name (Th:สิงห์ ต้นสกุลสิงหเสนี), an accountant general (Th: สมุห์บัญชี) as well as a high-ranked army general (Th: แม่ทัพใหญ่), led an army from Bangkok to put down the rebellion. General Singh then brought his army to Yasothon to rest. The campsite is marked by a nine-spired chedi at Wat Tung Sawan Chayaphum (Th: วัดทุ่สว่างชัยภูมิ | Bright field of victory).
Yasothon also aided Bangkok in repelling Chinese invaders at [[Nong Khai]] during the [[Haw wars]] (Thai: ปราบกบฏฮ่อ) (1865-1890).
 
==External links==
In the reign of [[Chulalongkorn|Rama V]] (1868-1910), before the establishment of [[Monthon]] (Thai: มณฑล), Yasothon was included in the Northwest Lao Territory (Thai: หัวเมืองลาวฝ่ายตะวันตกเฉียงเหนือ). Yasothon was a [[Monthon]] from A.D. 1900/2443 B.E. until A.D. 1913/2456 B.E. when it was made an [[Amphoe]] and joined to [[Boriwen]] Ubon (Thai: บริเวณอุบล ฯ) to form [[Ubon Ratchathani Province]]. In A.D. 1972/2515 B.E., the Amphoe was elevated to [[Yasothon Province]].
* http://www.franz.com/success/customer_apps/animation_graphics/naughtydog.lhtml &mdash; Franz Inc. success story
* http://bc.tech.coop/blog/060118.html &mdash; Page about LISP developments by [[Paul Graham]] and [[Naughty Dog]]
* http://www.gamasutra.com/features/gdcarchive/2003/White_Stephen.ppt &mdash; (Powerpoint) ''Jak & Daxter: The Precursor Legacy'', development overview, lessons learned, very interesting
* http://www.gamasutra.com/features/gdcarchive/2003/Denman_Stu.ppt &mdash; (Powerpoint) ''Highly detalied continuous worlds'', about the streaming world loader
 
[[Category:Lisp programming language family]]
[[Image:Yasothon Lakh Muang.JPG|left|thumb|Yasothon City pillar Shrine]] [[Image:Yasothon Chao Po 2006.jpg|right|thumb|Spirit of the City]]The city has a significant [[Thai Chinese]] influence. The [[Lak Mueang|city pillar]], erected in AD 1987/2530 BE a short walk from Wat Singh Tha, is housed in a shrine ({{Lang-th|ศาลเจ้าพ่อหลักเมือง}}) that resembles a Chinese temple. The [[Tutelary deity|city spirit]] is depicted as a Chinese warrior in the annual parade celebrating the Chinese lunar date of the shrine's dedication.
[[Category:Functional languages]]
[[Category:Object-oriented programming languages]]
 
{{videogame-software-stub}}
==Yasothon Rocket Festival ==
(See main article at [[Rocket Festival]] '''Bun Bungfai''' ({{lang-th|บุญบั้งไฟ}}) is held annually in May at Phaya Thaen Park. The festival's origins lie in a custom of firing [[rockets]] into the sky at the start of the rice-growing season to encourage rain. As for the park, it is not only a beautiful playground with an athletic stadium and outdoor stage, it is also part of the city's flood-control project for those times when Phaya Thaen sends too much rain.
 
The festival now takes the form of a competition to see whose rocket will stay aloft for the longest time. The competition is marked by a weekend of celebration, including highly-decorated [[Float (parade)|floats]] parading through the town, accompanied by partying, dancing and music.
 
On [[May 10]], [[1999]], the Yasothon Rocket Festival made world headlines when a 120 kg rocket exploded 50 meters above ground, just two seconds after launch, killing five persons and wounding 11.
 
== Transport ==
[[Image:Yasothon Samlo.jpg|left|thumb|Pedicab delivering goods]] [[Cycle rickshaw|Pedicabs]] serve within the city. [[Tuk-tuk]]s are prohibited. [[Motorcycle taxi]]s with yellow license plates and drivers with identifying vests do serve outlying areas and may take passengers about within the city limits. Several bus lines connect daily and at frequent intervals to [[Bangkok#Bus_service|Bangkok's Northeast Bus Terminal]] and [[Pattaya]]'s Northern Terminal, as well as all bus terminals in the North and Northeast. Train and Air services connect Bangkok to [[Ubon Ratchathani]], 100 kilometres east on Highway 23. Yasothon city is about 530 kilometres or 7 hours drive from Bangkok at the intersection of Highways 23 and 202, and the southern end of Highway 2169.
 
== Places of interest ==
* [[Image:Yasothon Wat That Anon 21.JPG|right|thumb|Yasothon Wat That Anon]]''Phra That Yasothon'' &ndash; a Thai ''[[stupa|chedi]]'' or stupa over 1000 years old, said to contain a relic of [[Ananda]], a favoured disciple of the [[Buddha]]. An annual festival is held in March to honour the temple.
* ''That Kong Khao Noi'' &ndash; a chedi southwest of Yasothon by the village of Tat Thong (ตาดทอง), housing a statue of Buddha. Each April the statue is bathed in a ceremony to call for rains.
* Tat Thong is also an excavation site of a prehistoric settlement.
 
==References==
สำลี รักสุทธี,นิืทานพืนบ้านอีสานและตำนานการก่อตั่งจังวัด.--กรุงเทพ ฯ พัฌนาศึกษา, 2544 หน้าที่ 26 (Somlee Raksutthi: Country fables of Isan and histories of the provinces.--Bangkok; Wattanaseuksa, BE 2544, p.26)
 
{{coor title dm|15|48|N|104|09|E|region:TH_type:city}}
 
[[Category:Cities in Thailand]]
[[Category:Festivals in Thailand]]
 
[[de:Yasothon]]
[[fr:Yasothon]]
[[nl:Yasothon (stad)]]
[[no:Yasothon]]