Object Oriented Programming with Smalltalk

Total Page:16

File Type:pdf, Size:1020Kb

Object Oriented Programming with Smalltalk 2EMHFW2ULHQWHG3URJUDPPLQJZLWK 6PDOOWDON by Bryce Hendrix Disclaimer: This document is provided for educational purposes, and contains some non- original content. If you are the author of any material included in this document and would like it removed, please send mail to Bryce Hendrix at KHQGUL[#HQJUDUL]RQDHGX and it will be removed immediately. Contents of this document cannot be used for commercial usage without explicit permission from the author. 2 /HFWXUH:KDWLVDQ2EMHFW" BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 5XOHVRI6PDOOWDON BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • :KDW¶VVSHFLDODERXWDQ2EMHFW" BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 22YHUVXV3URFHGXUDO$SSURDFKWRSURJUDPPLQJ BBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH&ODVVHVDQG,QVWDQFHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,QVWDQFH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV+LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0HVVDJHV0HWKRGVDQG3URJUDPPLQJLQ6PDOOWDON BBBBBBBBBBBBBBBBB • 0HVVDJHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRGVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3URJUDPPLQJLQ6PDOOWDON BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH22&ODVVLILFDWLRQ7HFKQLTXHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6SHFLDOL]DWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • $EVWUDFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RPSRVLWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • )DFWRUL]DWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH(QFDSVXODWLRQ 3RO\PRUSKLVP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • (QFDSVXODWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3RO\PRUSKLVP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH223DVV3URFHVV±DQ,QYHVWPHQW0DQDJHU BBBBBBBBBBBBBBBBBBBBBB • 3DVV$EVWUDFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DVV$EVWUDFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DVV&RPSRVLWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DVV)DFWRUL]DWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH2EMHFW&ODVVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • )XQFWLRQDOLW\RIDQREMHFW BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RPSDULVRQRIREMHFWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RS\LQJREMHFWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • $FFHVVLQJLQGH[HGYDULDEOHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0HVVDJHV 0HWKRGV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HVVDJH([SUHVVLRQV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRG/RRNXS BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 3 /HFWXUH9DULDEOHVDQG5HWXUQYDOXHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRGDUJXPHQWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7HPSYDULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,QVWDQFHYDULDEOHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVVLQVWDQFHYDULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV9DULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • *OREDO9DULDEOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 5HWXUQ9DOXHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH%ORFNVDQG%UDQFKLQJ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • %ORFNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV%RROHDQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • %UDQFKLQJ &RQWURO6WUXFWXUHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH5HSRUWLQJ(UURUVDQG'HEXJJLQJWHFKQLTXHV BBBBBBBBBBBBBBBBBBBBBB • (UURU+DQGOLQJ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HVVDJH+DQGOLQJ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &ODVV8QGHILQHG2EMHFW BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HEXJJLQJBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • KDOW BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH'HVLJQLQJDQGLPSOHPHQWLQJFODVVHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6WHSVWRGHYHORSDVSHFLILFDWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7KHPHVVDJHSURWRFRO BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6WHSVWRLPSOHPHQWLQJDFODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HVFULELQJDFODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6WDUWLQJ9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 9LVXDO:RUNV/DXQFKHUBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB :RUNVSDFH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 8VLQJWKH0RXVHDQGWKH3RS8S0HQXV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6HWWLQJXS9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2QOLQH'RFXPHQWDWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6\VWHP%URZVHU BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB )LOLQJ,QDQG)LOLQJ2XW&RPSRQHQWV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Filing In ________________________________________________________________________ 48 Filing Out_______________________________________________________________________ 49 4 6WDUWLQJDQ$SSOLFDWLRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6DYLQJ<RXU:RUN BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0RUHRQWKH%DVLF9LVXDO:RUNV(QYLURQPHQW BBBBBBBBBBBBBBBBBBBBB :RUNVSDFHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 7KH7UDQVFULSWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB (GLWLQJLQ9LVXDO:RUNV:LQGRZV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 8VLQJD%URZVHU BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $GGLQJD1HZ0HWKRG BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $GGLQJ1HZ&ODVVHVRU0HWKRGV)URP([WHUQDO)LOHV BBBBBBBBBBBBBBBBBBBBBBBBBBBB &KDQJLQJ([LVWLQJ0HWKRGV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $GGLQJD1HZ&ODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6DYLQJ&RGHLQWRD)LOH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH6\VWHP 0DJQLWXGH&ODVVHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 2YHUYLHZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6KDUHG2EMHFW3URWRFROVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • EDVLFVXEFODVVHVRIWKH0DJQLWXGHFODVV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0HWKRGVSURYLGHGIRUFRPSDULVRQBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ([DPSOH0RUHPHWKRGVIRUFRPSOH[QXPEHUV BBBBBBBBBBBBBBBBBBBBBBBBBB • 3DUWLDO+LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7\SH&RQYHUVLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 7UXQFDWLRQIORRUFHLOLQJDQGUHPDLQGHUV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 0DWKHPDWLFDO2SHUDWLRQV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'DWHDQG7LPH BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH&ROOHFWLRQ&ODVVHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6PDOOWDON¶VRSWLPL]HG&ROOHFWLRQFODVVHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 3DUWLDO+LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,WHUDWLRQ ZKDW\RXFDQGRZLWKFROOHFWLRQV BBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH$QH[DPSOHXVLQJWKH&ROOHFWLRQ&ODVVHV BBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH6WUHDP&ODVVHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRUDOO6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRU3RVLWLRQDEOH6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRU5HDG6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 5 • ,PSRUWDQWPHWKRGVIRU:ULWH6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • ,PSRUWDQWPHWKRGVIRU([WHUQDODQG)LOH6WUHDPVBBBBBBBBBBBBBBBBBBBBBBBB • &RPPRQ0LVWDNHV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • +LHUDUFK\ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH0DWUL[([DPSOHXVLQJ6WUHDPV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH'HSHQGHQF\0HFKDQLVPVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HSHQGHQF\BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH0RGHO9LHZ&RQWUROOHU3DUDGLJP BBBBBBBBBBBBBBBBBBBBBBBBBBB • 'HILQLWLRQVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 0RGHO BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH9LHZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 9LHZ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB /HFWXUH7KH&RQWUROOHU BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $SSHQGL[9LVXDO:RUNVYHUVXV6PDOOWDON BBBBBBBBBBBBBBBBBBBBBBBBBBB 'LIIHUHQFHVIRXQGWKURXJKRXWWKHOHFWXUHQRWH¶VH[DPSOHVBBBBBBBBBBBBBBBBBB • &ODVVHVUHPRYHGIURP9LVXDO:RUNV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $SSHQGL[9LVXDO:RUNVUXOHVDQG6PDOOWDON6\QWD[ BBBBBBBBBBBBBBBBBBBBBBBB • &DSLWDOL]DWLRQUXOHVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 5HVHUYHGZRUGVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • 2SHUDWRUV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • /LWHUDOV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • &RPPHQWVBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB $SSHQGL[$/LVWRI0HWKRGVIRUWKH6\VWHP&ODVVHV BBBBBBBBBBBBBBBBBBBBBBB 0DJQLWXGHBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB &ROOHFWLRQ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 6WUHDP BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ,QGH[ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
Recommended publications
  • The Future: the Story of Squeak, a Practical Smalltalk Written in Itself
    Back to the future: the story of Squeak, a practical Smalltalk written in itself Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay [Also published in OOPSLA ’97: Proc. of the 12th ACM SIGPLAN Conference on Object-oriented Programming, 1997, pp. 318-326.] VPRI Technical Report TR-1997-001 Viewpoints Research Institute, 1209 Grand Central Avenue, Glendale, CA 91201 t: (818) 332-3001 f: (818) 244-9761 Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself by Dan Ingalls Ted Kaehler John Maloney Scott Wallace Alan Kay at Apple Computer while doing this work, now at Walt Disney Imagineering 1401 Flower Street P.O. Box 25020 Glendale, CA 91221 [email protected] Abstract Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to debug, analyze, and change. To achieve practical performance, a translator produces an equivalent C program whose performance is comparable to commercial Smalltalks. Other noteworthy aspects of Squeak include: a compact object format that typically requires only a single word of overhead per object; a simple yet efficient incremental garbage collector for 32-bit direct pointers; efficient bulk- mutation of objects; extensions of BitBlt to handle color of any depth and anti-aliased image rotation and scaling; and real-time sound and music synthesis written entirely in Smalltalk. Overview Squeak is a modern implementation of Smalltalk-80 that is available for free via the Internet, at http://www.research.apple.com/research/proj/learning_concepts/squeak/ and other sites. It includes platform-independent support for color, sound, and image processing.
    [Show full text]
  • Gnu Smalltalk Library Reference Version 3.2.5 24 November 2017
    gnu Smalltalk Library Reference Version 3.2.5 24 November 2017 by Paolo Bonzini Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". 1 3 1 Base classes 1.1 Tree Classes documented in this manual are boldfaced. Autoload Object Behavior ClassDescription Class Metaclass BlockClosure Boolean False True CObject CAggregate CArray CPtr CString CCallable CCallbackDescriptor CFunctionDescriptor CCompound CStruct CUnion CScalar CChar CDouble CFloat CInt CLong CLongDouble CLongLong CShort CSmalltalk CUChar CByte CBoolean CUInt CULong CULongLong CUShort ContextPart 4 GNU Smalltalk Library Reference BlockContext MethodContext Continuation CType CPtrCType CArrayCType CScalarCType CStringCType Delay Directory DLD DumperProxy AlternativeObjectProxy NullProxy VersionableObjectProxy PluggableProxy SingletonProxy DynamicVariable Exception Error ArithmeticError ZeroDivide MessageNotUnderstood SystemExceptions.InvalidValue SystemExceptions.EmptyCollection SystemExceptions.InvalidArgument SystemExceptions.AlreadyDefined SystemExceptions.ArgumentOutOfRange SystemExceptions.IndexOutOfRange SystemExceptions.InvalidSize SystemExceptions.NotFound SystemExceptions.PackageNotAvailable SystemExceptions.InvalidProcessState SystemExceptions.InvalidState
    [Show full text]
  • Smalltalk's Influence on Modern Programming
    1 Smalltalk’s Influence on Modern Programming Smalltalk’s Influence on Modern Programming Matt Savona. February 1 st , 2008. In September 1972 at Xerox PARC, Alan Kay, Ted Kaeher and Dan Ingalls were discussing programming languages in the hallway of their office building. Ted and Dan had begun to consider how large a language had to be to have “great power.” Alan took a different approach, and “asserted that you could define the "most powerful language in the world" in "a page of code."” Ted and Dan replied, “Put up or shut up” (Kay). And with that, the bet to develop the most powerful language was on. Alan arrived at PARC every morning at 4am for two weeks, and devoted his time from 4am to 8am to the development of the language. That language was Smalltalk. Kay had “originally made the boast because McCarthy's self-describing LISP interpreter was written in itself. It was about "a page", and as far as power goes, LISP was the whole nine- yards for functional languages.” He was sure that he could “do the same for object-oriented languages” and still have a reasonable syntax. By the eighth morning, Kay had a version of Smalltalk developed where “symbols were byte-coded and the receiving of return-values from a send was symmetric” (Kay). Several days later, Dan Ingalls had coded Kay’s scheme in BASIC, added a “token scanner”, “list maker” and many other features. “Over the next ten years he made at least 80 major releases of various flavors of Smalltalk” (Kay).
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020 by Torbj¨ornGranlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.2.1. Copyright 1991, 1993-2016, 2018-2020 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 132. i Table of Contents GNU MP Copying Conditions :::::::::::::::::::::::::::::::::::: 1 1 Introduction to GNU MP ::::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing GMP ::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Notes for Particular Systems :::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5 Known Build Problems ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6 Performance
    [Show full text]
  • Cross-Language Interop Poster
    Low Cognitive Overhead Bridging "Interoperability isn't just a technical problem, it's also a user interface problem. We have to make it easy to call between languages, so that users can The demo shown at FOSDEM always pick the most appropriate tool for the job at hand." example [ this year showed fully dynamic "This shows how to call a C function from Smalltalk" development spanning C objc_setAssociatedObject: { Objective-C and Smalltalk. The self. 42. developer can inspect the ’fishes’. existing class hierarchy and C enumValue: OBJC_ASSOCIATION_ASSIGN }. the code for any methods "Note how C enumerations can be accessed. When encountering this construct, the Pragmatic Smalltalk compiler will generate exactly the same code as an implemented in Smalltalk. It Objective-C compiler would for this line: is also possible to add, modify, objc_setAssociatedObject(self, 42, @"fishes", OBJC_ASSOCIATION_ASSIGN); or replace methods, add It will get the types for the function by parsing the header and automatically map Smalltalk types to C and Objective-C types. The instance variables and classes Easy Development programmer doesn't need to write any bridging or foreign function interface at run time. Invoking a code." nonexistent class or method (C objc_getAssociatedObject: {self . 42 }) log. ] pops up a dialog asking the user to implement it, all from within a running app. The final version is statically compiled, with no explicit user Cross-Language Interoperability for intervention required. Fast, Easy, and Maintainable Code David Chisnall The World Today: But I wanted to use the But libfoo is C, libbar Frobnicator framework, and it's I have a great idea is C++, and I want to only for Java.
    [Show full text]
  • Smalltalk Language Mapping Specification
    Smalltalk Language Mapping Specification New Edition: June 1999 Copyright 1995, 1996 BNR Europe Ltd. Copyright 1998, Borland International Copyright 1991, 1992, 1995, 1996 Digital Equipment Corporation Copyright 1995, 1996 Expersoft Corporation Copyright 1996, 1997 FUJITSU LIMITED Copyright 1996 Genesis Development Corporation Copyright 1989, 1990, 1991, 1992, 1995, 1996 Hewlett-Packard Company Copyright 1991, 1992, 1995, 1996 HyperDesk Corporation Copyright 1998 Inprise Corporation Copyright 1996, 1997 International Business Machines Corporation Copyright 1995, 1996 ICL, plc Copyright 1995, 1996 IONA Technologies, Ltd. Copyright 1996, 1997 Micro Focus Limited Copyright 1991, 1992, 1995, 1996 NCR Corporation Copyright 1995, 1996 Novell USG Copyright 1991,1992, 1995, 1996 by Object Design, Inc. Copyright 1991, 1992, 1995, 1996 Object Management Group, Inc. Copyright 1996 Siemens Nixdorf Informationssysteme AG Copyright 1991, 1992, 1995, 1996 Sun Microsystems, Inc. Copyright 1995, 1996 SunSoft, Inc. Copyright 1996 Sybase, Inc. Copyright 1998 Telefónica Investigación y Desarrollo S.A. Unipersonal Copyright 1996 Visual Edge Software, Ltd. The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified ver- sion. Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in the included material of any such copyright holder by reason of having used the specification set forth herein or having con- formed any computer software to the specification. PATENT The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use of an invention covered by patent rights.
    [Show full text]
  • Dynamic Object-Oriented Programming with Smalltalk
    Dynamic Object-Oriented Programming with Smalltalk 1. Introduction Prof. O. Nierstrasz Autumn Semester 2009 LECTURE TITLE What is surprising about Smalltalk > Everything is an object > Everything happens by sending messages > All the source code is there all the time > You can't lose code > You can change everything > You can change things without restarting the system > The Debugger is your Friend © Oscar Nierstrasz 2 ST — Introduction Why Smalltalk? > Pure object-oriented language and environment — “Everything is an object” > Origin of many innovations in OO development — RDD, IDE, MVC, XUnit … > Improves on many of its successors — Fully interactive and dynamic © Oscar Nierstrasz 1.3 ST — Introduction What is Smalltalk? > Pure OO language — Single inheritance — Dynamically typed > Language and environment — Guiding principle: “Everything is an Object” — Class browser, debugger, inspector, … — Mature class library and tools > Virtual machine — Objects exist in a persistent image [+ changes] — Incremental compilation © Oscar Nierstrasz 1.4 ST — Introduction Smalltalk vs. C++ vs. Java Smalltalk C++ Java Object model Pure Hybrid Hybrid Garbage collection Automatic Manual Automatic Inheritance Single Multiple Single Types Dynamic Static Static Reflection Fully reflective Introspection Introspection Semaphores, Some libraries Monitors Concurrency Monitors Categories, Namespaces Packages Modules namespaces © Oscar Nierstrasz 1.5 ST — Introduction Smalltalk: a State of Mind > Small and uniform language — Syntax fits on one sheet of paper >
    [Show full text]
  • Ontology-Based Chatbot for Disaster Management: Use Case Coronavirus
    TUNISIAN REPUBLIC MINISTRY OF HIGHER EDUCATION AND SCIENTIFIC RESEARCH TUNIS EL MANAR UNIVERSITY FACULTY OF SCIENCES OF TUNIS Master Thesis Submitted for a Research Master’s Degree in Computer Science By Khouloud Hwerbi Ontology-Based Chatbot for Disaster Management: Use Case CoronaVirus Defended on October 9, 2020 in front of the following jury: President Hella Kaffel Ben Ayed Associate Professor at FST Reporter Narjes Doggaz Assistant Professor at FST arXiv:2011.02340v1 [cs.AI] 2 Nov 2020 Co-Supervisor Salvatore Flavio Pileggi Lecturer at UTS Supervisor Sadok Ben Yahia Full Professor at FST In the Laboratory: LIPAH 2019–2020 Abstract Today is the era of intelligence in machines. With the advances in Artificial Intelligence, machines have started to impersonate different human traits, a chatbot is the next big thing in the domain of conversational services. A chatbot is a virtual person who is capable to carry out a natural conversation with people. They can include skills that enable them to converse with the humans in audio, visual, or textual formats. Artificial intelligence conversational entities, also called chatbots, conversational agents, or dialogue system, are an excellent example of such machines. Obtaining the right information at the right time and place is the key to effective disaster management. The term "disaster management" encompasses both natural and human-caused disasters. To assist citizens, our project is to create a COVID Assistant to provide the need of up to date information to be available 24 hours. With the growth in the World Wide Web, it is quite intelligible that users are interested in the swift and relatedly correct information for their hunt.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • OSS Alphabetical List and Software Identification
    Annex: OSS Alphabetical list and Software identification Software Short description Page A2ps a2ps formats files for printing on a PostScript printer. 149 AbiWord Open source word processor. 122 AIDE Advanced Intrusion Detection Environment. Free replacement for Tripwire(tm). It does the same 53 things are Tripwire(tm) and more. Alliance Complete set of CAD tools for the specification, design and validation of digital VLSI circuits. 114 Amanda Backup utility. 134 Apache Free HTTP (Web) server which is used by over 50% of all web servers worldwide. 106 Balsa Balsa is the official GNOME mail client. 96 Bash The Bourne Again Shell. It's compatible with the Unix `sh' and offers many extensions found in 147 `csh' and `ksh'. Bayonne Multi-line voice telephony server. 58 Bind BIND "Berkeley Internet Name Daemon", and is the Internet de-facto standard program for 95 turning host names into IP addresses. Bison General-purpose parser generator. 77 BSD operating FreeBSD is an advanced BSD UNIX operating system. 144 systems C Library The GNU C library is used as the C library in the GNU system and most newer systems with the 68 Linux kernel. CAPA Computer Aided Personal Approach. Network system for learning, teaching, assessment and 131 administration. CVS A version control system keeps a history of the changes made to a set of files. 78 DDD DDD is a graphical front-end for GDB and other command-line debuggers. 79 Diald Diald is an intelligent link management tool originally named for its ability to control dial-on- 50 demand network connections. Dosemu DOSEMU stands for DOS Emulation, and is a linux application that enables the Linux OS to run 138 many DOS programs - including some Electric Sophisticated electrical CAD system that can handle many forms of circuit design.
    [Show full text]
  • Workshopabstracts
    TENTH INTERNATIONAL CONFERENCE ON LANGUAGE RESOURCES AND EVALUATION MAY 23 – 28, 2016 GRAND HOTEL BERNARDIN CONFERENCE CENTRE Portorož , SLOVENIA WORKSHOP ABSTRACTS Editors: Please refer to each single workshop list of editors. Assistant Editors: Sara Goggi, Hélène Mazo The LREC 2016 Proceedings are licensed under a Creative Commons Attribution- NonCommercial 4.0 International License LREC 2016, TENTH INTERNATIONAL CONFERENCE ON LANGUAGE RESOURCES AND EVALUATION Title: LREC 2016 Workshop Abstracts Distributed by: ELRA – European Language Resources Association 9, rue des Cordelières 75013 Paris France Tel.: +33 1 43 13 33 33 Fax: +33 1 43 13 33 30 www.elra.info and www.elda.org Email: [email protected] and [email protected] ISBN 978-2-9517408-9-1 EAN 9782951740891 ii TABLE OF CONTENTS W12 Joint 2nd Workshop on Language & Ontology (LangOnto2) & Terminology & Knowledge Structures (TermiKS) …………………………………………………………………………….. 1 W5 Cross -Platform Text Mining & Natural Language Processing Interoperability ……. 12 W39 9th Workshop on Building & Using Comparable Corpora (BUCC 2016)…….…….. 23 W19 Collaboration & Computing for Under-Resourced Languages (CCURL 2016).….. 31 W31 Improving Social Inclusion using NLP: Tools & Resources ……………………………….. 43 W9 Resources & ProcessIng of linguistic & extra-linguistic Data from people with various forms of cognitive / psychiatric impairments (RaPID)………………………………….. 49 W25 Emotion & Sentiment Analysis (ESA 2016)…………..………………………………………….. 58 W28 2nd Workshop on Visualization as added value in the development, use & evaluation of LRs (VisLR II)……….……………………………………………………………………………… 68 W15 Text Analytics for Cybersecurity & Online Safety (TA-COS)……………………………… 75 W13 5th Workshop on Linked Data in Linguistics (LDL-2016)………………………………….. 83 W10 Lexicographic Resources for Human Language Technology (GLOBALEX 2016)… 93 W18 Translation Evaluation: From Fragmented Tools & Data Sets to an Integrated Ecosystem?..................................................................................................................
    [Show full text]
  • Smalltalk Reading List
    Smalltalkreading list Smalltalk introduced the world to Object Much of the genesis of Smalltalk is explained Smalltalk was created over the course of a For the history in Silicon Valley leading up to Oriented programming, a way of representing in Alan Kay’s Personal Computer for Children decade starting in 1970 at Xerox’s Palo Alto the inspiration and creation of Smalltalk, see software as a network of interconnected and of All Ages wherein he describes the Research Center (better known as Xerox PARC) John Markoff’s What the Dormouse Said. intercommunicating little computers. It has Dynabook computer. The Dynabook was to be by the company’s Learning Research Group. influenced nearly every programming a personal dynamic computer, with a flat language since, including Objective C, Java, screen and a keyboard (today’s iPads bear a When people think about Smalltalk as a and Swift. striking resemblance). professional programming language it’s almost always Smalltalk-80 (released in This reading list contains books, essays, and The Dynabook’s system software was 1980) they’re thinking about, but in fact videos detailing the time and place from intended to be built and modified by anyone, Smalltalk had dozens of versions and which Smalltalk emerged, the mindsets and for books and music, but more importantly for revisions in the preceding decade. visions of its creators, and the influences understanding complex systems. Smalltalk has had on computer systems and Smalltalk was originally intended as a their programming languages. The Smalltalk software and hardware that medium of expression, and not as a For the history of Xerox PARC in the decade came out of Xerox PARC were in direct pursuit professional developer tool until much later.
    [Show full text]