EuLisp

EuLisp
Paradigmmulti-paradigm: functional, procedural, meta, object-oriented
FamilyLisp
First appeared1990; 34 years ago (1990)
Preview release
0.991[1] / 2010; 14 years ago (2010)
Typing disciplinestrong, dynamic
Scopestatic and dynamic
OSLinux
Filename extensions.em
Major implementations
EuXLisp,[2] Youtoo,[2] Eu2C[2]
Influenced by
Common Lisp, InterLisp, LeLisp, Lisp/VM, Scheme, T, CLOS, ObjVlisp, Oaklisp, MicroCeyx, MCS, Standard ML, Haskell
Influenced
Dylan, ISLISP, Evelin

EuLisp is a statically and dynamically scoped Lisp dialect developed by a loose formation of industrial and academic Lisp users and developers from around Europe. The standardizers intended to create a new Lisp "less encumbered by the past" (compared to Common Lisp), and not so minimalist as Scheme. Another objective was to integrate the object-oriented programming paradigm well. It is a third-generation programming language.

Origin

The language definition process first began in a meeting in 1985 in Paris and took several years. The complete specification and a first implementation (interpreted-only) were made available in 1990.

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
 Maclisp
 Interlisp
 MDL
 Lisp Machine Lisp
 Scheme  R5RS  R6RS  R7RS small
 NIL
 ZIL (Zork Implementation Language)
 Franz Lisp
 Common Lisp  ANSI standard
 Le Lisp
 MIT Scheme
 XLISP
 T
 Chez Scheme
 Emacs Lisp
 AutoLISP
 PicoLisp
 Gambit
 EuLisp
 ISLISP
 OpenLisp
 PLT Scheme  Racket
 newLISP
 GNU Guile
 Visual LISP
 Clojure
 Arc
 LFE
 Hy
 Chialisp

Distinguishing features

Its main traits are that it is a Lisp-1 (no separate function and variable namespaces), has a Common Lisp Object System (CLOS) style generic-function type object-oriented system named The EuLisp Object System (TELOS) integrated from the ground up, has a built-in module system, and is defined in layers to promote the use of the Lisp on small, embedded hardware and educational machines. It supports continuations, though not as powerfully as Scheme. It has a simple lightweight process mechanism (threads).

Summary

Implementations

An early implementation of EuLisp was Free and Eventually Eulisp (FEEL). The successor to FEEL was Youtoo (interpreted and compiled versions), by University of Bath in the United Kingdom.[3] An interpreter for the basic level of EuLisp, level-0, was written by Russell Bradford in XScheme, an implementation of Scheme by David Michael Betz, originally named EuScheme EuScheme but the most recent version is renamed EuXLisp [1] to avoid confusion. Also Eu2C [2], a EuLisp optimizing compiler, was created by Fraunhofer ISST under the APPLY project in Germany [3].

A dialect of EuLisp was developed, named Plural EuLisp. It was EuLisp with parallel computing programming extensions.

Example

Example use of classes in the algorithm to solve the "Towers of Hanoi" problem.

(defmodule hanoi
  (syntax (syntax-0)
   import (level-0)
   export (hanoi))

;;;-------------------------------------------------
;;; Tower definition
;;;-------------------------------------------------
(defconstant *max-tower-height* 10)

(defclass <tower> ()
  ((id reader: tower-id keyword: id:)
   (blocks accessor: tower-blocks)))

(defun build-tower (x n)
  (labels ((loop (i res)
                 (if (= i 0) res
                   (loop (- i 1) (cons i res)))))
          ((setter tower-blocks) x (loop n ()))
          x))

(defmethod generic-print ((x <tower>) (s <stream>))
  (sformat s "#<tower ~a: ~a>" (tower-id x) (tower-blocks x)))

;;;-------------------------------------------------
;;; Access to tower blocks
;;;-------------------------------------------------
(defgeneric push (x y))

(defmethod push ((x <tower>) (y <fpi>))
  (let ((blocks (tower-blocks x)))
    (if (or (null? blocks) (< y (car blocks)))
        ((setter tower-blocks) x (cons y blocks))
      (error <condition>
             (fmt "cannot push block of size ~a on tower ~a" y x)))))

(defgeneric pop (x))

(defmethod pop ((x <tower>))
  (let ((blocks (tower-blocks x)))
    (if blocks
        (progn
          ((setter tower-blocks) x (cdr blocks))
          (car blocks))
      (error <condition>
             (fmt "cannot pop block from empty tower ~a" x)))))

;;;-------------------------------------------------
;;; Move n blocks from tower x1 to tower x2 using x3 as buffer
;;;-------------------------------------------------
(defgeneric move (n x1 x2 x3))

(defmethod move ((n <fpi>) (x1 <tower>) (x2 <tower>) (x3 <tower>))
  (if (= n 1)
      (progn
        (push x2 (pop x1))
        (print x1 nl x2 nl x3 nl nl))
    (progn
      (move (- n 1) x1 x3 x2)
      (move 1 x1 x2 x3)
      (move (- n 1) x3 x2 x1))))

;;;-------------------------------------------------
;;; Initialize and run the 'Towers of Hanoi'
;;;-------------------------------------------------
(defun hanoi ()
  (let ((x1 (make <tower> id: 0))
        (x2 (make <tower> id: 1))
        (x3 (make <tower> id: 2)))
    (build-tower x1 *max-tower-height*)
    (build-tower x2 0)
    (build-tower x3 0)
    (print x1 nl x2 nl x3 nl nl)
    (move *max-tower-height* x1 x2 x3)))

(hanoi)

;;;-------------------------------------------------
)  ;; End of module hanoi
;;;-------------------------------------------------

References

  1. ^ "Eulisp" (PDF). GitHub. Archived from the original (PDF) on 2012-03-06. Retrieved 2017-09-20.
  2. ^ a b c "Eulisp". GitHub.
  3. ^ Kind, Andreas. "Youtoo". School of Mathematical Sciences. University of Bath. England. Retrieved 2018-10-28.

Read other articles:

Mexican-born American chemist (1901–1981) Henry EyringHenry Eyring in 1951Born(1901-02-20)February 20, 1901Colonia Juárez, Chihuahua, MexicoDiedDecember 26, 1981(1981-12-26) (aged 80)Salt Lake City, Utah, United StatesNationalityAmericanAlma materUniversity of ArizonaUniversity of California, BerkeleyKnown forTransition state theorySpouse(s)Mildred Bennion; Winifred BrennanChildren3, including Henry B. EyringAwardsWolf Prize in Chemistry (1980) Priestley Medal (1975) Elliott Cr…

Spanish footballer In this Spanish name, the first or paternal surname is García and the second or maternal family name is Del Pozo. Recio Recio playing for Málaga in 2015Personal informationFull name José Luis García del Pozo[1]Date of birth (1991-01-11) 11 January 1991 (age 33)[1]Place of birth Málaga, SpainHeight 1.83 m (6 ft 0 in)[1]Position(s) MidfielderTeam informationCurrent team CórdobaNumber 14Youth career MálagaSenior career*Ye…

ХристианствоБиблия Ветхий Завет Новый Завет Евангелие Десять заповедей Нагорная проповедь Апокрифы Бог, Троица Бог Отец Иисус Христос Святой Дух История христианства Апостолы Хронология христианства Раннее христианство Гностическое христианство Вселенские соборы Ни…

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、蘭&…

Booth TheatreIl Booth Theatre nel 2019UbicazioneStato Stati Uniti LocalitàNew York Indirizzo222 West 45th Street Dati tecniciCapienza800 posti RealizzazioneCostruzioneXX secolo Inaugurazione16 ottobre 1913 ArchitettoHenry B. Herts ProprietarioShubert Organization Sito ufficiale Modifica dati su Wikidata · ManualeCoordinate: 40°45′30.5″N 73°59′13.29″W / 40.758473°N 73.987024°W40.758473; -73.987024 Il Booth Theatre è un teatro di Broadway sito nel quartiere…

2018 greatest hits album by Toto40 Trips Around the SunGreatest hits album by TotoReleasedFebruary 9, 2018 (2018-02-09)Recorded1978–2017Length79:19LabelColumbiaLegacyToto chronology Toto XIV(2015) 40 Trips Around the Sun(2018) Old Is New(2018) 40 Trips Around the Sun is a greatest hits album by American rock band Toto, released on February 9, 2018. The album was released in commemoration of the 40th anniversary of Toto's self-titled debut album (1978).[1] 40 Trip…

هنودمعلومات عامةنسبة التسمية الهند التعداد الكليالتعداد قرابة 1.21 مليار[1][2]تعداد الهند عام 2011ق. 1.32 مليار[3]تقديرات عام 2017ق. 30.8 مليون[4]مناطق الوجود المميزةبلد الأصل الهند البلد الهند  الهند نيبال 4,000,000[5] الولايات المتحدة 3,982,398[6] الإمارا…

周處除三害The Pig, The Snake and The Pigeon正式版海報基本资料导演黃精甫监制李烈黃江豐動作指導洪昰顥编剧黃精甫主演阮經天袁富華陳以文王淨李李仁謝瓊煖配乐盧律銘林孝親林思妤保卜摄影王金城剪辑黃精甫林雍益制片商一種態度電影股份有限公司片长134分鐘产地 臺灣语言國語粵語台語上映及发行上映日期 2023年10月6日 (2023-10-06)(台灣) 2023年11月2日 (2023-11-02)(香港、…

The AbyssUna scena del filmTitolo originaleThe Abyss Lingua originaleinglese Paese di produzioneStati Uniti d'America Anno1989 Durata140 min (versione cinematografica)171 min (versione estesa) Rapporto2,39:1 Generefantascienza RegiaJames Cameron SoggettoJames Cameron SceneggiaturaJames Cameron ProduttoreGale Anne Hurd (versione originale)Van Ling (special edition) Casa di produzione20th Century Fox, Pacific Western, Lighstorm Entertainment Distribuzione in italiano20th Century Fox FotografiaMika…

Sekolah Tinggi Ilmu Administrasi Maulana Yusuf BantenRektorH. Sudirman Martadisastra, Drs., MM. Sekolah Tinggi Ilmu Administrasi Maulana Yusuf Banten adalah sebuah perguruan tinggi yang sudah berdiri sejak tahun 1962 yang beralamat di Jl. Trip Jamaksari Cinanggung, Serang, Banten. Sejarah Universitas Maulana Yusuf (UNMAYU) Didorong oleh keinginan melaksanakan cita-cita luhur Bangsa Indonesia, khususnya dalam menyiapkan insan yang berpendidikan tinggi yang bertanggung jawab terhadap bangsa, negar…

Військово-музичне управління Збройних сил України Тип військове формуванняЗасновано 1992Країна  Україна Емблема управління Військово-музичне управління Збройних сил України — структурний підрозділ Генерального штабу Збройних сил України призначений для плануван…

习近平 习近平自2012年出任中共中央总书记成为最高领导人期间,因其废除国家主席任期限制、开启总书记第三任期、集权统治、公共政策与理念、知识水平和自述经历等争议,被中国大陸及其他地区的民众以其争议事件、个人特征及姓名谐音创作负面称呼,用以恶搞、讽刺或批评习近平。对习近平的相关负面称呼在互联网上已经形成了一种活跃、独特的辱包亚文化。 权力類 …

National Cycling CentreManchester VelodromePanorama image of the Manchester VelodromeLocationStuart StreetManchesterEnglandM11 4DQCoordinates53°29′10″N 2°11′31″W / 53.486°N 2.192°W / 53.486; -2.192OwnerCity of ManchesterOperatorBritish CyclingCapacity3,500Field size250 metre trackConstructionOpened14 September 1994[3]ArchitectFaulknerBrowns ArchitectsServices engineerR.V. Webb (Velodrome track)[1][2]TenantsIneos Grenadiers (UCI ProTeam)…

Paraguayans of European descent Ethnic group Paraguayans of European descentTotal populationc. 1,750,000[1][2] 20% - 30% of total populationRegions with significant populations AsunciónCiudad del EsteEncarnaciónSan BernardinoAltosWestern regions of the countryLanguagesParaguayan SpanishGerman (Plautdietsch, Standard German)ItalianGuaraníReligionRoman Catholicism, Anabaptism, Evangelicalism, Judaism, irreligionRelated ethnic groupsSpaniards, Italians, Germans, White Argen…

Town in Mineral County, Colorado, United States Statutory town in Colorado, United StatesCreede, ColoradoStatutory town[1]Downtown Creede (2005)Location of the City of Creede in the Mineral County, Colorado.CreedeLocation of the City of Creede in the United States.Coordinates: 37°51′0″N 106°55′35″W / 37.85000°N 106.92639°W / 37.85000; -106.92639[2]Country United StatesState ColoradoCountyMineral County seat[1]IncorporatedMay 1…

37°58′54″N 23°43′40″E / 37.98167°N 23.72778°E / 37.98167; 23.72778 Open square in Athens, GreeceKotzia SquareΠλατεία ΚοτζιάFormer namesLudovic SquareGeneral informationTypeOpen squareArchitectural styleNeoclassicismTown or cityAthensCountryGreece Kotzia Square (Greek: Πλατεία Κοτζιά) is a square in central Athens, Greece. The square retains several characteristics of 19th-century local neoclassical architecture, such as the City Hall …

Las Delicias Distrito municipal Campus Universitario de Jerez (arriba) y La Ciudad de los Niños (abajo)Coordenadas 36°40′47″N 6°06′47″O / 36.679639838121, -6.1131378251742Entidad Distrito municipal • País España • Comunidad autónoma Andalucía Andalucía • Provincia Cádiz • Ciudad JerezSuperficie   • Total 6.71 km²Población   • Total 38 598 hab.[editar datos en Wikidata] Distrito Este ta…

العلاقات الأرمينية الغانية أرمينيا غانا   أرمينيا   غانا تعديل مصدري - تعديل   العلاقات الأرمينية الغانية هي العلاقات الثنائية التي تجمع بين أرمينيا وغانا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة أرمينيا غ…

American legal case Penguin Group (USA) Inc. v. American BuddhaCourtUnited States Court of Appeals for the Second CircuitFull case namePenguin Group (USA) Inc. v. American BuddhaArguedJanuary 7 2010DecidedMay 12 2011Citation640 F.3d 497HoldingVacated United States District Court's dismissal and remanded the case for further proceedingsCourt membershipJudges sittingRobert D. Sack, Robert A. Katzmann, Denny ChinCase opinionsPer curiam Penguin Group (USA) Inc. v. American Buddha, 640 F.3d 497 (2d C…

علم العراق علم العراق ألوان أحمر أبيض أسود أخضر  الاعتماد 22 يناير 2008[1]  الاختصاص العراق  العلم العراقي عمودياًالعلم العراقي عمودياً تعديل مصدري - تعديل   اُعتمِد أول علم للعراق عام 1921، عند إنشاء المملكة العراقية الهاشمية، واُستمِدت ألوان العلم من أحد أبيات قصي…