Using Objective-C from Clozure CL. R. Matthew Emerson
|
|
- Shavonne Elliott
- 7 years ago
- Views:
Transcription
1 Using Objective-C from Clozure CL R. Matthew Emerson
2 Messaging id dict =... [dict printf("%d\n", [dict count]); receiver message
3 Messaging id dict =... [dict addobject:forkey:
4 Messaging id dict = [[NSMutableArray alloc] init];
5 Low-level Messaging [dict /* The compiler would emit something like this */ SEL selector = sel_getuid("addobject:forkey:"); ;; We can call C from Lisp, but it's not exactly nice... (with-cstrs ((s "addobject:forkey:")) (let ((sel (#_sel_getuid s))) (#_objc_msgsend dict sel :id #@"tang"
6 Higher-level Messaging from Lisp [dict ;deprecated old way (send dict "addobject:forkey:" ;or (send dict :add-object :for-key ;new way (#/addobject:forkey: dict
7 FFI Notation and Reader Macro Zoo (#_getpid) (with-cstrs ((s "/dev/null")) (let ((fd (#_open s #$O_RDWR))) (#_close fd))) #&NSZeroRect #&sys_errlist (rlet ((tv (:struct :timeval))) (#_gettimeofday tv +null-ptr+) (format t "~d.~6,'0d" (pref tv :timeval.tv_sec) (pref tv :timeval.tv_usec))) (rlet ((r :<NS>Rect)) (setf (pref r :<NS>Rect.origin.x) 0d0)...) (rlet ((r #>NSRect)) (setf (pref r #>NSRect.origin.x) 0d0)...)
8 Semi-Real-Life Example (defun make-standard-window (x y w h) (ns:with-ns-rect (rect x y w h) (#/initwithcontentrect:stylemask:backing:defer: (#/alloc (objc:@class "NSWindow")) rect (logior #$NSTitledWindowMask! #$NSClosableWindowMask! #$NSMiniaturizableWindowMask! #$NSResizableWindowMask) #$NSBackingStoreBuffered nil)))
9 Demo
10 Semi-Real-Life Example (defun browse-url (string) (with-cfstring (s string) (let ((url (#/URLWithString: ns:ns-url s))) (if (%null-ptr-p url) (error "~s is not a valid URL" string) (gui:execute-in-gui #'(lambda () (let* ((w (make-standard-window )) (content-view (#/contentview w)) (web-view (#/initwithframe:framename:groupname: (#/alloc ns:web-view) (#/bounds content-view) +null-ptr+ +null-ptr+)) (request (#/requestwithurl: ns:ns-url-request url))) (#/setautoresizingmask: web-view (logior #$NSViewWidthSizable #$NSViewHeightSizable)) (#/addsubview: content-view web-view) (#/release web-view) (#/settitle: w (#_CFURLGetString url)) (#/orderfront: w +null-ptr+) (#/loadrequest: (#/mainframe web-view) request))))))))
11 Demo
12 Semi-Real-Life Example (defun browse-url (string) (with-cfstring (s string) (let ((url (#/URLWithString: ns:ns-url s))) (if (%null-ptr-p url) (error "~s is not a valid URL" string) (gui:execute-in-gui #'(lambda () (let* ((w (make-standard-window )) (content-view (#/contentview w)) (web-view (#/initwithframe:framename:groupname: (#/alloc ns:web-view) (#/bounds content-view) +null-ptr+ +null-ptr+)) (request (#/requestwithurl: ns:ns-url-request url))) (#/setautoresizingmask: web-view (logior #$NSViewWidthSizable #$NSViewHeightSizable)) (#/addsubview: content-view web-view) (#/release web-view) (#/settitle: w (#_CFURLGetString url)) (#/orderfront: w +null-ptr+) (#/loadrequest: (#/mainframe web-view) request))))))))
13 NSURL ns-array NSURLRequest ns-url-request WebView web-view Name Translation (compute-lisp-name "MIDIView") m-id-i-view (define-special-objc-word "MIDI") (compute-lisp-name "MIDIView") midi-view (compute-objc-classname 'ns-mutable-dictionary) "NSMutableDictionary"
14 More about #/ '#/addobject:forkey: NEXTSTEP-FUNCTIONS: addobject:forkey: #/addobject:forkey:)
15 Bonus #/ Side Effect! '#/addobject:forkey: NEXTSTEP-FUNCTIONS: addobject:forkey: #/addobject:forkey:) Interning a symbol into this package triggers an interface database lookup for Objective-C methods of the same name. A successful lookup results in the creation of a special type of dispatching function. The symbol is then given that dispatching function as its function definition. #'#/dealloc #<OBJC-DISPATCH-FUNCTION NSFUN: dealloc #x cf>
16 Very nice, but so? (objc-message-send view "bounds")? (#/bounds view) #<NS-RECT 600 X 0,0 [gcable] (#x290a4e40) #x302002b5d37d>
17 Typed Foreign Pointers (objc-message-send view "bounds")? (#/bounds view) #<NS-RECT 600 X 0,0 [gcable] (#x290a4e40) #x302002b5d37d> Certain foreign types can be treated as instances of built-in classes. (class-of (ns:make-ns-rect )) #<BUILT-IN-CLASS NS:NS-RECT> (class-of (ns:make-ns-point 0 10)) #<BUILT-IN-CLASS NS:NS-POINT> (class-of (ns:make-ns-size )) #<BUILT-IN-CLASS NS:NS-SIZE> (class-of (ns:make-ns-range 11 17)) #<BUILT-IN-CLASS NS:NS-RANGE> Objective-C objects can also be recognized as instances of built-in classes and printed, used with typep, and so forth.
18 Defining an Objective-C Wand : NSObject { id wood; NSString *core; float lengthininches; } - (id)initwithwood:(id)w core:(nsstring *)c length:(float)inches; - (id)wood; -
19 @implementation Wand - (id)wood { return wood; } - (void)setwood:(id)w { [wood release]; wood = [w copy]; } - (void)dealloc { [wood release]; [core release]; [super dealloc]; Defining Objective-C methods
20 And in Lisp Style... (defclass wand (ns:ns-object) ((wood :foreign-type :id) (core :foreign-type :id) (length-in-inches :foreign-type :float)) (:metaclass ns:+ns-object)) (objc:defmethod #/wood ((self wand)) (slot-value self 'wood)) (objc:defmethod (#/setwood: :void) ((self wand) w) (#/release (slot-value self 'wood)) (setf (slot-value self 'wood) (#/copy w))) (objc:defmethod (#/dealloc :void) ((self wand)) (#/release (slot-value self 'wood)) (#/release (slot-value self 'core)) (call-next-method))
21 A Custom NSView (defclass sample-view (ns:ns-view) () (:metaclass ns:+ns-object)) (objc:defmethod (#/drawrect: :void) ((self sample-view) (dirty #>NSRect)) (#/set (#/redcolor ns:ns-color)) (#_NSRectFill (#/bounds self))) (defun sample-view-window () (gui:execute-in-gui (lambda () (let* ((w (make-standard-window )) (content-view (#/contentview w)) (v (#/initwithframe: (#/alloc sample-view) (#/bounds content-view)))) (#/setautoresizingmask: v (logior #$NSViewWidthSizable #$NSViewHeightSizable)) (#/addsubview: content-view v) (#/release v) (#/orderfront: w +null-ptr+) w))))
22 Demo
23 Hybrid Classes (defclass card-pile-view (ns:ns-view) ((deck :accessor card-deck)) (:metaclass ns:+ns-object)) (defmethod initialize-instance :after ((v card-pile-view) &rest initargs) (declare (ignore initargs)) (setf (slot-value v 'deck) (make-shuffled-deck)) (unless *images* (make-card-images))) (objc:defmethod (#/dealloc :void) ((self card-pile-view)) (objc:remove-lisp-slots self) (call-next-method)) (objc:defmethod (#/drawrect: :void) ((self card-pile-view) (dirty #>NSRect))...)
24 Demo
25 See it in action! In the next talk, all of the user interface that you see was made in Lisp using the Objective-C interface just described.
Common Lisp ObjectiveC Interface
Common Lisp ObjectiveC Interface Documentation for the Common Lisp Objective C Interface, version 1.0. Copyright c 2007 Luigi Panzeri Copying and distribution of this file, with or without modification,
More informationObjective-C and Cocoa User Guide and Reference Manual. Version 5.0
Objective-C and Cocoa User Guide and Reference Manual Version 5.0 Copyright and Trademarks LispWorks Objective-C and Cocoa Interface User Guide and Reference Manual Version 5.0 March 2006 Copyright 2006
More informationThis documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied.
Hyperloop for ios Programming Guide This documentation is made available before final release and is subject to change without notice and comes with no warranty express or implied. Requirements You ll
More informationINTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
More informationIntroduction to Objective-C. Kevin Cathey
Introduction to Objective-C Kevin Cathey Introduction to Objective-C What are object-oriented systems? What is the Objective-C language? What are objects? How do you create classes in Objective-C? acm.uiuc.edu/macwarriors/devphone
More informationCreating a Custom Class in Xcode
Creating a Custom Class in Xcode By Mark Mudri March 28, 2014 Executive Summary: Making an ios application requires the use of Xcode, an integrated development environment (IDE) developed by Apple. Within
More informationiphone SDK Enrolled students will be invited to developer program Login to Program Portal Request a Certificate Download and install the SDK
Objective-C Basics iphone SDK Enrolled students will be invited to developer program Login to Program Portal Request a Certificate Download and install the SDK The First Program in Objective-C #import
More informationNick Ager @nickager. lunes 3 de septiembre de 12
Nick Ager @nickager Plan Overview of jquerymobile Seaside integration with jquerymobile Building an app with Pharo, Seaside jquerymobile Questions Installation http://jquerymobile.seasidehosting.st Follow
More informationThe Common Lisp Object System: An Overview
The Common Lisp Object System: An Overview by Linda G. DeMichiel and Richard P. Gabriel Lucid, Inc. Menlo Park, California 1. Abstract The Common Lisp Object System is an object-oriented system that is
More informationDeveloping Applications for ios
Developing Applications for ios Today Introduction to Objective-C (con t) Continue showing Card Game Model with Deck, PlayingCard, PlayingCardDeck Xcode 5 Demonstration Start building the simple Card Game
More informationObjective-C Internals
Objective-C Internals André Pang Realmac Software Nice license plate, eh? 1 In this talk, we peek under the hood and have a look at Objective-C s engine: how objects are represented in memory, and how
More information17. November 2015. Übung 1 mit Swift. Architektur verteilter Anwendungen. Thorsten Kober Head Solutions ios/os X, SemVox GmbH
17. November 2015 Übung 1 mit Swift Architektur verteilter Anwendungen Thorsten Kober Head Solutions ios/os X, SemVox GmbH Überblick 1 Einführung 2 Typen, Optionals und Pattern Matching 3 Speichermanagement
More informationObjective-C for Experienced Programmers
Objective-C for Experienced Programmers Venkat Subramaniam venkats@agiledeveloper.com twitter: venkat_s Objective-C An Object-Oriented extension to C If you re familiar with C/C++/Java syntax, you re at
More informationFrom C++ to Objective-C
From C++ to Objective-C version 2.1 en Pierre Chatelier e-mail: pierre.chatelier@club-internet.fr Copyright c 2005, 2006, 2007, 2008, 2009 Pierre Chatelier English adaptation : Aaron Vegh Document revisions
More informationMA-WA1920: Enterprise iphone and ipad Programming
MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This
More informationObject Oriented Programming and the Objective-C Programming Language 1.0. (Retired Document)
Object Oriented Programming and the Objective-C Programming Language 1.0 (Retired Document) Contents Introduction to The Objective-C Programming Language 1.0 7 Who Should Read This Document 7 Organization
More informationPredicate Dispatching in the Common Lisp Object System. Aaron Mark Ucko
Predicate Dispatching in the Common Lisp Object System by Aaron Mark Ucko S.B. in Theoretical Mathematics, S.B. in Computer Science, both from the Massachusetts Institute of Technology (2000) Submitted
More information5. Advanced Object-Oriented Programming Language-Oriented Programming
5. Advanced Object-Oriented Programming Language-Oriented Programming Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences 1 Retrospective Functional
More informationios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011
ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011 Healthcare iphone apps Various apps for the iphone available Diagnostic, Diet and Nutrition, Fitness, Emotional Well-being
More informationContents. About Testing with Xcode 4. Quick Start 7. Testing Basics 23. Writing Test Classes and Methods 28. At a Glance 5 Prerequisites 6 See Also 6
Testing with Xcode Contents About Testing with Xcode 4 At a Glance 5 Prerequisites 6 See Also 6 Quick Start 7 Introducing the Test Navigator 7 Add Testing to Your App 11 Create a Test Target 12 Run the
More informationTag Specification Document
Measuring the digital world. DIGITAL ANALYTIX ios Mobile Application Measurement Tag Specification Document March 2012 FOR FURTHER INFORMATION, PLEASE CONTACT: comscore, Inc. +1 866 276 6972 sdksupport@comscore.com
More informationKey-Value Coding Programming Guide
Key-Value Coding Programming Guide Contents Introduction 6 Organization of This Document 6 See Also 7 What Is Key-Value Coding? 8 Key-Value Coding and Scripting 8 Using Key-Value Coding to Simplify Your
More informationBeginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple ios Application
FROM 1st TO 4th OF FEBRUARY 2012 contents of the app s creation training track Beginner level: Modules 1 to 18. Advanced level: Quick review of modules 1 to 18, then following to module 26. 1- A Simple
More informationios Design Patterns Jackie Myrose CSCI 5448 Fall 2012
ios Design Patterns Jackie Myrose CSCI 5448 Fall 2012 Design Patterns A design pattern is a common solution to a software problem They are helpful for speeding up problem solving, ensuring that a developer
More informationINTRODUCTION TO IOS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 13 02/22/2011
INTRODUCTION TO IOS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 13 02/22/2011 1 Goals of the Lecture Present an introduction to ios Program Coverage of the language will be INCOMPLETE We
More informationNSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (Retired Document)
NSPersistentDocument Core Data Tutorial for Mac OS X v10.4. (Retired Document) Contents Introduction to NSPersistentDocument Core Data Tutorial for Mac OS X v10.4 8 Who Should Read This Document 8 Organization
More informationProgramming Language Rankings. Lecture 15: Type Inference, polymorphism & Type Classes. Top Combined. Tiobe Index. CSC 131! Fall, 2014!
Programming Language Rankings Lecture 15: Type Inference, polymorphism & Type Classes CSC 131 Fall, 2014 Kim Bruce Top Combined Tiobe Index 1. JavaScript (+1) 2. Java (-1) 3. PHP 4. C# (+2) 5. Python (-1)
More informationChapter 5 Names, Bindings, Type Checking, and Scopes
Chapter 5 Names, Bindings, Type Checking, and Scopes Chapter 5 Topics Introduction Names Variables The Concept of Binding Type Checking Strong Typing Scope Scope and Lifetime Referencing Environments Named
More informationios Dev Fest Research Network Operations Center Thursday, February 7, 13
ios Dev Fest Research Network Operations Center Outline http://goo.gl/02blw Getting Started With App Development Setup Developer Environment Setup Certificates and Provisioning Deploying App To Device
More informationData storage and retrieval in ios
Data storage and retrieval in ios Sebastian Ernst, PhD! Department of Applied Computer Science AGH University of Science and Technology File structure of an ios app ios apps can store they data in files.
More informationBasic Lisp Operations
Basic Lisp Operations BLO-1 Function invocation It is an S-expression just another list! ( function arg1 arg2... argn) First list item is the function prefix notation The other list items are the arguments
More informationiphone Objective-C Exercises
iphone Objective-C Exercises About These Exercises The only prerequisite for these exercises is an eagerness to learn. While it helps to have a background in object-oriented programming, that is not a
More informationios Dev Crib Sheet In the Shadow of C
ios Dev Crib Sheet As you dive into the deep end of the ios development pool, the first thing to remember is that the mother ship holds the authoritative documentation for this endeavor http://developer.apple.com/ios
More informationSemantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
More informationAn Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6
1 2 3 4 An Introduction to Modern Software Development Tools Creating A Simple GUI-Based Tool Appleʼs XCode Version 3.2.6 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Charles J. Ammon / Penn State August, 2011
More informationCOMP 356 Programming Language Structures Notes for Chapter 10 of Concepts of Programming Languages Implementing Subprograms.
COMP 356 Programming Language Structures Notes for Chapter 10 of Concepts of Programming Languages Implementing Subprograms 1 Activation Records activation declaration location Recall that an activation
More informationMobile Application Development
Mobile Application Development Lecture 23 Sensors and Multimedia 2013/2014 Parma Università degli Studi di Parma Lecture Summary Core Motion Camera and Photo Library Working with Audio and Video: Media
More informationPico Lisp A Radical Approach to Application Development
Pico Lisp A Radical Approach to Application Development Software Lab. Alexander Burger Bahnhofstr. 24a, D-86462 Langweid abu@software-lab.de (www.software-lab.de) +49-(0)821-9907090 June 22, 2006 Abstract
More informationios Audio Programming Guide
ios Audio Programming Guide A Guide to Developing Applications for Real-time Audio Processing and Playback izotope, Inc. izotope ios Audio Programming Guide This document is meant as a guide to developing
More informationTECHNOLOGY Computer Programming II Grade: 9-12 Standard 2: Technology and Society Interaction
Standard 2: Technology and Society Interaction Technology and Ethics Analyze legal technology issues and formulate solutions and strategies that foster responsible technology usage. 1. Practice responsible
More informationios App Development for Everyone
ios App Development for Everyone Kevin McNeish Table of Contents Chapter 2 Objective C (Part 6) Referencing Classes Now you re ready to use the Calculator class in the App. Up to this point, each time
More informationThe C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
More informationPorting Existing PhoneGap Apps to Tizen OS - Development Story
Porting Existing PhoneGap Apps to Tizen OS - Development Story Anil Kumar Yanamandra Thomas Mitchell ProKarma About ProKarma Who am I? Anil Kumar Yanamandra Mobile Architect & Head CoE for Mobility @ProKarma
More informationAssignment I Walkthrough
Assignment I Walkthrough Objective Reproduce the demonstration (building a calculator) given in class. Goals 1. Downloading and installing the ios4 SDK. 2. Creating a new project in Xcode. 3. Defining
More informationObject Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
More informationMagit-Popup User Manual
Magit-Popup User Manual for version 2.5 Jonas Bernoulli Copyright (C) 2015-2016 Jonas Bernoulli You can redistribute this document and/or modify it under the terms of the GNU General
More informationUsing PyObjC for Developing Cocoa Applications with Python
Search Advanced Search Log In Not a Member? Contact ADC ADC Home > Cocoa > While Cocoa applications are generally written in Objective-C, Python is a fully capable choice for application development. Python
More informationComp151. Definitions & Declarations
Comp151 Definitions & Declarations Example: Definition /* reverse_printcpp */ #include #include using namespace std; int global_var = 23; // global variable definition void reverse_print(const
More informationProblems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration
More information
Your First ios Application
Your First ios Application General 2011-06-06 Apple Inc. 2011 Apple Inc. All rights reserved. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential
More informationDevelopment of Computer Graphics and Digital Image Processing on the iphone Luciano Fagundes (luciano@babs2go.com.
Development of Computer Graphics and Digital Image Processing on the iphone Luciano Fagundes (luciano@babs2go.com.br) Rafael Santos (rafael.santos@lac.inpe.br) Motivation ios Devices Dev Basics From Concept
More information2/1/2010. Background Why Python? Getting Our Feet Wet Comparing Python to Java Resources (Including a free textbook!) Hathaway Brown School
Practical Computer Science with Preview Background Why? Getting Our Feet Wet Comparing to Resources (Including a free textbook!) James M. Allen Hathaway Brown School jamesallen@hb.edu Background Hathaway
More informationForm & Function in Software. Richard P. Gabriel phd mfa
Form & Function in Software Richard P. Gabriel phd mfa Confusionists and superficial intellectuals... ...move ahead... ...while the deep thinkers descend into the darker regions of the status quo...
More informationUnit and Functional Testing for the ios Platform. Christopher M. Judd
Unit and Functional Testing for the ios Platform Christopher M. Judd Christopher M. Judd President/Consultant of leader Columbus Developer User Group (CIDUG) Remarkable Ohio Free Developed for etech Ohio
More information6.s096. Introduction to C and C++
6.s096 Introduction to C and C++ 1 Why? 2 1 You seek performance 3 1 You seek performance zero-overhead principle 4 2 You seek to interface directly with hardware 5 3 That s kinda it 6 C a nice way to
More informationProgramming Languages in Artificial Intelligence
Programming Languages in Artificial Intelligence Günter Neumann, German Research Center for Artificial Intelligence (LT Lab, DFKI) I. AI programming languages II. Functional programming III. Functional
More informationImproving Your App with Instruments
Tools #WWDC14 Improving Your App with Instruments Session 418 Daniel Delwood Software Radiologist 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationC++ DATA STRUCTURES. Defining a Structure: Accessing Structure Members:
C++ DATA STRUCTURES http://www.tutorialspoint.com/cplusplus/cpp_data_structures.htm Copyright tutorialspoint.com C/C++ arrays allow you to define variables that combine several data items of the same kind
More informationHow To Understand And Understand Common Lisp
Language-Oriented Programming am Beispiel Lisp Arbeitskreis Objekttechnologie Norddeutschland HAW Hamburg, 6.7.2009 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik und Capgemini sd&m Research
More informationMultiple Dispatching. Alex Tritthart WS 12/13
Multiple Dispatching Alex Tritthart WS 12/13 Outline 1 Introduction 2 Dynamic Dispatch Single Dispatch Double Dispatch 3 Multiple Dispatch Example 4 Evaluation 2 / 24 What is it all about? Introduction
More informationPentesting ios Apps Runtime Analysis and Manipulation. Andreas Kurtz
Pentesting ios Apps Runtime Analysis and Manipulation Andreas Kurtz About PhD candidate at the Security Research Group, Department of Computer Science, University of Erlangen-Nuremberg Security of mobile
More informationA Case Study in DSL Development
A Case Study in DSL Development An Experiment with Python and Scala Klaus Havelund Michel Ingham David Wagner Jet Propulsion Laboratory, California Institute of Technology klaus.havelund, michel.d.ingham,
More informationPraktikum Entwicklung von Mediensystemen mit
Praktikum Entwicklung von Mediensystemen mit Wintersemester 2013/2014 Christian Weiß, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6
More informationKotlin for Android Developers
Kotlin for Android Developers Learn Kotlin in an easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published
More informationDevelop a ios Mobile App Consuming an OData Service Running in SAP HANA Cloud Platform
Develop a ios Mobile App Consuming an OData Service Running in SAP HANA Cloud Platform TABLE OF CONTENTS INTRODUCTION... 3 1. DEVELOPING THE UI WITH STORYBOARD... 4 2. WRITING THE CLASSES THAT REPRESENTS
More informationEfficient Cross-Platform Method Dispatching for Interpreted Languages
Efficient Cross-Platform Method Dispatching for Interpreted Languages Andrew Weinrich 1 Introduction 2007-12-18 2 Adding Methods and Classes to the Objective-C Runtime Most work on modern compilers is
More informationEmbedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationStatic vs. Dynamic. Lecture 10: Static Semantics Overview 1. Typical Semantic Errors: Java, C++ Typical Tasks of the Semantic Analyzer
Lecture 10: Static Semantics Overview 1 Lexical analysis Produces tokens Detects & eliminates illegal tokens Parsing Produces trees Detects & eliminates ill-formed parse trees Static semantic analysis
More informationIntroduction to Data Structures
Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate
More informationChapter 6: Web Safari Finding Beta
Brigham & Ehrhardt, Financial Management Page 1 Chapter 6: Web Safari Finding Beta Question: What is the value of Beta for Dell? Are there different values of Beta for Dell available on the Internet? If
More informationMoving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
More informationOrganization of Programming Languages CS320/520N. Lecture 05. Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.
Organization of Programming Languages CS320/520N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Names, Bindings, and Scopes A name is a symbolic identifier used
More informationPortability Study of Android and ios
Portability Study of Android and ios Brandon Stewart Problem Report submitted to the Benjamin M. Statler College of Engineering and Mineral Resources at West Virginia University in partial fulfillment
More informationInline Variables. Document Number: N4424 Date: 2015 04 07 Hal Finkel (hfinkel@anl.gov) and Richard Smith (richard@metafoo.co.
Document Number: N4424 Date: 2015 04 07 Hal Finkel (hfinkel@anl.gov) and Richard Smith (richard@metafoo.co.uk) Inline Variables Introduction C++ generally requires all extern functions and variables to
More informationObjective-C Tutorial
Objective-C Tutorial OBJECTIVE-C TUTORIAL Simply Easy Learning by tutorialspoint.com tutorialspoint.com i ABOUT THE TUTORIAL Objective-c tutorial Objective-C is a general-purpose, object-oriented programming
More informationChapter 15 Functional Programming Languages
Chapter 15 Functional Programming Languages Introduction - The design of the imperative languages is based directly on the von Neumann architecture Efficiency (at least at first) is the primary concern,
More informationImplementation Aspects of OO-Languages
1 Implementation Aspects of OO-Languages Allocation of space for data members: The space for data members is laid out the same way it is done for structures in C or other languages. Specifically: The data
More informationAssistive Application Programming Guide For OS X 2.0
Assistive Application Programming Guide For OS X 2.0 For the PFAssistive and PFEventTaps Frameworks Copyright 2010-2015 Bill Cheeseman. Used by permission. All rights reserved. PFiddlesoft, PFiddle Software,
More informationFlexible Object Layouts: enabling lightweight language extensions by intercepting slot access
Flexible Object Layouts: enabling lightweight language extensions by intercepting slot access Toon Verwaest, Camillo Bruni, Mircea Lungu, Oscar Nierstrasz To cite this version: Toon Verwaest, Camillo Bruni,
More informationCORBA Programming with TAOX11. The C++11 CORBA Implementation
CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy
More informationScoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
More informationLab Experience 17. Programming Language Translation
Lab Experience 17 Programming Language Translation Objectives Gain insight into the translation process for converting one virtual machine to another See the process by which an assembler translates assembly
More informationParameter passing in LISP
Parameter passing in LISP The actual parameters in a function call are always expressions, represented as lists structures. LISP provides two main methods of parameter passing: Pass/Call-by-value. The
More informationDesigning A Smart Phone Application With Xcode
IT 11 074 Examensarbete 15 hp Augusti 2011 Object-Oriented Development of a Smart Phone Application From an Existing Web Service Jon Borglund Institutionen för informationsteknologi Department of Information
More informationios Application Development &
Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang chang@ut.ee Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations
More informationGlossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
More informationXamarin.Forms. Hands On
Xamarin.Forms Hands On Hands- On: Xamarin Forms Ziele Kennenlernen von Xamarin.Forms, wich:gste Layouts und Views UI aus Code mit Data Binding Erweitern von Forms Elementen mit Na:ve Custom Renderer UI
More informationIllustration 1: Diagram of program function and data flow
The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline
More informationPemrograman Dasar. Basic Elements Of Java
Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle
More informationios App Programming Guide
ios App Programming Guide Contents About ios App Programming 8 At a Glance 8 Translate Your Initial Idea into an Implementation Plan 9 UIKit Provides the Core of Your App 9 Apps Must Behave Differently
More informationTizen Web Runtime Update. Ming Jin Samsung Electronics
Tizen Web Runtime Update Ming Jin Samsung Electronics Table of Contents Quick Overview of This Talk Background, Major Updates, Upcoming Features What Have Been Updated Installation/Update Flow, WebKit2,
More informationA Modern Objective-C Runtime
A Modern Objective-C Runtime Vol. 8, No. 1, January February 2009 David Chisnall In light of the recent modifications to the de facto standard implementation Objective- C language by Apple Inc., the GNU
More informationINF4820, Algorithms for AI and NLP: More Common Lisp Vector Spaces
INF4820, Algorithms for AI and NLP: More Common Lisp Vector Spaces Erik Velldal University of Oslo Sept. 4, 2012 Topics for today 2 More Common Lisp More data types: Arrays, sequences, hash tables, and
More informationCSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17 System Calls for Processes Ref: Process: Chapter 5 of [HGS]. A program in execution. Several processes are executed concurrently by the
More informationios App Development for Everyone
ios App Development for Everyone Kevin McNeish Table of Contents Chapter 2 Objective C (Part 1) When I first started writing ios Apps, coding in Objective-C was somewhat painful. Like stuck-in-acheckout-line-behind-the-old-woman-writing-a-personal-check
More informationIS0020 Program Design and Software Tools Midterm, Feb 24, 2004. Instruction
IS0020 Program Design and Software Tools Midterm, Feb 24, 2004 Name: Instruction There are two parts in this test. The first part contains 50 questions worth 80 points. The second part constitutes 20 points
More informationProgramming languages C
INTERNATIONAL STANDARD ISO/IEC 9899:1999 TECHNICAL CORRIGENDUM 2 Published 2004-11-15 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ ORGANISATION INTERNATIONALE
More informationObjective C and iphone App
Objective C and iphone App 6 Months Course Description: Understanding the Objective-C programming language is critical to becoming a successful iphone developer. This class is designed to teach you a solid
More information