name=UFO nameURL=http%3A%2F%2Fwww.cs.man.ac.uk%2Farch%2Fprojects%2Fufo.html see= logo= type=O%20-%20Object-oriented desc=Unified%20Functions%20and%20Objects%20%28UFO%29%20is%20an%0D%0Aobject-oriented%20functional%20language%20%0D%0Adesigned%20for%20implicit%20parallelism.%0D%0A%3Cbr%3E%0D%0AThe%20syntax%20of%20UFO%20is%20fairly%20simple%20and%0D%0Aexpression-based%3B%20some%0D%0Alexical%20aspects%20are%20reminiscent%20of%20Algol.%0D%0AAll%20UFO%20functions%0D%0Aare%20side-effect-free%2C%20but%20the%20bodies%0D%0Aof%20functions%20allow%20local%20variables.%0D%0AFundamental%20data%20types%20supported%20by%20the%0D%0Alanguage%20include%20integers%2C%20floats%2C%20%0D%0Achars%20and%20strings%2C%0D%0Aand%20booleans.%20%20Arrays%20are%20also%20supported%2C%0D%0Awith%20list%20expressions%20for%20generating%20%0D%0Anumeric%20and%20other%20sequences.%0D%0AControl%20flow%20constructs%20include%20conditional%0D%0Aexpressions%20and%20loops%3B%20the%20loop%20constructs%0D%0Acan%20generate%20arrays%20automatically.%0D%0A%3Cbr%3E%0D%0AUFO%20supports%20class%20definition%20with%20%0D%0Asingle%20inheritance%2C%20virtual%20classes%2C%20and%0D%0Astateless%20classes%20%28similar%20to%20Java%0D%0Ainterfaces%29.%20%20Generic%2C%20or%20parameterized%2C%0D%0Afunctions%20and%20classes%20are%20also%20supported.%0D%0AIn%20its%20role%20as%20a%20functional%20language%2C%20UFO%0D%0Aallows%20the%20programmer%20to%20define%0D%0Ahigher-order%20functions%20and%20build%20up%0D%0AScheme-like%20functional%20mechanisms.%0D%0A%3Cbr%3E%0D%0AUFO%20has%20a%20modest%20library%20of%20built-in%20classes%2C%0D%0Acollections%2C%20%0D%0Aand%20I%2FO%20facilities.%0D%0A%3Cbr%3E%0D%0AUFO%20is%20available%20free%20from%20the%20authors%2C%0D%0Ait%20is%20currently%20at%20version%201.0.%0D%0A%0D%0A origin=J.%20Sargeant%20%3Ci%3Eet%20al%3C%2Fi%3E%2C%201996. seealso=Haskell%2C%20Leda%2C%20Sather%2C%20Java%2C%20Self%2C%20 remark=UFO%20is%20essentially%20an%20academic%20project%2C%0D%0Ameant%20to%20show%20how%20functional%20and%20OO%0D%0Afeatures%20can%20be%20combined%20in%20a%20language%0D%0Athat%20allows%20automatic%20identification%0D%0Aand%20exploitation%20of%20concurrency.%0D%0AThe%20current%20%281.0%29%20implementation%20%0D%0Acompiles%20UFO%20down%20to%20the%20dataflow%0D%0Aintermediate%20language%20UFlow.%0D%0A%3Cbr%3E%0D%0AUnlike%20a%20pure%20functional%20language%2C%20%0D%0AUFO%20does%20support%20stateful%20classes%20with%0D%0Aprocedures%2C%20but%20they%20are%20not%20the%20%0D%0Ausual%20way%20of%20programming. links1=UFO%20Project%20Overview%3Dhttp%3A%2F%2Fwww.cs.man.ac.uk%2Farch%2Fpeople%2Fj-sargeant%2Foverview%2Findex.html links2= links3= links4= links5= date=Last%20updated%205%2F29%2F98 sample=%3Cpre%3E%0D%0A%2A%2A%20An%20example%20numerical%20integration%20program%20%0D%0A%2A%2A%20from%20the%20UFO1.0%20Tutorial%20by%20J.%20Sargeant.%0D%0A%0D%0Apolyf%20%28x%20%3A%20Float%29%20%3A%20Float%20is%20%0D%0A%20%202%2Ax%2Ax%20%2B%206%2Ax%20%2B%201%0D%0A%0D%0Atrap%28f%3A%20Float%20-%26gt%3B%20Float%3B%20a%2Cb%2Capprox%20%3A%20Float%3B%20n%20%3A%20Int%29%20%3A%20Float%20is%0D%0A%20%20%20%7B%0D%0A%20%20%20%20%20%20h%20%3D%20%28b%20-%20a%29%20%2F%20n%3B%0D%0A%20%20%20%20%20%20return%20approx%2F2%20%2B%20h%2A%0D%0A%20%20%20%20%20%20%20%20%20initially%20s%20%3D%200.0%3B%0D%0A%20%20%20%20%20%20%20%20%20for%20i%20in%20%5B1%20to%20n%20step%202%5D%20do%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20x%20%3D%20a%20%2B%20i%20%2A%20h%20%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20new%20s%20%3D%20s%20%2B%20f%28x%29%20%3B%0D%0A%20%20%20%20%20%20%20%20%20return%20s%0D%0A%20%20%20%20%20%20%20%20%20od%0D%0A%20%20%20%7D%0D%0A%0D%0Aintegrate%28f%20%3A%20Float%20-%26gt%3B%20Float%3B%20a%2C%20b%3A%20Float%29%20%3A%20Float%20is%0D%0A%20%20%20initially%20done%20%3D%20false%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20n%20%3D%201%20%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20integral%20%3D%20%28f%28a%29%20%2B%20f%28b%29%29%20%2A%20%28b%20-%20a%29%20%2F%202%3B%0D%0A%20%20%20while%20not%20done%20do%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20next_integral%20%3D%20trap%28f%2C%20a%2C%20b%2C%20integral%2C%202%20%2A%20n%29%20%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20new%20n%20%3D%202%20%2A%20n%20%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20new%20done%20%3D%20abs%28next_integral%20-%20integral%29%20%26lt%3B%201.0e-4%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20new%20integral%20%3D%20next_integral%0D%0A%20%20%20return%20next_integral%0D%0A%20%20%20od%0D%0A%0D%0Amain%20%3A%20String%20is%0D%0A%20%20%20%22Integral%20is%20%22%20%2B%2B%20print%28integrate%28Float%7Cpolyf%2C%201.0%2C%206.0%29%20%2B%2B%20%22%5Cn%22%0D%0A%0D%0A%3C%2Fpre%3E _store=1 _add=UFO _usertab=1 _usersearch=0 _format=full = name=Until nameURL=http%3A%2F%2Fwww.taygeta.com%2Funtil%2Funtil.html see=Forth logo= type=T%20-%20Threaded%20or%20stack-based desc=Until%20is%20an%20interpreted%20dialect%20of%20Forth%0D%0Adesigned%20for%20portability%20and%20for%20use%20as%0D%0Aan%20embedded%20extension%20language.%0D%0A%3Cbr%3E%0D%0AUnlike%20most%20Forth%20implementations%2C%0D%0AUntil%20is%20designed%20to%20provide%20easy%20access%0D%0Ato%20underlying%20operating%20system%20services%2C%0D%0Aand%20to%20be%20easily%20integrated%20with%20C%20programs.%0D%0A%3Cbr%3E%0D%0ASource%20code%20for%20the%20Until%20implementation%0D%0Ais%20supposedly%20available%2C%20targetted%20mainly%0D%0Aat%20MS-DOS%20but%20supposedly%20portable%20to%20Unix%0D%0Aas%20well.%0D%0A origin=N.E.%20Smith%2C%201991. seealso=Postscript remark=Development%20of%20Until%20seemed%20to%20%0D%0Astop%20sometime%20in%20the%20mid-1990s. links1=Until%202.5%20available%20via%20FTP%3Dftp%3A%2F%2Fftp.web.ad.jp%2Fpub3%2FCoast%2Fmsdos%2Fforth%2F links2= links3= links4= links5= date=Last%20updated%202%2F19%2F98 sample= _store=1 _add=Until _usertab=1 _usersearch=0 _format=full =