1 1. Programacion Declarativa
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
The Evolution of Lisp
1 The Evolution of Lisp Guy L. Steele Jr. Richard P. Gabriel Thinking Machines Corporation Lucid, Inc. 245 First Street 707 Laurel Street Cambridge, Massachusetts 02142 Menlo Park, California 94025 Phone: (617) 234-2860 Phone: (415) 329-8400 FAX: (617) 243-4444 FAX: (415) 329-8480 E-mail: [email protected] E-mail: [email protected] Abstract Lisp is the world’s greatest programming language—or so its proponents think. The structure of Lisp makes it easy to extend the language or even to implement entirely new dialects without starting from scratch. Overall, the evolution of Lisp has been guided more by institutional rivalry, one-upsmanship, and the glee born of technical cleverness that is characteristic of the “hacker culture” than by sober assessments of technical requirements. Nevertheless this process has eventually produced both an industrial- strength programming language, messy but powerful, and a technically pure dialect, small but powerful, that is suitable for use by programming-language theoreticians. We pick up where McCarthy’s paper in the first HOPL conference left off. We trace the development chronologically from the era of the PDP-6, through the heyday of Interlisp and MacLisp, past the ascension and decline of special purpose Lisp machines, to the present era of standardization activities. We then examine the technical evolution of a few representative language features, including both some notable successes and some notable failures, that illuminate design issues that distinguish Lisp from other programming languages. We also discuss the use of Lisp as a laboratory for designing other programming languages. We conclude with some reflections on the forces that have driven the evolution of Lisp. -
Mccarthy.Pdf
HISTORY OF LISP John McCarthy A rtificial Intelligence Laboratory Stanford University 1. Introduction. 2. LISP prehistory - Summer 1956 through Summer 1958. This paper concentrates on the development of the basic My desire for an algebraic list processing language for ideas and distinguishes two periods - Summer 1956 through artificial intelligence work on the IBM 704 computer arose in the Summer 1958 when most of the key ideas were developed (some of summer of 1956 during the Dartmouth Summer Research Project which were implemented in the FORTRAN based FLPL), and Fall on Artificial Intelligence which was the first organized study of AL 1958 through 1962 when the programming language was During this n~eeting, Newell, Shaa, and Fimon described IPL 2, a implemented and applied to problems of artificial intelligence. list processing language for Rand Corporation's JOHNNIAC After 1962, the development of LISP became multi-stranded, and different ideas were pursued in different places. computer in which they implemented their Logic Theorist program. There was little temptation to copy IPL, because its form was based Except where I give credit to someone else for an idea or on a JOHNNIAC loader that happened to be available to them, decision, I should be regarded as tentatively claiming credit for It and because the FORTRAN idea of writing programs algebraically or else regarding it as a consequence of previous decisions. was attractive. It was immediately apparent that arbitrary However, I have made mistakes about such matters in the past, and subexpressions of symbolic expressions could be obtained by I have received very little response to requests for comments on composing the functions that extract immediate subexpresstons, and drafts of this paper. -
Hackers and Painters: Big Ideas from the Computer
HACKERS & PAINTERS Big Ideas from the Computer Age PAUL GRAHAM Hackers & Painters Big Ideas from the Computer Age beijing cambridge farnham koln¨ paris sebastopol taipei tokyo Copyright c 2004 Paul Graham. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly & Associates books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Allen Noren Production Editor: Matt Hutchinson Printing History: May 2004: First Edition. The O’Reilly logo is a registered trademark of O’Reilly Media, Inc. The cover design and related trade dress are trademarks of O’Reilly Media, Inc. The cover image is Pieter Bruegel’s Tower of Babel in the Kunsthistorisches Museum, Vienna. This reproduction is copyright c Corbis. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN13- : 978 - 0- 596-00662-4 [C] for mom Note to readers The chapters are all independent of one another, so you don’t have to read them in order, and you can skip any that bore you. -
1. with Examples of Different Programming Languages Show How Programming Languages Are Organized Along the Given Rubrics: I
AGBOOLA ABIOLA CSC302 17/SCI01/007 COMPUTER SCIENCE ASSIGNMENT 1. With examples of different programming languages show how programming languages are organized along the given rubrics: i. Unstructured, structured, modular, object oriented, aspect oriented, activity oriented and event oriented programming requirement. ii. Based on domain requirements. iii. Based on requirements i and ii above. 2. Give brief preview of the evolution of programming languages in a chronological order. 3. Vividly distinguish between modular programming paradigm and object oriented programming paradigm. Answer 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN John Backus 1957 COBOL CODASYL, ANSI, ISO 1959 JOSS Cliff Shaw, RAND 1963 BASIC John G. Kemeny, Thomas E. Kurtz 1964 TELCOMP BBN 1965 MUMPS Neil Pappalardo 1966 FOCAL Richard Merrill, DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL 58 Friedrich L. Bauer, and co. 1958 ALGOL 60 Backus, Bauer and co. 1960 ABC CWI 1980 Ada United States Department of Defence 1980 Accent R NIS 1980 Action! Optimized Systems Software 1983 Alef Phil Winterbottom 1992 DASL Sun Micro-systems Laboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOL W Niklaus Wirth, Tony Hoare 1966 APL Larry Breed, Dick Lathwell and co. 1966 ALGOL 68 A. Van Wijngaarden and co. 1968 AMOS BASIC FranÇois Lionet anConstantin Stiropoulos 1990 Alice ML Saarland University 2000 Agda Ulf Norell;Catarina coquand(1.0) 2007 Arc Paul Graham, Robert Morris and co. 2008 Bosque Mark Marron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* Thinking Machine 1987 Actor Charles Duff 1988 Aldor Thomas J. Watson Research Center 1990 Amiga E Wouter van Oortmerssen 1993 Action Script Macromedia 1998 BeanShell JCP 1999 AngelScript Andreas Jönsson 2003 Boo Rodrigo B. -
NAME: SHOSAN HADIJAT ABIMBOLA MATRIC NO:17/SCI01/076 1I). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN
NAME: SHOSAN HADIJAT ABIMBOLA MATRIC NO:17/SCI01/076 1i). UNSTRUCTURED LANGUAGE DEVELOPER DATE Assembly Language 1949 FORTRAN JohnBackus 1957 COBOL CODASYL,ANSI,ISO 1959 JOSS CliffShaw,RAND 1963 BASIC JohnG.Kemeny,ThomasE.Kurtz 1964 TELCOMP BBN 1965 MUMPS NeilPappalardo 1966 FOCAL RichardMerrill,DEC 1968 STRUCTURED LANGUAGE DEVELOPER DATE ALGOL58 FriedrichL.Bauer,andco. 1958 ALGOL60 Backus,Bauerandco. 1960 ABC CWI 1980 Ada UnitedStatesDepartmentofDefence 1980 AccentR NIS 1980 Action! OptimizedSystemsSoftware 1983 Alef PhilWinterbottom 1992 DASL SunMicro-systemsLaboratories 1999-2003 MODULAR LANGUAGE DEVELOPER DATE ALGOLW NiklausWirth,TonyHoare 1966 APL LarryBreed,DickLathwellandco. 1966 ALGOL68 A.VanWijngaardenandco. 1968 AMOSBASIC FranÇois Lionet anConstantin 1990 Stiropoulos AliceML SaarlandUniversity 2000 Agda UlfNorell;Catarinacoquand(1.0) 2007 Arc PaulGraham,RobertMorrisandco. 2008 Bosque MarkMarron 2019 OBJECT-ORIENTED LANGUAGE DEVELOPER DATE C* ThinkingMachine 1987 Actor CharlesDuff 1988 Aldor ThomasJ.WatsonResearchCenter 1990 AmigaE WoutervanOortmerssen 1993 ActionScript Macromedia 1998 BeanShell JCP 1999 AngelScript AndreasJönsson 2003 Boo RodrigoB.DeOliveria 2003 AmbientTalk Softwarelanguageslab,Universityof Brussels 2006 Axum Microsoft 2009 1ii) a. Scientific Domain LANGUAGE DEVELOPER DATE FORTRAN JohnBackusandIBM 1950 APT DouglasT.Ross 1956 PL/I IBM 1964 AMPL AMPLOptimization,Inc. 1966 MATLAB MathWorks 1984 J KennethE,Iverson,RogerHui 1990 Ch HarryH.Cheng 2001 Julia JeffBezanson,AlanEdelmanandco. 2012 Cuneiform JörgenBrandt -
LISP Session
LISP Session Chairman: Barbara Liskov Speaker: John McCarthy Discussant: Paul Abrahams PAPER: HISTORY OF LISP John McCarthy 1. Introduction This paper concentrates on the development of the basic ideas and distinguishes two periods--Summer 1956 through Summer 1958, when most of the key ideas were devel- oped (some of which were implemented in the FORTRAN-based FLPL), and Fall 1958 through 1962, when the programming language was implemented and applied to problems of artificial intelligence. After 1962, the development of LISP became multistranded, and different ideas were pursued in different places. Except where I give credit to someone else for an idea or decision, I should be regarded as tentatively claiming credit for it or else regarding it as a consequence of previous deci- sions. However, I have made mistakes about such matters in the past, and I have received very little response to requests for comments on drafts of this paper. It is particularly easy to take as obvious a feature that cost someone else considerable thought long ago. As the writing of this paper approaches its conclusion, I have become aware of additional sources of information and additional areas of uncertainty. As a programming language, LISP is characterized by the following ideas: computing with symbolic expressions rather than numbers, representation of symbolic expressions and other information by list structure in the memory of a computer, representation of in- formation in external media mostly by multilevel lists and sometimes by S-expressions, a small -
Flexible Supply Chain Simulation
J. Manuel Feliz-Teixeira Flexible Supply Chain Simulation Thesis 01 MARCH 2006 Text submitted in partial fulfilment for the degree of Doctor in Sciences of Engineering Supervisor António E. S. Carvalho Brito Advisor Richard Saw RESEARCH SPONSORED BY THE: THROUGH THE: PUBLISHER: Publindústria® Produção de Comunicação, Lda. EUROPEAN UNION European Social Fund (III framework) Copyright: Ó J. Manuel Feliz-Teixeira All rights reserved First Edition: Porto, 1 March 2006 ISBN: 972-8953-04-6 Legal deposit: 239362/06 Original cover art: Jorge Pereira Publisher: Publindústria, Produção de Comunicação Pr. Da Corujeira, 38 – Apt.3825 4300-144 Porto Portugal Tel: +351.22.589.96.20 Fax: +351.22.589.96.29 Email: [email protected] URL: http://www.publindustria.pt Flexible Supply Chain Simulation Thesis J. Manuel Feliz-Teixeira* 01 March 2006 Text submitted in partial fulfilment for the degree of Doctor in Sciences of Engineering Supervisor: António E. S. Carvalho Brito Advisor: Richard Saw Research sponsored by the: European Social Fund (III framework) Through the: * Complete name: José Manuel Feliz Dias Teixeira i To my mother and my father, and my old professors of Physics. J. Manuel Feliz-Teixeira IMPORTANT NOTE: NOTA IMPORTANTE: The contents of this text are registered with the Portuguese Society of Authors and protected by the law of intellectual rights, including the copyright. No reproductions or publications are allowed without the expressed permission of the author. O conteúdo desta tese encontra-se registado na Sociedade Portuguesa de Autores e está protegido pela lei geral e específica dos direitos de autor, morais e patrimoniais (copyright). Não é permitida qualquer reprodução ou publicação sem o expresso consentimento do autor. -
Computer Programming 1
Computer programming 1 Computer Programming Copyright © Milo Except where noted, all text is copyright Milo. Unless otherwise specified, all materials in this book are owned by the original copyright holder. PDF version of October 2007 This PDF is version 0 from 14 October 2007. The intent of this free downloadable college text book is to attempt to directly help poor and middle class students with the high cost of college text books by providing a high quality free alternative that can be used in the classroom for a subject that most college students are required to take. This free downloadable book is based on and includes materials from http://www.OSdata.com . Materials from OSdata.com have already been used in more than 300 colleges and universities around the world and have been quoted in studies and policy decisions by the U.S. Navy and the government of the Federal Republic of Germany. This is still a work in progress. Feedback and constructive criticism appreciated (especially feedback from professors who might want to use the finished book). While this book is still being written, professors are free to use specific chapters (or portions of chapters) as class handouts to supplement existing for-profit text books. This same policy will continue to apply after the book is completed, but this policy offers usefulness for many classes right now today even though the book is still incomplete. Poor students should not feel bad about using this book for free. You are exactly who this book is intended to help. You may optionally do volunteer work for the charitable organization of your choice (not political or religious activity — actual work for a charitable organization helping the poor, the elderly, the sick, the disabled, or the environment, etc.). -
<[email protected]> Sent: Tuesday, May 22, 2018 5:32 PM To
From: [email protected] <[email protected]> Sent: Tuesday, May 22, 2018 5:32 PM To: Smith, Ashley <[email protected]>; Neufeld, Darin <[email protected]> Subject: Golden Door Comment on Newland Sierra GHG Mitigation Attached is a comment letter from Kathy Van Ness of the Golden Door on the Newland Sierra project. Christine Sherer Legal Secretary LATHAM & WATKINS LLP 12670 High Bluff Drive San Diego, CA 92130 Direct Dial: +1.858.523.5440 Fax: +1.858.523.5450 Email: [email protected] http://www.lw.com This email may contain material that is confidential, privileged and/or attorney work product for the sole use of the intended recipient. Any review, disclosure, reliance or distribution by others or forwarding without express permission is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies including any attachments. Latham & Watkins LLP or any of its affiliates may monitor electronic communications sent or received by our networks in order to protect our business and verify compliance with our policies and relevant legal requirements. Any personal information contained or referred to within this electronic communication will be processed in accordance with the firm's privacy notices and Global Privacy Standards available at www.lw.com. Darin Neufeld Ashley Smith Planning and Development Services County of San Diego 5510 Overland Avenue, Suite 310 San Diego, CA 92123 Dear Mr. Neufeld and Ms. Smith: I am writing on behalf of the Golden Door, to follow up my letter in January of this year asking that the County of San Diego (County) to do its part to ensure that greenhouse gas (GHG) emissions are reduced within the County. -
Report on Common Lisp to the Interlisp Community
Masinter & vanMelle on CommonLisp, circa Dec 1981. Subject: Report on Common Lisp to the Interlisp Community Introduction What is Common Lisp? Common Lisp is a proposal for a new dialect of Lisp, intended be implemented on a broad class of machines. Common Lisp is an attempt to bring together the various implementors of the descendents of the MacLisp dialect of Lisp. The Common Lisp effort is apparently an outgrowth of the concern that there was a lack of coordination and concerted effort among the implementors of the descendents of MacLisp. Common Lisp's principal designers come from the implementors of Lisp Machine Lisp (at MIT and Syrnbolics), Spice Lisp (at CMU), NIL (both a VAX implementation at MIT and the S-1 implementation at Lawrence Livermore), and MacLisp (at MIT, of course.) Also contributing, but not strongly represented, are Standard Lisp (at Utah) and Interlisp (at PARC, BBN and ISI.) Programs written entirely in Common Lisp are supposed to be readily run on any machine supporting Common Lisp. The language is being designed with the intent first of creating a good language, and only secondarily to be as compatible as practical with existing dialects (principally Lisp Machine Lisp.) Common Lisp attempts to draw on the many years of experience with existing Lisp dialects; it tries to avoid constructs that are obviously machine-dependent, yet include constructs that have the possibility of efficient implementation on specific machines. Thus, there are several different goals of Common Lisp: (1)to profit from previous experience in Lisp systems, (2) to make efficient use of new and existing hardware, and (3) to be compatible with existing dialects. -
Universidade Federal De Minas Gerais Metodologia
UNIVERSIDADE FEDERAL DE MINAS GERAIS Escola de Engenharia Departamento de Engenharia de Produção Luiz Carlos Nogueira Júnior METODOLOGIA PARA A SELEÇÃO DE TÉCNICAS DE PESQUISA OPERACIONAL NA ÁREA DE SAÚDE Belo Horizonte 2015 Luiz Carlos Nogueira Júnior METODOLOGIA PARA A SELEÇÃO DE TÉCNICAS DE PESQUISA OPERACIONAL NA ÁREA DE SAÚDE Tese apresentada ao Programa de Pós- Graduação em Engenharia de Produção da Universidade Federal de Minas Gerais, como requisito parcial à obtenção do título de Doutor em Engenharia de Produção. Área de Concentração: Otimização de Sistemas Logísticos e de Grande Porte. Orientador: Prof. Dr. Luiz Ricardo Pinto. Coorientadora: Profa. Dra. Leise Kelli de Oliveira. Belo Horizonte Escola de Engenharia - UFMG 2015 AGRADECIMENTOS A Deus, pelo dom da existência. Ao orientador, Professor Dr. Luiz Ricardo Pinto, pelas valiosas orientações e suporte nas horas mais complicadas, sempre com uma palavra amiga e sensata. À coorientadora, Professora Dra. Leise Kelli de Oliveira, pelo acompanhamento do trabalho, pelos grandes conselhos e por sua disponibilidade sempre generosa. Aos professores e demais funcionários do Departamento de Engenharia de Produção da Universidade Federal de Minas Gerais (UFMG), em especial aos Professores Doutores Ricardo Saraiva de Camargo e Lin Chih Cheng, pelas importantes ponderações e ensinamentos desde o início do mestrado. Agradeço em especial aos meus pais, Luiz Carlos Nogueira e Ana Lúcia Janoni Nogueira, minhas maiores referências de amor, caráter e sabedoria. A Paloma Freitas Araújo, pelo amor, carinho, respeito e parceria incondicional nestes últimos 12 anos. A Vívian Lúcia Nogueira e Isabela Janoni, pelo amor e carinho sempre por perto. Aos amigos e familiares tão queridos que estiveram sempre próximos e atentos nessa caminhada. -
LM-Prolog the Language and Its Implementation
UPMAIL Technical Report No. 30 . LM-Prolog The Language and Its Implementation Mats Carlsson March 29, 1986 UPMAIL Uppsala Programming Methodology and Artificial Intelligence Laboratory Department of Computing Science, Uppsala University P.O. Box 2059 S-750 02 Uppsala Sweden Domestic 018 155400 ext. 1860 International +46 18 111925 Telex 76024 univups s This report was written in partial fulfillment of the requirements for the degree of' Licentiat of Philosophy in Computing Science at Uppsala University. The research reported herein was sponsored by the National Swedish Board for Technical Development (STU). Keywords: Prolog, Logic Programming, Unification, Lisp, :U'unctionaJ Programming, Continuations, Compiling Contents iii lo Introduction o .••••..• o , ...... " ........ " .. " ., •.. ., . o .. " ......... " ..•• o •.. 4 1.1 Overview ....... o .. , ........................................ o •••••••• ., 4 1.2 Language and Computational Model ................................. 4 1.3 Construction of Complex Terms ..................................... 5 1.3.1 Structure Sharing (SS) ......................................... 5 1.3.2 Copying Pure Code (CPO) ....................... ,, .............. 5 1.3.3 Invisible Pointers ........ , .................................... 6 1.3.4 Object and Source Ter1ns ................ , ...................... 6 1.4 Logic Programming in a Functional Setting ............................ 6 1.4.1 Continuation Passing ...... o ••••••• , • " 6 o ................. " ••••• o 7 1.4.2 Realization of Continuations