Кіріспе

Lisp бағдарламалау тілі жүйесі

Компьютерлік бағдарламалауда Franz Lisp – Калифорния университеті, Берклиде (UC Berkeley, UCB) профессор Ричард Фатеман және бірнеше студенттер жасаған, негізінен Maclisp-ке негізделген және Digital Equipment Corporation (DEC) VAX мини-компьютері үшін Berkeley Software Distribution (BSD) арқылы таратылған, қолданыстан тоқтатылған Lisp бағдарламалау тілі жүйесі. BSD жинағының танымалдылығын пайдалана отырып, Franz Lisp 1970 және 1980 жылдары ең көп тараған және қолданылған Lisp жүйесі болды деуге болады. Атауы композитор және пианист Франц Листтің есімімен байланысты, оның атымен ойын жасалған. Ол VAX жүйесінде Macsyma компьютерлік алгебра жүйесін іске қосу үшін арнайы құрылған. Жоба 1978 жылдың соңында басталды, UC Беркли алғашқы VAX 11/780 (Ernie CoVax деп аталды, Ernie Kovacs есімімен аталып, UCB-де әдемі аттары бар көптеген жүйелердің біріншісі) алғаннан кейін көп ұзамай. Franz Lisp білім беру мекемелеріне ақысыз ұсынылды, сондай-ақ VAX VMS-де жұмыс істейтін Беркли Unix эмуляторы Eunice арқылы да таратылды.

Тарих

Франц Лисп құрылған кезде Macsyma компьютерлік алгебра жүйесі негізінен DEC PDP 10 компьютерінде жұмыс істеді. Бұл компьютердің шектеулі адрестік кеңістігі қиындықтар тудырды. Көтерілген түзетулерге Maclisp-ті Multics немесе Lisp машиналарына порттау кірді, бірақ олар сәтті болған жағдайда да, бұл тек Массачусетс технология институтының (MIT) шешімі болар еді, себебі бұл машиналар қымбат және сирек кездесетін. Франц Лисп – Lisp машиналары ортасынан тыс, ірі Lisp бағдарламаларын іске қосуға мүмкіндік беретін алғашқы құрылымдық шешім болды; сол кезде Macsyma өте ірі бағдарлама саналды. Франц Лиспке портталғаннан кейін Macsyma шамамен 50 сайтқа MIT-нің Macsyma-ны меншікке алуға бағытталған мүддесімен шектелген лицензия бойынша таратылды. Франц Лиспте жұмыс істейтін VAX Macsyma Vaxima деп аталды. Symbolics Inc. Macsyma-ның коммерциялық құқықтарын MIT-ден сатып алып, оны Lisp машиналарымен бірге сату үшін, ақырында Macsyma-ны DEC VAX және Sun Microsystems компьютерлерінде де сатуға мәжбүр болды, сондай-ақ Франц Лиспті пайдалану үшін Калифорния университетіне роялти төледі. VAX үшін басқа Lisp жүзеге асырылымдары: MIT-нің NIL (толыққанды жұмыс істемейтін), Юта университетінің Portable Standard Lisp, DEC-тің VAX Lisp, Xerox-тың Interlisp VAX және Le Lisp. 1982 жылы Франц Лиспті Motorola 68000 процессорына порттау жұмысы басталды. Атап айтқанда, ол SunOS деп аталатын Беркли бағдарламалық таратуының (BSD) Unix нұсқасын қолдайтын Sun Microsystems жасаған Sun 1 прототипіне портталды. 1986 жылы Пердью университетінде Франц Лисп CCI Power 6/32 платформасына портталды, оның кодтық атауы Тахо болды. Беркли университетінде Франц Лиспке үлкен үлес қосқандар – Джон К. Фодераро, Кит Скловер және Кевин Лейер. Франц Лиспке қолдау көрсету үшін Franz Inc. компаниясы құрылды, оның негізін қалаушылары Ричард Фатеман, Джон Фодераро, Фриц Кунце, Кевин Лейер және Кит Скловер, барлығы Беркли университетімен байланысты болды. Содан кейін Франц Лиспті дамыту және зерттеу бірнеше жылға созылды, бірақ Common Lisp-тің қабылдануы Франц Лиспке деген қажеттілікті күрт азайтты. Franz Inc. компаниясының алғашқы өнімі – әртүрлі Motorola 68000 негізіндегі жұмыс станцияларында жұмыс істейтін Франц Лисп болды. Франц Лисптің портталуы тіпті Лоуренс Беркли ұлттық зертханасы үшін VAX VMS-ке де жасалды. Алайда, Franz Inc. компаниясы бірден Common Lisp-тің, Allegro Common Lisp жүзеге асырылымы бойынша жұмыс бастады.

Ерекшеліктері

Franz Lisp интерпретаторы C және Franz Lisp тілдерінде жазылған. Ол тек C компиляторы арқылы ғана іске қосылды. Franz Lisp компиляторы, толығымен Franz Lisp тілінде жазылған, композитор Франц Листтің атын ойынға алып, Liszt деп аталды. Franz Lisp-тің ерекше ерекшеліктерінің бірі – Lisp-тегі массивтердің Fortran-дегі массивтермен алмастырыла білуі және басқа тілдермен бинарлық деңгейде өзара әрекеттесуге мүмкіндік беретін шетелдік функция интерфейсі (FFI) болды. Көптеген іске асыру әдістері Maclisp-тен алынған: bibop жад ұйымы (BIg Bag Of Pages), кіші бүтін сандардың өрістегі тұрақты мәндерге көрсеткіштер арқылы бірегей түрде бейнеленуі және жылдам арифметика.