Languages January 1St, 2021

Total Page:16

File Type:pdf, Size:1020Kb

Languages January 1St, 2021 1954 1957 1960 1965 1970 1975 1980 1985 1990 1995 2000 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 PostScript level 3 PostScript level 3 PostScript PostScript level 2 PostScript level 3 v 3016 v 3017 1982 1992 september 11, 1996 OO Forth colorForth 2003 september 11, 2005 1987 july 31, 2001 Forth FIG-Forth Forth-83 ANS Forth ISO Forth 1968 1978 1983 1986 1997 Logo Object Logo Tcl Tcl/Tk Tcl/Tk 8.1 Tcl/Tk 8.2.3 Tcl/Tk 8.3 Tcl/Tk 8.4 Tcl/Tk 8.4.1 Tcl/Tk 8.4.2 Tcl/Tk 8.4.3 Tcl/Tk 8.4.4 Tcl/Tk 8.4.5 Tcl/Tk 8.4.6 Tcl/Tk 8.4.7 Tcl/Tk 8.4.8 Tcl/Tk 8.4.9 Tcl/Tk 8.4.11 Tcl/Tk 8.4.12 Tcl/Tk 8.4.13 Tcl/Tk 8.4.14 Tcl/Tk 8.4.15 Tcl/Tk 8.5 Tcl/Tk 8.5.5 Tcl/Tk 8.5.6 Tcl/Tk 8.5.7 Tcl/Tk 8.5.9 Tcl/Tk 8.5.10 Tcl/Tk 8.5.11 Tcl/Tk 8.5.12 Tcl/Tk 8.6.0 Tcl/Tk 8.6.3 Tcl/Tk 8.6.4 Tcl/Tk 8.6.5 Tcl/Tk 8.6.6 Tcl/Tk 8.6.7 Tcl/Tk 8.6.8 Tcl/Tk 8.6.9 Tcl/Tk 8.6.10 1968 1986 mid 1988 end 1988 april 1999 dec. 16, 1999 october 22, 2001 september 10, 2002 october 22, 2002 march 3, 2003 may 20, 2003 july 22, 2003 november 24, 2003 march 1, 2004 july 25, 2004 nov. 22, 2004 december 7, 2004 june 28, 2005 december 6, 2005 april 19, 2006 october 19, 2006 may 25, 2007 december 20, 2007 october 15, 2008 january 2009 april 15, 2009 september 8, 2010 june 24, 2011 november 4, 2011 july 27, 2012 december 20, 2012 november 12, 2014 march 12, 2015 february 29, 2016 july 27, 2016 august 9, 2017 december 22, 2017 november 16, 2018 november 21, 2019 FORTRAN IV Fortran 2000 FORTRAN I FORTRAN II FORTRAN III FORTRAN IV FORTRAN V Fortran 90 ISO Fortran 2003 Fortran 2008 FORTRAN (Fortran 66 ANS) (Fortran 77 ANSI) Fortran 95 ISO (draft) november 1954 october 1956 1957 end-1958 1962 1991 december 15, 1997 november 30, 2004 september 2010 1966 april 1978 A A+ september 30, 2002 Prolog Prolog II Prolog III 1988 1992 Prolog IV 1970 october 1982 1984 1997 J K Sharp APL 1990 1996 JOSS TELCOMP MUMPS MUMPS (ANSI) MUMPS (FIPS) MUMPS ISO M M ANSI Open M M ISO M ISO 1964 1965 1966 september 15, 1977 1986 1992 1994 dec 8, 1995 dec 11, 1995 1999 january 6, 2005 Modula 3 Delphi Delphi 5 Delphi 6 Delphi 7 Delphi 8 Delphi 2005 Delphi 2006 Delphi 2007 Delphi 2009 Delphi 2010 1988 march 2, 1995 august, 1999 may 1, 2001 august 6, 2002 november 2003 november 2004 october 30, 2005 march 2007 august 2008 august 2009 APL APL 2 APL96 Python 3.0a2 Python 3.0.1 Python 3.1 Python 3.2 Python 3.2.1 Python 3.3.0 Python 3.3.2 Python 3.3.3 Python 3.4.0 Python 3.4.1 Python 3.4.3 Python 3.6.3 Python 3.7.0 Python 3.7.4 Python 3.8.0 Python 3.9.0 Python 3.0 Python 3.5 Python 3.6.0 july 8, 2019 1960 august 1984 1996 december 7, 2007 february 13, 2009 june 27, 2009 february 20, 2011 july 11, 2011 september 29, 2012 may 15, 2013 november 13, 2013 march 17, 2014 may 18, 2014 february 25, 2015 septembre 13, 2015 october 3, 2017 june 27, 2018 october 14, 2019 october 5, 2020 B ABC december 3, 2008 december 23, 2016 1981 1987 Python Python 1.5.2 Python 1.6 Python 2.0 Python 2.1 Python 2.2 Python 2.2.1 Python 2.2.2 Python 2.3a2 Python 2.2.3 Python 2.3 Python 2.3.1 Python 2.3.2 Python 2.3.3 Python 2.3.4 Python 2.4 Python 2.4.1 Python 2.4.2 Python 2.5 Python 2.5.1 Python 2.6 Python 2.6.1 Python 2.6.2 Python 2.6.3 Python 2.7 Python 2.7.1 Python 2.7.2 Python 2.7.5 1991 april 13, 1999 april 17, 2001 april 10, 2002 october 14, 2002 july 29, 2003 september 23, 2003 october 3, 2003 december 19, 2003 may 27, 2004 november 30, 2004 march 30, 2005 september 19, 2006 april 19, 2007 october 1, 2008 december 4, 2008 april 14, 2009 october 2, 2009 july 4, 2010 november 27, 2010 june 12, 2011 may 15, 2013 Object Pascal Borland september 5, 2000 october 16, 2000 december 21, 2001 february 19, 2003 may 30, 2003 september 28, 2005 1985 Turbo Pascal B-O Flow-Matic COBOL COBOL 61 COBOL 61 COBOL COBOL 68 ANS COBOL 74 ANSI COBOL 85 ISO/ANSI OO COBOL COBOL 2002 ISO/ANSI COBOL 2014 ISO/CEI 1957 1958 1959 1961 Extended 1965 1968 1974 1985 1997 december 2002 june 2014 1962 Rex 1.00 Rex 2.00 Rex 3.00 Rexx 3.20 ANSI Rexx Object Rexx may 1979 1980 1982 1984 Pascal february 25, 1997 Swift 1.0 Swift 1.1 Swift 1.2 Swift 2.0 Swift 2.2 Swift 2.3 Swift 3.0 Swift 3.1 Swift 4.1 Swift 5.1 Swift 5.2 Swift 5.3 Pascal AFNOR Swift Swift 4.0 april 29, 2018 Swift 5 1970 1983 Oberon Oberon-2 Active Oberon 2010 september 9, 2014 october 22, 2014 april 8, 2015 june 8, 2015 april 21, 2016 june 12, 2016 sept. 13, 2016 march 27, 2017 september 19, 2017 march 25, 2019 april 19, 2019 march 24, 2020 september 16, 2020 1987 1991 2001 Java 8 update 51 Java 8 update 92 PL/M Modula 2 Modula-2 ISO Modula-2 ISO Java 8 Java 8 update 25 Java 13 Java 14 Java 15 Modula Generic Extension july 14, 2015 april 19, 2016 Java 9 Java 10,0 Java 11 Java 12 1972 1975 1979 june 1, 1996 march 18, 2014 october 14, 2014 april 20, 2018 september 2019 march 2020 september 2020 Ada Ada 83 ANSI Ada ISO Ada 95 december 19, 1998 Ada 2006 (draft) Ada 2005 Ada 2012 september 21, 2017 september 25, 2018 march 19, 2019 january 1983 1995 2005 Ada 2012 TC1 1979 1987 NetRexx C# C# 2.0 march 9, 2007 december 15, 2012 Java 7 update 72 PL/I PL/1 ANS NetRexx 1.150 C# C# C# 2.0 Java 7 Java 7 update 3 Java 7 update 7 Java 7 update 25 Java 7 update 51 february 1, 2016 1964 1976 1991 july 23, 1999 (ECMA) (ISO) (beta) february 15, 2012 august 30, 2012 june 18, 2013 january 14, 2014 october 14, 2014 Concurrent C june 26, 2000 C# 3.0 november 2005 july 28, 2011 C# 7.3 C# 8.0 C# 9.0 december 13, 2001 march 28, 2003 july 2003 (beta) C# 3.0 C# 3.5 C# 4.0 C# 5.0 C# 6.0 C# 7.0 C# 7.1 C# 7.2 1984 ISO C july 20, 2015 may 7, 2018 september 2019 september 2020 CPL BCPL B C (K&R) ANSI C ISO C ISO C (C99) september 2005 november 6, 2006 november 19, 2007 april 12, 2010 ISO/IEC C (C11) august 15, 2012 march 2017 august 14, 2017 february 20, 2018 C Classic C (C89) (C90) (C95) ISO/IEC C (C17) 1963 july 1967 1969 1971 1978 december 1, 1999 Java 6 update 7 december 8, 2011 Java 6 update 51 1989 december 15, 1990 april 1, 1996 JScript JScript Java 2 (v6.0 beta) Java 6 update 2 Java 6 update 11 Java 6 update 14 Java 6 update 26 Java 6 update 81 june 2018 december 2004 Java 6 july 11, 2008 december 2, 2008 JOVIAL JOVIAL I JOVIAL II JOVIAL 3 Objective-C may 1996 Objective-C 2.0 december 11, 2006 july 5, 2007 june 10, 2009 Objective-C 2.1 june 7, 2011 june 18, 2013 july 15, 2014 1959 1960 1961 1965 1983 august 7, 2006 august 28, 2009 LiveScript JavaScript 2.0 JavaScript 2.0 Cmm JavaScript JavaScript 1.5 (draft 1) 1992 1995 december 1995 (draft 4) ISO/IEC C++ CORAL 64 CORAL 66 C with Classes ARM C++ C++98 ANSI/ISO february 18, 1999 april 26, 2002 C++03 ISO/IEC C++0x draft ISO/IEC C++ (C++17) 1964 1966 C++ C++1x draft (C++11) ISO/IEC C++ (C++14) april 1980 july 1983 1989 1998 2003 2008 december 15, 2014 december 1, 2017 CLU ECMAScript ECMAScript ed3 ECMAScript ed4 (draft) july 22, 2009 ECMAScript ed5 ECMAScript ed5.1 august 12, 2011 ECMAScript ed6 ECMAScript ed7 ECMAScript ed8 ECMAScript ed9 ECMAScript ed10 ECMAScript ed11 2002 december 2009 june 2015 june 2017 june 2018 Simula 67 1974 june 1997 december 1999 Java 2 (v1.4) Java 2 Java 2 (v1.4.1_03) Java 2 (v1.5.0) (beta 1) Java 2 (v5.0) (beta 2) Java 2 (v5.0) Java 2 (v5.0 update 3) Java 2 (v5.0 update 8) Java 2 (v5.0 update 12) Java 2 (v5.0 update 16) Java 2 (v5.0 update 17) june 2011 june 2016 june 2019 june 2020 Simula I Oak Java 1 Java 2 (v1.2) Java 2 (v1.3) Java 2 (v1.4.0_01) Java 2 (v1.4.1) Java 2 (v5.0 update 18) Java 2 (v5.0 update 21) 1964 1967 may 8, 2000 early access (v1.4.1_02) june 11, 2003 feb.
Recommended publications
  • A Quick Guide to Southeast Florida's Coral Reefs
    A Quick Guide to Southeast Florida’s Coral Reefs DAVID GILLIAM NATIONAL CORAL REEF INSTITUTE NOVA SOUTHEASTERN UNIVERSITY Spring 2013 Prepared by the Land-based Sources of Pollution Technical Advisory Committee (TAC) of the Southeast Florida Coral Reef Initiative (SEFCRI) BRIAN WALKER NATIONAL CORAL REEF INSTITUTE, NOVA SOUTHEASTERN Southeast Florida’s coral-rich communities are more valuable than UNIVERSITY the Spanish treasures that sank nearby. Like the lost treasures, these amazing reefs lie just a few hundred yards off the shores of Martin, Palm Beach, Broward and Miami-Dade Counties where more than one-third of Florida’s 19 million residents live. Fishing, diving, and boating help attract millions of visitors to southeast Florida each year (30 million in 2008/2009). Reef-related expen- ditures generate $5.7 billion annually in income and sales, and support more than 61,000 local jobs. Such immense recreational activity, coupled with the pressures of coastal development, inland agriculture, and robust cruise and commercial shipping industries, threaten the very survival of our reefs. With your help, reefs will be protected from local stresses and future generations will be able to enjoy their beauty and economic benefits. Coral reefs are highly diverse and productive, yet surprisingly fragile, ecosystems. They are built by living creatures that require clean, clear seawater to settle, mature and reproduce. Reefs provide safe havens for spectacular forms of marine life. Unfortunately, reefs are vulnerable to impacts on scales ranging from local and regional to global. Global threats to reefs have increased along with expanding ART SEITZ human populations and industrialization. Now, warming seawater temperatures and changing ocean chemistry from carbon dioxide emitted by the burning of fossil fuels and deforestation are also starting to imperil corals.
    [Show full text]
  • Typology of Programming Languages E Early Languages E
    Typology of programming languages e Early Languages E Typology of programming languages Early Languages 1 / 71 The Tower of Babel Typology of programming languages Early Languages 2 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 3 / 71 IBM Mathematical Formula Translator system Fortran I, 1954-1956, IBM 704, a team led by John Backus. Typology of programming languages Early Languages 4 / 71 IBM 704 (1956) Typology of programming languages Early Languages 5 / 71 IBM Mathematical Formula Translator system The main goal is user satisfaction (economical interest) rather than academic. Compiled language. a single data structure : arrays comments arithmetics expressions DO loops subprograms and functions I/O machine independence Typology of programming languages Early Languages 6 / 71 FORTRAN’s success Because: programmers productivity easy to learn by IBM the audience was mainly scientific simplifications (e.g., I/O) Typology of programming languages Early Languages 7 / 71 FORTRAN I C FIND THE MEAN OF N NUMBERS AND THE NUMBER OF C VALUES GREATER THAN IT DIMENSION A(99) REAL MEAN READ(1,5)N 5 FORMAT(I2) READ(1,10)(A(I),I=1,N) 10 FORMAT(6F10.5) SUM=0.0 DO 15 I=1,N 15 SUM=SUM+A(I) MEAN=SUM/FLOAT(N) NUMBER=0 DO 20 I=1,N IF (A(I) .LE. MEAN) GOTO 20 NUMBER=NUMBER+1 20 CONTINUE WRITE (2,25) MEAN,NUMBER 25 FORMAT(11H MEAN = ,F10.5,5X,21H NUMBER SUP = ,I5) STOP TypologyEND of programming languages Early Languages 8 / 71 Fortran on Cards Typology of programming languages Early Languages 9 / 71 Fortrans Typology of programming languages Early Languages 10 / 71 Table of Contents 1 Fortran 2 ALGOL 3 COBOL 4 The second wave 5 The finale Typology of programming languages Early Languages 11 / 71 ALGOL, Demon Star, Beta Persei, 26 Persei Typology of programming languages Early Languages 12 / 71 ALGOL 58 Originally, IAL, International Algebraic Language.
    [Show full text]
  • Javascript and the DOM
    Javascript and the DOM 1 Introduzione alla programmazione web – Marco Ronchetti 2020 – Università di Trento The web architecture with smart browser The web programmer also writes Programs which run on the browser. Which language? Javascript! HTTP Get + params File System Smart browser Server httpd Cgi-bin Internet Query SQL Client process DB Data Evolution 3: execute code also on client! (How ?) Javascript and the DOM 1- Adding dynamic behaviour to HTML 3 Introduzione alla programmazione web – Marco Ronchetti 2020 – Università di Trento Example 1: onmouseover, onmouseout <!DOCTYPE html> <html> <head> <title>Dynamic behaviour</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div onmouseover="this.style.color = 'red'" onmouseout="this.style.color = 'green'"> I can change my colour!</div> </body> </html> JAVASCRIPT The dynamic behaviour is on the client side! (The file can be loaded locally) <body> <div Example 2: onmouseover, onmouseout onmouseover="this.style.background='orange'; this.style.color = 'blue';" onmouseout=" this.innerText='and my text and position too!'; this.style.position='absolute'; this.style.left='100px’; this.style.top='150px'; this.style.borderStyle='ridge'; this.style.borderColor='blue'; this.style.fontSize='24pt';"> I can change my colour... </div> </body > JavaScript is event-based UiEvents: These event objects iherits the properties of the UiEvent: • The FocusEvent • The InputEvent • The KeyboardEvent • The MouseEvent • The TouchEvent • The WheelEvent See https://www.w3schools.com/jsref/obj_uievent.asp Test and Gym JAVASCRIPT HTML HEAD HTML BODY CSS https://www.jdoodle.com/html-css-javascript-online-editor/ Javascript and the DOM 2- Introduction to the language 8 Introduzione alla programmazione web – Marco Ronchetti 2020 – Università di Trento JavaScript History • JavaScript was born as Mocha, then “LiveScript” at the beginning of the 94’s.
    [Show full text]
  • A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book)
    A Politico-Social History of Algolt (With a Chronology in the Form of a Log Book) R. w. BEMER Introduction This is an admittedly fragmentary chronicle of events in the develop­ ment of the algorithmic language ALGOL. Nevertheless, it seems perti­ nent, while we await the advent of a technical and conceptual history, to outline the matrix of forces which shaped that history in a political and social sense. Perhaps the author's role is only that of recorder of visible events, rather than the complex interplay of ideas which have made ALGOL the force it is in the computational world. It is true, as Professor Ershov stated in his review of a draft of the present work, that "the reading of this history, rich in curious details, nevertheless does not enable the beginner to understand why ALGOL, with a history that would seem more disappointing than triumphant, changed the face of current programming". I can only state that the time scale and my own lesser competence do not allow the tracing of conceptual development in requisite detail. Books are sure to follow in this area, particularly one by Knuth. A further defect in the present work is the relatively lesser availability of European input to the log, although I could claim better access than many in the U.S.A. This is regrettable in view of the relatively stronger support given to ALGOL in Europe. Perhaps this calmer acceptance had the effect of reducing the number of significant entries for a log such as this. Following a brief view of the pattern of events come the entries of the chronology, or log, numbered for reference in the text.
    [Show full text]
  • Verifiable Semantic Difference Languages
    Verifiable Semantic Difference Languages Thibaut Girka David Mentré Yann Régis-Gianas Mitsubishi Electric R&D Centre Mitsubishi Electric R&D Centre Univ Paris Diderot, Sorbonne Paris Europe Europe Cité, IRIF/PPS, UMR 8243 CNRS, PiR2, Rennes, France Rennes, France INRIA Paris-Rocquencourt Paris, France ABSTRACT 1 INTRODUCTION Program differences are usually represented as textual differences Let x be a strictly positive natural number. Consider the following on source code with no regard to its syntax or its semantics. In two (almost identical) imperative programs: this paper, we introduce semantic-aware difference languages. A difference denotes a relation between program reduction traces. A s = 0 ; 1 s = 0 ; 1 difference language for the toy imperative programming language d = x ; 2 d = x − 1 ; 2 while (d>0) { 3 while (d>0) { 3 Imp is given as an illustration. i f (x%d== 0) 4 i f (x%d== 0) 4 To certify software evolutions, we want to mechanically verify s = s + d ; 5 s = s + d ; 5 − − that a difference correctly relates two given programs. Product pro- d = d 1 ; 6 d = d 1 ; 6 } 7 } 7 grams and correlating programs are effective proof techniques for s = s − x 8 8 relational reasoning. A product program simulates, in the same programming language as the compared programs, a well-chosen The program P1 (on the left) stores in s the sum of the proper interleaving of their executions to highlight a specific relation be- divisors of the integer x. To that end, it iterates over the integers tween their reduction traces. While this approach enables the use from x to 1 using the variable d and accumulates in the variable s of readily-available static analysis tools on the product program, it the values of d that divide x.
    [Show full text]
  • Standards for Computer Aided Manufacturing
    //? VCr ~ / Ct & AFML-TR-77-145 )R^ yc ' )f f.3 Standards for Computer Aided Manufacturing Office of Developmental Automation and Control Technology Institute for Computer Sciences and Technology National Bureau of Standards Washington, D.C. 20234 January 1977 Final Technical Report, March— December 1977 Distribution limited to U.S. Government agencies only; Test and Evaluation Data; Statement applied November 1976. Other requests for this document must be referred to AFML/LTC, Wright-Patterson AFB, Ohio 45433 Manufacturing Technology Division Air Force Materials Laboratory Wright-Patterson Air Force Base, Ohio 45433 . NOTICES When Government drawings, specifications, or other data are used for any purpose other than in connection with a definitely related Government procurement opera- tion, the United States Government thereby incurs no responsibility nor any obligation whatsoever; and the fact that the Government may have formulated, furnished, or in any way supplied the said drawing, specification, or other data, is not to be regarded by implication or otherwise as in any manner licensing the holder or any person or corporation, or conveying any rights or permission to manufacture, use, or sell any patented invention that may in any way be related thereto Copies of this report should not be returned unless return is required by security considerations, contractual obligations, or notice on a specified document This final report was submitted by the National Bureau of Standards under military interdepartmental procurement request FY1457-76 -00369 , "Manufacturing Methods Project on Standards for Computer Aided Manufacturing." This technical report has been reviewed and is approved for publication. FOR THE COMMANDER: DtiWJNlb L.
    [Show full text]
  • The Elinks Manual the Elinks Manual Table of Contents Preface
    The ELinks Manual The ELinks Manual Table of Contents Preface.......................................................................................................................................................ix 1. Getting ELinks up and running...........................................................................................................1 1.1. Building and Installing ELinks...................................................................................................1 1.2. Requirements..............................................................................................................................1 1.3. Recommended Libraries and Programs......................................................................................1 1.4. Further reading............................................................................................................................2 1.5. Tips to obtain a very small static elinks binary...........................................................................2 1.6. ECMAScript support?!...............................................................................................................4 1.6.1. Ok, so how to get the ECMAScript support working?...................................................4 1.6.2. The ECMAScript support is buggy! Shall I blame Mozilla people?..............................6 1.6.3. Now, I would still like NJS or a new JS engine from scratch. .....................................6 1.7. Feature configuration file (features.conf).............................................................................7
    [Show full text]
  • ALGORITHMS for ARTIFICIAL INTELLIGENCE in Apl2 By
    MAY 1986 REVISED Nov­ 1986 TR 03·281 ALGORITHMS FOR ARTIFICIAL INTELLIGENCE IN APl2 By DR­ JAMES A· BROWN ED EUSEBI JANICE COOK lEO H­ GRONER INTERNATIONAL BUSINESS MACHINES CORPORATION GENERAL PRODUCTS DIVISION SANTA TERESA LABORATORY SAN JOSE~ CALIFORNIA ABSTRACT Many great advances in science and mathematics were preceded by notational improvements. While a g1yen algorithm can be implemented in any general purpose programming language, discovery of algorithms is heavily influenced by the notation used to Lnve s t Lq a t.e them. APL2 c o nce p t.ua Lly applies f unc t Lons in parallel to arrays of data and so is a natural notation in which to investigate' parallel algorithins. No c LaLm is made that APL2 1s an advance in notation that will precede a breakthrough in Artificial Intelligence but it 1s a new notation that allows a new view of the pr-obl.ems in AI and their solutions. APL2 can be used ill problems tractitionally programmed in LISP, and is a possible implementation language for PROLOG-like languages. This paper introduces a subset of the APL2 notation and explores how it can be applied to Artificial Intelligence. 111 CONTENTS Introduction. • • • • • • • • • • 1 Part 1: Artificial Intelligence. • • • 2 Part 2: Logic... · • 8 Part 3: APL2 ..... · 22 Part 4: The Implementations . · .40 Part 5: Going Beyond the Fundamentals .. • 61 Summary. .74 Conclus i ons , . · .75 Acknowledgements. • • 76 References. · 77 Appendix 1 : Implementations of the Algorithms.. 79 Appendix 2 : Glossary. • • • • • • • • • • • • • • • • 89 Appendix 3 : A Summary of Predicate Calculus. · 95 Appendix 4 : Tautologies. · 97 Appendix 5 : The DPY Function.
    [Show full text]
  • Event Management for the Development of Multi-Agent Systems Using Logic Programming
    Event Management for the Development of Multi-agent Systems using Logic Programming Natalia L. Weinbachy Alejandro J. Garc´ıa [email protected] [email protected] Laboratorio de Investigacio´n y Desarrollo en Inteligencia Artificial (LIDIA) Departamento de Ciencias e Ingenier´ıa de la Computacio´n Universidad Nacional del Sur Av. Alem 1253, (8000) Bah´ıa Blanca, Argentina Tel: (0291) 459-5135 / Fax: (0291) 459-5136 Abstract In this paper we present an extension of logic programming including events. We will first describe our proposal for specifying events in a logic program, and then we will present an implementation that uses an interesting communication mechanism called \signals & slots". The idea is to provide the application programmer with a mechanism for handling events. In our design we consider how to define an event, how to indicate the occurrence of an event, and how to associate an event with a service predicate or handler. Keywords: Event Management. Event-Driven Programming. Multi-agent Systems. Logic Programming. 1 Introduction An event represents the occurrence of something interesting for a process. Events are useful in those applications where pieces of code can be executed automatically when some condition is true. Therefore, event management is helpful to develop agents that react to certain occurrences produced by changes in the environment or caused by another agents. Our aim is to support event management in logic programming. An event can be emitted as a result of the execution of certain predicates, and will result in the execution of the service predicate or handler. For example, when programming a robot behaviour, an event could be associated with the discovery of an obstacle in its trajectory; when this event occurs (generated by some robot sensor), the robot might be able to react to it executing some kind of evasive algorithm.
    [Show full text]
  • An Introduction to Programming in Simula
    An Introduction to Programming in Simula Rob Pooley This document, including all parts below hyperlinked directly to it, is copyright Rob Pooley ([email protected]). You are free to use it for your own non-commercial purposes, but may not copy it or reproduce all or part of it without including this paragraph. If you wish to use it for gain in any manner, you should contact Rob Pooley for terms appropriate to that use. Teachers in publicly funded schools, universities and colleges are free to use it in their normal teaching. Anyone, including vendors of commercial products, may include links to it in any documentation they distribute, so long as the link is to this page, not any sub-part. This is an .pdf version of the book originally published by Blackwell Scientific Publications. The copyright of that book also belongs to Rob Pooley. REMARK: This document is reassembled from the HTML version found on the web: https://web.archive.org/web/20040919031218/http://www.macs.hw.ac.uk/~rjp/bookhtml/ Oslo 20. March 2018 Øystein Myhre Andersen Table of Contents Chapter 1 - Begin at the beginning Basics Chapter 2 - And end at the end Syntax and semantics of basic elements Chapter 3 - Type cast actors Basic arithmetic and other simple types Chapter 4 - If only Conditional statements Chapter 5 - Would you mind repeating that? Texts and while loops Chapter 6 - Correct Procedures Building blocks Chapter 7 - File FOR future reference Simple input and output using InFile, OutFile and PrintFile Chapter 8 - Item by Item Item oriented reading and writing and for loops Chapter 9 - Classes as Records Chapter 10 - Make me a list Lists 1 - Arrays and simple linked lists Reference comparison Chapter 11 - Like parent like child Sub-classes and complex Boolean expressions Chapter 12 - A Language with Character Character handling, switches and jumps Chapter 13 - Let Us See what We Can See Inspection and Remote Accessing Chapter 14 - Side by Side Coroutines Chapter 15 - File For Immediate Use Direct and Byte Files Chapter 16 - With All My Worldly Goods..
    [Show full text]
  • BASIC Session
    BASIC Session Chairman: Thomas Cheatham Speaker: Thomas E. Kurtz PAPER: BASIC Thomas E. Kurtz Darthmouth College 1. Background 1.1. Dartmouth College Dartmouth College is a small university dating from 1769, and dedicated "for the educa- tion and instruction of Youth of the Indian Tribes in this Land in reading, writing and all parts of learning . and also of English Youth and any others" (Wheelock, 1769). The undergraduate student body (now nearly 4000) outnumbers all graduate students by more than 5 to 1, and majors predominantly in the Social Sciences and the Humanities (over 75%). In 1940 a milestone event, not well remembered until recently (Loveday, 1977), took place at Dartmouth. Dr. George Stibitz of the Bell Telephone Laboratories demonstrated publicly for the first time, at the annual meeting of the American Mathematical Society, the remote use of a computer over a communications line. The computer was a relay cal- culator designed to carry out arithmetic on complex numbers. The terminal was a Model 26 Teletype. Another milestone event occurred in the summer of 1956 when John McCarthy orga- nized at Dartmouth a summer research project on "artificial intelligence" (the first known use of this phrase). The computer scientists attending decided a new language was needed; thus was born LISP. [See the paper by McCarthy, pp. 173-185 in this volume. Ed.] 1.2. Dartmouth Comes to Computing After several brief encounters, Dartmouth's liaison with computing became permanent and continuing in 1956 through the New England Regional Computer Center at MIT, HISTORY OF PROGRAMMING LANGUAGES 515 Copyright © 1981 by the Association for Computing Machinery, Inc.
    [Show full text]
  • Simulation Higher Order Language Requirements Study
    DOCUMENT RESDEE ED .162 661 IB 066 666 AUTHOR Goodenough, John B.; Eraun, Christine I. TITLE Simulation Higher Order ,Language Reguiresents Study. INSTITUTION' SofTech, Inc., Waltham, Mass. SPONS'AGENCY Air Force Human Resources Lab., Broca_APE,' Texas. REPORT NO AFHPI-TE-78-34 PUB DATE ,Aug 78 NOTE 229.; Not available in hard' copy due to iarginal legibility of parts of document AVAILABLE FROM'Superintendent of Docusents, U.S. Government Printing' Office, Washington, L.C. 20402 (1978-771-122/53) EDRS PRICE MF-$0.83 Plus Postage. EC Not Availatle from EDRS. DESCRIPTORS *Comparative Analysis; Computer Assisted Instruction; *Computer Programs; Evaluation Criteria; Military Training; *Needs Assessment; *Prograaing Iangbaqes; *Simulation IDENTIFIERS FORTRAN; IRCNMAN; JOVIAL; PASCAL ABSTRACT The definitions provided for high order language (HOL) requirements for programming flight/ training simulators are based on the analysis of programs written fcr.a variety of simulators. Examples drawn from these programs are used to justify' the need for certain HOL capabilities. A description of the general 'K..structure and organization of the TRONEAN requirements for the DOI) Common Language effort IS followed-tyditailed specifications of simulator HOL requirements., pvi, FORTRAN, JCVIAI J3E, JCVIAL.J73I, and PASCAL are analyzed to see how well" each language satisfies the simulator HOL requirements. Results indicate that PL/I and JOVIAL J3D are the best suited for simulator programming, chile TOBIRANis clearly the least suitable language. All the larguages failed to satisfy some simulator requirements and improvement modificationsare specified Analysis of recommended modifications shows:that PL/I is the m st easily modified language. (CMV) *********************************************************************** Reproductions suppliid by EDRS are the best that can be made from the original dccumett.
    [Show full text]