Learn APL on the "00245 Raspberry Pi

Total Page:16

File Type:pdf, Size:1020Kb

Learn APL on the Learn APL on the $5 Raspberry Pi Your fast track from ideas to code Romilly Cocking This book is for sale at http://leanpub.com/learnapl This version was published on 2016-08-18 This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools and many iterations to get reader feedback, pivot until you have the right book and build traction once you do. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License Tweet This Book! Please help Romilly Cocking by spreading the word about this book on Twitter! The suggested hashtag for this book is #learnaplonthe$5pi. Find out what other people are saying about the book by clicking on this link to search for this hashtag on Twitter: https://twitter.com/search?q=#learnaplonthe$5pi This book is dedicated to Kenneth Iverson, who gave us APL, and Eben Upton, who gave us the Raspberry Pi. Contents Learn APL - book extract ............................... 1 Introduction ...................................... 2 Who should read this book ............................ 2 Early access .................................... 2 Online support ................................... 2 What you will learn. ................................ 2 Reasons to learn APL ............................... 3 Myths about APL ................................. 3 Reasons not to learn APL ............................. 4 APL power examples ............................... 5 The Try APL website ................................ 6 Running APL on your own hardware ....................... 6 Conventions in this book ............................. 6 Chapter 1 ........................................ 7 Getting started .................................. 7 Array programming without explicit loops ................... 8 Assigning values to variables .......................... 9 A shortcut to counting .............................. 10 Illuminate your code - use comments ...................... 11 Catenate ...................................... 12 System commands ................................ 12 Finishing your session .............................. 14 Exercises ...................................... 15 The Dyalog APL keyboard ............................ 15 Appendix 1 ....................................... 17 Installing APL on the Raspberry Pi ....................... 17 Learn APL - book extract This is an extract from a new Introductory book on APL. It features Dyalog’s free implementation on the Raspberry Pi, but you can also use it if you are learning Dyalog APL on Windows, OS/X or other Linux systems. I hope it will motivate you to take a look at this powerful language and help you to get started. The book is ideal if you are entering the Dyalog annual problem-solving competition. An early access version of the book is available on Leanpub. All Leanpub purchases offer an unconditional 45-day money-back guarantee, and purchasers get future updates for free. Introduction Who should read this book You should read this book if you want to • find out what programming in APL is like • learn how to use the language effectively • decide if APL is appropriate for your project • take part in the Dyalog annual APL problem-solving competition The book is written for people learning Dyalog APL. You can run Dyalog APL on a Raspberry Pi for free. There are also free educational and personal licenses available for Windows, other Linux computers and OS/X. You’ll find more information on the Dyalg APL website1 Early access The book is currently incomplete and is offered in Early Access format at a reduced price. Once you have purchased the eBook you will be entitled to future updates free of charge, and you are also covered by Leanpub’s 45 day unconditional money-back guarantee. Online support The book now has a Google Group2 to support reviewers and readers. What you will learn. You’ll learn enough APL to write useful code and you will be able to continue your exploration of APL using other resources. This book does not cover advanced topics like web applications, GUIs or interfaces with the Operating System. It does suggest resources which cover those topics. One great fact about APL is that you can do a lot with a little knowledge. In the section on APL power examples later in this introduction you can see some of the code you’ll have mastered in the first three chapters of this book. 1http://www.dyalog.com/ 2https://groups.google.com/forum/#!forum/learn-apl Introduction 3 Reasons to learn APL Here are some good reasons to learn this powerful language 1. APL is concise and expressive, so you can try out new ideas very quickly. 2. APL is focused on arrays, so it will change the way you think about programming (in a good way). 3. APL is challenging and fun, so it will help you stretch your mind. 4. The APL community is full of bright and helpful people, so you will expand your network of contacts. 5. The demand for APL developers exceeds the supply, so knowing APL can help you find a job. Myths about APL Here’s a story from APL’s distant past. It was originally told by Professor Alan Perlis, one of the giants of Computer Science. Ken (Iverson) was showing some slides — and one of his slides had something on it that I was later to learn was an APL one-liner. And he tossed this off as an example of the expressiveness of the APL notation. I believe the one-liner was one of the standard ones for indicating the nesting level of the parentheses in an algebraic expression. But the one- liner was very short — ten characters, something like that — and having been involved with programming things like that for a long time and realizing that it took a reasonable amount of code to do, I looked at it and said, “My God, there must be something in this language.” Bauer, on my left, didn’t see that. What he saw or heard was Ken’s remark that APL is an extremely appropriate language for teaching algebra, and he muttered under his breath to me, in words I will never forget, “As long as I am alive, APL will never be used in Munich.” And Dijkstra, who was sitting on my other side, leaned toward Bauer and said, “Nor in Holland.” The three of us were listening to the same lecture, but we obviously heard different things. Taken from a transcription of a talk given by Professor Perlis at the APL’78 Conference held at Foothill College, Los Altos, CA. on 1978-03-29. via Roger Hui. You can read the full transcript here3 One of the many things that distinguished Perlis was his growth mindset4. Some people don’t have that growth mindset. They look at what’s different about APL, or recall myths that they have heard, and decide to ignore the language without investigating it. Here are a few of the myths I still hear about APL, along with my perspective on them. 3http://www.jsoftware.com/papers/perlis78.htm 4http://mindsetonline.com/whatisit/about/ Introduction 4 Myth: APL is hard to read. APL is hard to read if you haven’t learned the language. So is Chinese, but there are over a billion people who can read Chinese, and APL is much, much easier to learn! It takes most people a few days to ‘get their eye in’ to the point where the APL characters no longer look strange. From then on they can read well-written APL with ease, and they can read bad APL code if they have to. Myth: APL is hard to learn It is, for some people, but not for most. I’ve taught hundreds of students, and talked to instructors who have taught thousands more. We’ve had broadly similar experiences. Of our large group of students • some became expert. They fell in love with the language and used it whenever they could. • most became competent. They used APL effectively when they needed to. • a few disliked it. • one or two became outstanding. They produced a steady stream of elegant, expressive, innovative solutions over many years. Many of the past winners of Dyalog’s annual problem solving contest learned enough APL to win the competition in one or two weeks. Myth: APL is slow Badly written APL is about as slow as badly written Python. Well-written APL is as fast as (or faster than) well-written C. Myth: APL is dead It’s true that the hundreds of thousands of 1980s customers who used IBM mainframe APL packages like ADI and ADRS have long since migrated to using databases, report generators and spreadsheets. By contrast, the number of serious APL developers has grown steadily, and today APL skills are in demand. Most of the large APL users run apprenticeship schemes or their equivalent to ensure a steady supply of skilled APL developers. Reasons not to learn APL This section intentionally left blank Introduction 5 APL power examples Here are some concise APL expressions. Each does something useful, and you will learn how and why to read and write code like these examples early in the book. The titles below tell you which chapter each example comes from. TODO: Add examples to chapters and review content plan. Histogram (Chapter 2) hist←'.⎕'[x∘.>⍳⌈/x] ⍝ display histogram of positive integer values hist 3 10 5 2 ⎕⎕⎕....... ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕ ⎕⎕⎕⎕⎕..... ⎕⎕........ Word Count (Chapter 2) wc is like the Unix word count. wc ignores leading, trailing and repeated delimiters. The default delimiter for wc is space. wc ← {⍺←' '⋄+/s<1⌽s←1,⍵∊⍺} wc 'How many beans make five?' 5 ' :"' wc 'He responded:"Can I quote you on that?"' 8 Balanced Parentheses (Chapter 2) bp returns 0 if parentheses are unbalanced, 1 if they are balanced bp←{0=+/1 ¯1 0['()'⍳⍵]} bp '((wow))' 1 bp '' 1 bp '(out of balance))' 0 Prime numbers (Chapter 3) Find all the primes up to N using the Sieve of Eratosthenes Introduction 6 primes←{(2=+⌿0=c∘.|c)/c←⍳⍵} primes 10 2 3 5 7 primes 100 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Linear Regression ()Chapter xx) TBD The Try APL website TBD Running APL on your own hardware See the appendices.
Recommended publications
  • Dyalog User Conference Programme
    Conference Programme Sunday 20th October – Thursday 24th October 2013 User Conference 2013 Welcome to the Dyalog User Conference 2013 at Deerfield Beach, Florida All of the presentation and workshop materials are available on the Dyalog 2013 Conference Attendee website at http:/conference.dyalog.com/. Details of the username and password for this site can be found in your conference registration pack. This website is available throughout the conference and will remain available for a short time afterwards – it will be updated as and when necessary. We will be recording the presentations with the intention of uploading the videos to the Internet. For this reason, please do not ask questions during the sessions until you have been passed the microphone. It would help the presenters if you can wait until the Q&A session that concludes each presentation to ask your questions. If your question can't wait, or if the presenter specifically states that questions are welcome throughout, then please raise your hand to indicate that you need the microphone. All of Dyalog's presenters are happy to answer specific questions relating to their topics at any time after their presentation. Scavenger Hunt Have fun and get to know the other delegates by participating in the scavenger hunt that is running throughout Dyalog '13. The hunt runs until 18:30 on Wednesday and prizes will be awarded at the Banquet. Team assignments, rules and the scavenger hunt list will be handed out at registration. Guests are welcome to join in as well as conference delegates. Good luck and happy hunting! For practical information, see the back cover If you have any questions not related to APL, please ask Karen.
    [Show full text]
  • Technical Program Sessions | ACM Multimedia 2010
    Technical Program Sessions | ACM Multimedia 2010 http://www.acmmm10.org/program/technical-program/technical-program-... Technical Program Sessions Tuesday, October 26 morning PLENARY PL1 Chairs: Alberto Del Bimbo, University of Firenze, I Shih-Fu Chang, Columbia University, USA Arnold Smeulders, University of Amsterdam, NL Using the Web to do Social Science Duncan Watts, Yahoo! Research Chair: Shih-Fu Chang, Columbia University, USA ORAL SESSION FULL F1 Content Automatic image tagging Chair: Yong Rui, Microsoft Research, USA Leveraging Loosely-Tagged Images and Inter-Object Correlations for Tag Recommendation Yi Shen, University of North Carolina at Charlotte Jianping Fan, University of North Carolina at Charlotte Multi-label Boosting for Image Annotation by Structural Grouping Sparsity Fei Wu, Zhejiang University Yahong Han, Zhejiang University Qi Tian, University of Texas at San Antonio Yueting Zhuang, Zhejiang University Unified Tag Analysis With Multi-Edge Graph Dong Liu, Harbin Institute of Technology Shuicheng Yan, National University of Singapore Yong Rui, Microsoft China R&D Group Hong-Jiang Zhang, Microsoft Advanced Technology Center Efficient Large-Scale Image Annotation by Probabilistic Collaborative Multi-Label Propagation Xiangyu Chen, National University of Singapore Yadong Mu, National University of Singapore Shuicheng Yan, National University of Singapore Tat-Seng Chua, National University of Singapore ORAL SESSION FULL F2 Applications / Human-centered multimedia User-adapted media access Chair: Ralf Steinmetz, University
    [Show full text]
  • Thinking in APL: Array-Oriented Solutions
    1 Thinking in APL: Array-oriented Solutions (Part 1) Richard Park 2 Thinking in APL: Array-oriented Solutions Tool of thought Language & thought Primitives Idioms 3 Thinking in APL: Array-oriented Solutions Array as the unit Direct expression Techniques Heuristics 4 This Webinar Food for thought Secret sauce 5 Notation as a Tool of Thought Iverson, K.E., 2007. In ACM Turing award lectures (p. 1979). 6 Notation as a Tool of Thought Ease of expressing constructs arising in problems. Suggestivity. Ability to subordinate detail. Economy. Amenability to formal proofs. 7 Notation as a Tool of Thought Design Patterns vs Anti pattern in APL by Aaron W Hsu at FnConf17 https://www.youtube.com/watch?v=v7Mt0GYHU9A 8 Language as a Tool of Thought Expression Suggestivity Subordination of detail Economy 9 Economy A Conversation with Arthur Whitney (ACM 2009) Brian Cantrill & Arthur Whitney AW: … we can remember seven things. BC: Right. People are able to retain a seven-digit phone number, but it drops off quickly at eight, nine, ten digits. AW: If you‘re Cantonese, then it’s ten. I have a very good friend, Roger Hui, who implements J. He was born in Hong Kong but grew up in Edmonton as I did. One day I asked him, “Roger, do you do math in English or Cantonese?” He smiled at me and said, “I do it in Cantonese because it‘s faster and it’s completely regular.” 10 APL Thinking? The thought process of someone using APL - Primitive functions and operators - Translating natural language algorithm descriptions - Translating pseudo code - Translating code from
    [Show full text]
  • APL / J by Seung­Jin Kim and Qing Ju
    APL / J by Seung-jin Kim and Qing Ju What is APL and Array Programming Language? APL stands for ªA Programming Languageº and it is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while he was at Harvard University[Bakker 2007, Wikipedia ± APL]. Array programming language, also known as vector or multidimensional language, is generalizing operations on scalars to apply transparently to vectors, matrices, and higher dimensional arrays[Wikipedia - J programming language]. The fundamental idea behind the array based programming is its operations apply at once to an entire array set(its values)[Wikipedia - J programming language]. This makes possible that higher-level programming model and the programmer think and operate on whole aggregates of data(arrary), without having to resort to explicit loops of individual scalar operations[Wikipedia - J programming language]. Array programming primitives concisely express broad ideas about data manipulation[Wikipedia ± Array Programming]. In many cases, array programming provides much easier methods and better prospectives to programmers[Wikipedia ± Array Programming]. For example, comparing duplicated factors in array costs 1 line in array programming language J and 10 lines with JAVA. From the given array [13, 45, 99, 23, 99], to find out the duplicated factors 99 in this array, Array programing language J©s source code is + / 99 = 23 45 99 23 99 and JAVA©s source code is class count{ public static void main(String args[]){ int[] arr = {13,45,99,23,99}; int count = 0; for (int i = 0; i < arr.length; i++) { if ( arr[i] == 99 ) count++; } System.out.println(count); } } Both programs return 2.
    [Show full text]
  • Contract No. 1423-13627
    CONTRACT NO. 1423-13627 PAVEMENT MANAGEMENT SERVICES SECTION NO. 12-6CHAP-02-KS BETWEEN ~% I I) Ml a~ COOK COUNTY GOVERNMENT Department of Transportation and Highways Dynatest Consulting, Inc. APPROVen ev 80A» F COOK CO<We t.'0M@68@«E+ YAP; .'', I 7~~15 Cook County Contract No. 1423-13627 Pavement Management Services PROFESSIONAL SERVICES AGREEMENT TABLE QF CQNTKNTS TERMS AND CONDITIONS ................................................. ARTICLE 1) INCORPORATION OF BACKGROUND ....... ARTICLE 2) DEFINITIONS .................................................. a) Definitions ...............................,.............................,...........,. b).Interpretation ...............................,.....,.............,...,............... c).Incorporation of Exhibits ............................................... ARTICLE 3) DUTIES AND RESPONSIBILITIES OF CONSULTANT..... a) Scope of Services................................................................. b) Deliverables ........................,................................................ c) Standard of Performance ..................................................... d) Personnel ...........................,.....................,........,............ e) Minority and Women's Business Enterprises Commitm ent ........ f) Insurance .............................................................................. g) Indemnification.................................................................... 'h) Confidentiality and Ownership of Documents .................... i) Patents, Copyrights and Licenses
    [Show full text]
  • ACM Multimedia 2010 - Worldwide Premier Multimedia Conference - 25-29 October 2010 - Florence (I)
    ACM Multimedia 2010 - worldwide premier multimedia conference - 25-29 October 2010 - Florence (I) Conference Program Attendees General History People Program at a glance Technical Program Competitions Interactive Art Exhibit Tutorials Workshops Registration Travel Accommodation Venues Instructions for Presenting Authors You are here: Home Welcome to the ACM Multimedia 2010 website Sponsors Social ACM Multimedia 2010 is the worldwide premier multimedia conference and a key event to display scientific achievements and innovative industrial products. The Conference offers to scientists and practitioners in the area of Multimedia plenary scientific and technical sessions, tutorials, panels and discussion meetings on relevant and challenging questions for the next years horizon of multimedia. The Interactive Art program ACM Multimedia 2010 will provide the opportunity of interaction between artists and computer scientists and investigation on the application of multimedia technologies to art and cultural heritage. Please look inside the ACM MULTIMEDIA Website for more information. Conference videos online! By WEBCHAIRS | Published: FEBRUARY 4, 2011 A. Del Bimbo – Opening Shih-Fu Chang – Opening A. Smeulders – Opening D. Watts – Keynotes M. Shah – Keynotes R. Jain – Tech. achiev. award E. Kokiopoulou – SIGMM award S. Bhattacharya – Best papers ACM Multimedia 2010 Twitter http://www.acmmm10.org/[20/11/2011 7:16:00 PM] ACM Multimedia 2010 - worldwide premier multimedia conference - 25-29 October 2010 - Florence (I) S. Tan – Best papers R. Hong – Best papers S. Milani – Best papers Exhibit VideoLectures.net has finally released the videos of the important events recorded during the conference! ACM Multimedia 2010 Best Paper and Demos Awards at Gala Dinner By WEBCHAIRS | Published: OCTOBER 29, 2010 ACM Multimedia 2010 Gala Dinner was held yesterday in Salone dei 500 at Palazzo Vecchio.
    [Show full text]
  • Contents Page Editorial: 2
    VECTOR Vol.21 No.4 Contents Page Editorial: 2 RESPONSES Thoughts on the Urn Problem Eddie Clough 4 CRCOMPARE in J Adam Dunne 7 NEWS News from Sustaining Members 10 Product Guide Gill Smith 13 DISCOVER At Play with J: Metlov’s Triumph Gene McDonnell 25 Functional Programming in Joy and K Stevan Apter 31 Function Arrays in APL Gianluigi Quario 39 LEARN A Suduko Solver in J Roger Hui 49 Sudoku with Dyalog APL John Clark & Ellis Morgan 53 APL+WebComponent (Part 2) Deploy your APL+Win Application on the Web Eric Lescasse 62 APL Idioms Ajay Askoolum 92 Review Mathematical Computing in J (Howard Peelle) Cliff Reiter 97 J-ottings 44: So easy a Child of Ten ... Norman Thomson 101 Zark Newsletter Extracts edited by Jonathan Barman 108 Crossword Solution 116 PROFIT Developer Productivity with APLX v3 and SQL Ajay Askoolum 117 Index to Advertisers 143 1 VECTOR Vol.21 No.4 Editorial: Discover, Learn, Profit The BAA’s mission is to promote the use of the APLs. This has two parts: to serve APL programmers, and to introduce APL to others. Printing Vector for the last twenty years has addressed the first part, though I see plenty more to do for working programmers – we publish so little on APL2, for example. But it does little to introduce APL to outsiders. If you’ve used the Web to explore a new programming language in the last few years, you will have had an experience hard to match with APL. Languages and technologies such as JavaScript, PHP, Ruby, ASP.NET and MySQL offer online reference material, tutorials and user forums.
    [Show full text]
  • Kenneth E. Iverson
    VECTOR Vol.23 N°4 An autobiographical essay Kenneth E. Iverson Ken and Donald McIntyre worked on what was to be The Story of APL & J in 2004 through a series of e-mail messages, with the last e-mail from Ken coming in the morning of Saturday, 2004-10-16. Now Donald McIntyre’s health prevents him continuing work on The Story of APL & J. The following autobiographical sketch has been extracted from the manu- script, which Vector hopes eventually to publish in its entirety. Donald McIntyre emphasises that the text of the sketch is in Ken’s own words. Vector is grateful for Roger Hui’s help with preparing it and for adding the endnotes. Ed. Preamble My friend Dr Donald McIntyre has a penchant for well-documented historical treatments of topics that interest him. His more important works concern his chosen discipline of geology; notably his discovery and discussion of the lost drawings of James Hutton, and his commemorative works on the occasion of Hutton’s bicen- tennial. Because of his fruitful use of my APL programming language, and its derivative language J, Donald has asked me many questions concerning their development. I finally suggested (or perhaps agreed to) the writing of a few thoughts on these and related matters. Because of my other interests in developing and applying J, I have deferred work on these essays, but now realise that the further application of J has already fallen into younger and better hands, such as those of Professor Clifford Reiter in his Fractals, Visualization, and J [1].
    [Show full text]
  • New Release of Sharp Apl
    JULY/AUGUST 1981 Volume 9/Number 4 ENHANCEMENTS IN NEW RELEASE OF SHARP APL Paul Berry, Palo Alto Twice a year I.P. Sharp Associates brings out a new release of SHARP APL to its time-sharing customers and to the installations that run SHARP APL in-house. While such things are hard to quantify, it seems fair to say that the June '81 release contains more significant new features than any since files were first added to APL \360 in 1970. (see over) MAJOR NETWORK CHANGE Roger Moore, Toronto During May a major change was made in network software: the method used to route data between a terminal and an APL T-task has been altered. The change will allow a larger and a more complex network. Complex interconnection provides more protection for the user against LINES DOWN, with more than one route from a terminal to APL. At the same time, protection against network errors caused by very badly delayed packets has been incorporated into the system. The network topology has already been modified to take advantage of the new software. Links have been installed between Seattle and Vancouver and between San Francisco and Newport Beach. These new links provide extra paths to APL for Californian and western Canadian nodes. The chance of getting a continuing LINES DOWN condition is reduced by the new software and the new links. (see page Tl) IN THIS ISSUE System News IO ub cription Fee removed 13 APL 82 Heidelberg. I Enhancements in the New from El "R.OCHARTS Publications Release of SHARP APL.
    [Show full text]
  • Programming Language) 1 APL (Programming Language)
    APL (programming language) 1 APL (programming language) APL Paradigm array, functional, structured, modular Appeared in 1964 Designed by Kenneth E. Iverson Developer Kenneth E. Iverson Typing discipline dynamic Major implementations IBM APL2, Dyalog APL, APL2000, Sharp APL, APLX Dialects A+, Dyalog APL, APLNext Influenced by mathematical notation [1] [2] [3] [4] Influenced J, K, Mathematica, MATLAB, Nial, PPL, Q APL (named after the book A Programming Language)[5] is an interactive array-oriented language and integrated development environment which is available from a number of commercial and non-commercial vendors[6] and for most computer platforms.[7] It is based on a mathematical notation developed by Kenneth E. Iverson. APL has a combination of unique and relatively uncommon features that appeal to programmers and make it a productive programming language:[8] • It is concise, using symbols rather than words and applying functions to entire arrays without using explicit loops. • It is solution focused, emphasizing the expression of algorithms independently of machine architecture or operating system. • It has just one simple, consistent, and recursive precedence rule: the right argument of a function is the result of the entire expression to its right. • It facilitates problem solving at a high level of abstraction. APL is used in scientific,[9] actuarial,[8] statistical,[10] and financial applications where it is used by practitioners for their own work and by programmers to develop commercial applications. It was an important influence on the development of spreadsheets, functional programming,[11] and computer math packages.[3] It has also inspired several other programming languages.[1] [2] [4] It is also associated with rapid and lightweight development projects in volatile business environments.[12] History The first incarnation of what was later to be the APL programming language was published and formalized in A Programming Language,[5] a book describing a notation invented in 1957 by Kenneth E.
    [Show full text]
  • VECTOR Vol.26 No.2&3
    VECTOR Vol.26 No.2&3 1 VECTOR Vol.26 No.2&3 Contents Editorial John Jacob 3 News BAA Chairman’s report 2014 Paul Grosvenor 5 BAA AGM Minutes 2014 John Jacob 6 Dyalog Morten Kromberg 9 Optima Systems Ltd Paul Grosvenor 12 4xTra Alliance Chris Hogan 13 APL2000 User Conference 2014 15 General SwedAPL April 2014 Gilgamesh Athoraya 22 Minnowbrook conference review: Steve Mansour 26 September 14–18, 2013 Impending kOS Stephen Taylor 31 Searching for the state in which Wonderful Gianfranco Alongi 35 Things are inevitable APL One reason that APL is so cool Brian Becker 41 Notation as a tool of proof Robert Pullman 45 A tool of thought Dan Baronet 50 Table Diff Dhrusham Patel 61 A letter from Dijkstra on APL Roger K.W. Hui 69 Legacy code, survival strategies and Fire Kai Jaeger 76 Writing a simple Japanese dentist office Kyosuke Saigusa 92 system in APL2 J J-ottings 57, Heavens above! Norman Thomson 99 Squares, neighbours, probability, and J John C. McInturff 106 All integer partitions: J programs compared Howard A. Peelle 110 2 VECTOR Vol.26 No.2&3 Editorial Mankind only sets itself such problems as it can solve; since, looking at the matter more closely, it will always be found that the task itself arises only when the material conditions for its solution already exist or are at least in the process of formation. Karl Marx, A Contribution to the Critique of Political Economy(1859) OK so I stole the above quote form the preface to David Lewis-Williams - The Mind in the Cave(2002).
    [Show full text]
  • Programme (Pdf)
    User Meeting 2016 Programme for Dyalog '16 Sunday 9 October – Thursday 13 October 2016 User Meeting 2016 User Meeting 2016 Welcome to the Dyalog User Meeting 2016 in Glasgow All the presentation/workshop materials will be available on the Dyalog '16 webpage at http://www.dyalog.com/user-meetings/dyalog16.htm. As usual, we will be recording and publishing as many presentations as we can (as a presenter you will always have the opportunity to review the recording and approve publication). We would like to ask for your help in ensuring that question and answer sessions are also recorded; you can help by not asking questions unless you are in possession of a microphone. If your question cannot wait until the Q&A session that concludes each presentation, or if the presenter specifically states that questions are welcome throughout, please move to the microphone at the front of the Auditorium (and then wait until asked before proceeding). Naturally, everyone from Dyalog Ltd will be happy to answer questions relating to their topics at any time during the user meeting. For practical information, see the back cover If you have any questions not related to APL, please ask Karen. User Meeting 2016 Table of Contents A Message from Dyalog's CEO ................................................................... 2 Team Dyalog at Dyalog '16 .......................................................................... 2 Your Feedback ............................................................................................ 3 Birds of a Feather Discussion
    [Show full text]