WO2009002683A3 - Late bound programmatic assistance - Google Patents

Late bound programmatic assistance

Info

Publication number
WO2009002683A3
WO2009002683A3 PCT/US2008/066149 US2008066149W WO2009002683A3 WO 2009002683 A3 WO2009002683 A3 WO 2009002683A3 US 2008066149 W US2008066149 W US 2008066149W WO 2009002683 A3 WO2009002683 A3 WO 2009002683A3
Authority
WO
Grant status
Application
Patent type
Prior art keywords
assistance
late
type
bound
programmatic
Prior art date
Application number
PCT/US2008/066149
Other languages
French (fr)
Other versions
WO2009002683A2 (en )
Inventor
Henricus Johannes Maria Meijer
Amanda Silver
Paul A Vick
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • G06F8/437Type checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Abstract

Programmatic assistance is provided for dynamic typing within an integrated development environment (IDE). Types associated with late bound constructs can be inferred from static information and/or determined from design time execution. Assistance can then be provided as a function of a precise and/or speculative type. Furthermore, dynamic type assistance can be employed in conjunction with static type assistance to facilitate development of a program that supports both late and early binding, for example.
PCT/US2008/066149 2007-06-21 2008-06-06 Late bound programmatic assistance WO2009002683A3 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/766,347 2007-06-21
US11766347 US8321836B2 (en) 2007-06-21 2007-06-21 Late bound programmatic assistance

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN 200880021201 CN101689112B (en) 2007-06-21 2008-06-06 Late bound programmatic assistance
JP2010513324A JP5264898B2 (en) 2007-06-21 2008-06-06 Program auxiliary late-binding
EP20080770364 EP2174216A4 (en) 2007-06-21 2008-06-06 Late bound programmatic assistance

Publications (2)

Publication Number Publication Date
WO2009002683A2 true WO2009002683A2 (en) 2008-12-31
WO2009002683A3 true true WO2009002683A3 (en) 2009-02-26

Family

ID=40137833

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/066149 WO2009002683A3 (en) 2007-06-21 2008-06-06 Late bound programmatic assistance

Country Status (5)

Country Link
US (1) US8321836B2 (en)
EP (1) EP2174216A4 (en)
JP (1) JP5264898B2 (en)
CN (1) CN101689112B (en)
WO (1) WO2009002683A3 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8473971B2 (en) 2005-09-06 2013-06-25 Microsoft Corporation Type inference and type-directed late binding
US20080320453A1 (en) * 2007-06-21 2008-12-25 Microsoft Corporation Type inference and late binding
US9170787B2 (en) * 2008-06-27 2015-10-27 Microsoft Technology Licensing, Llc Componentization of compiler functionality
US20090328001A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Unloadable managed code
US20100235730A1 (en) * 2009-03-13 2010-09-16 Microsoft Corporation Consume-first mode text insertion
US8799877B2 (en) * 2009-03-27 2014-08-05 Optumsoft, Inc. Interpreter-based program language translator using embedded interpreter types and variables
US8533669B2 (en) 2009-04-21 2013-09-10 Microsoft Corporation Analysis of dynamic elements in bounded time
US9075667B2 (en) * 2009-05-21 2015-07-07 Microsoft Technology Licensing, Llc Dynamic binding directed by static types
US9135948B2 (en) 2009-07-03 2015-09-15 Microsoft Technology Licensing, Llc Optical medium with added descriptor to reduce counterfeiting
JP4912452B2 (en) * 2009-11-27 2012-04-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation Converts the source code written in dynamically typed language to a target code written in statically typed language, how to run and the computer program and the computer system,
US8429200B2 (en) * 2010-02-02 2013-04-23 Red Hat, Inc. Using a separate process in an interactive computer programming environment as a database
US20110271258A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Software Development Tool
US20110271250A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Software Development Tool
US8572591B2 (en) * 2010-06-15 2013-10-29 Microsoft Corporation Dynamic adaptive programming
US9195810B2 (en) * 2010-12-28 2015-11-24 Microsoft Technology Licensing, Llc Identifying factorable code
US8997069B2 (en) * 2011-04-13 2015-03-31 Microsoft Technology Licensing, Llc API descriptions
US9256401B2 (en) 2011-05-31 2016-02-09 Microsoft Technology Licensing, Llc Editor visualization of symbolic relationships
US9383973B2 (en) * 2011-06-29 2016-07-05 Microsoft Technology Licensing, Llc Code suggestions
US9542168B2 (en) * 2011-11-10 2017-01-10 Microsoft Technology Licensing Llc Hostable compiler utilizing type information from a host application
US9032378B2 (en) * 2011-12-16 2015-05-12 Microsoft Technology Licensing, Llc Available symbol set generation using untyped variable
US8869106B2 (en) * 2011-12-16 2014-10-21 Microsoft Corporation Language service provider management using application context
US9170782B2 (en) * 2012-03-27 2015-10-27 Microsoft Technology Licensing, Llc Extensible mechanism for providing suggestions in a source code editor
US8843890B2 (en) * 2012-05-10 2014-09-23 International Business Machines Corporation System and method for transplanting source code
US20140359258A1 (en) * 2013-06-02 2014-12-04 Microsoft Corporation Declarative Configuration Elements
US9244658B2 (en) 2013-06-04 2016-01-26 Microsoft Technology Licensing, Llc Multi-step auto-completion model for software development environments
US9329849B2 (en) * 2013-08-26 2016-05-03 Facebook, Inc. Systems and methods for converting typed code
US9678746B2 (en) * 2014-07-31 2017-06-13 International Business Machines Corporation Coding convention discovery and enforcement

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016953A1 (en) * 1997-10-02 2002-02-07 Borland International, Inc. Development system with methods for assisting a user with inputting source code
US20050278695A1 (en) * 2004-06-14 2005-12-15 Synovic Michael J System and method for modifying code assist within an integrated development environment
US20060026559A1 (en) * 2004-07-28 2006-02-02 Srimanth Gunturi Automatic content completion of valid values for method argument variables

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5488727A (en) 1991-09-30 1996-01-30 International Business Machines Corporation Methods to support multimethod function overloading with compile-time type checking
US5692195A (en) 1994-08-31 1997-11-25 International Business Machines Corporation Parent class shadowing
US5485615A (en) 1992-06-10 1996-01-16 Telefonaktiebolaget L M Ericsson System and method of interactively developing desired computer programs by using plurality of tools within a process described in graphical language
JP3178151B2 (en) 1993-03-19 2001-06-18 富士ゼロックス株式会社 Message compiling device of object-oriented language
US5500881A (en) * 1993-07-12 1996-03-19 Digital Equipment Corporation Language scoping for modular, flexible, concise, configuration descriptions
US5748961A (en) 1993-07-12 1998-05-05 Digital Equipment Corporation Efficient method and apparatus for compiling and linking modules of computer code in a large software system
US6425124B1 (en) 1993-11-08 2002-07-23 Matsushita Electric Industrial Co. Ltd. Resource allocation device for reducing the size and run time of a machine language program
US5742828A (en) 1994-08-03 1998-04-21 Microsoft Corporation Compiler and method for evaluation of foreign syntax expressions in source code
US5748963A (en) 1995-05-12 1998-05-05 Design Intelligence, Inc. Adaptive binding
US5687377A (en) 1995-10-06 1997-11-11 Electronic Data Systems Corporation Method for storing variables in a programming language
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US6072950A (en) 1996-06-18 2000-06-06 Microsoft Corporation Pointer analysis by type inference combined with a non-pointer analysis
US6041179A (en) 1996-10-03 2000-03-21 International Business Machines Corporation Object oriented dispatch optimization
JPH10124325A (en) 1996-10-25 1998-05-15 Toshiba Corp Method and device for optimum arrangement of variable, and computer-readable recording medium stored with optimum arrangement program for variable
US6134708A (en) 1997-02-13 2000-10-17 Nec Corporation Program compilation execution system
US5842220A (en) * 1997-05-02 1998-11-24 Oracle Corporation Methods and apparatus for exposing members of an object class through class signature interfaces
US6026233A (en) 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
CA2219557C (en) 1997-10-29 2002-12-10 Ibm Canada Limited-Ibm Canada Limitee Run-time instrumentation for object oriented programmed applications
US5983021A (en) 1998-05-27 1999-11-09 Sun Microsystems Dynamically switching statically bound function calls to dynamically bound function calls without recompilation
US6018628A (en) 1998-06-16 2000-01-25 Sun Microsystems, Inc. Method of implementing parameterized types to be compatible with existing unparameterized libraries
US6237135B1 (en) * 1998-06-18 2001-05-22 Borland Software Corporation Development system with visual design tools for creating and maintaining Java Beans components
US6915301B2 (en) 1998-08-25 2005-07-05 International Business Machines Corporation Dynamic object properties
US6415316B1 (en) 1998-09-01 2002-07-02 Aidministrator Nederland B.V. Method and apparatus for implementing a web page diary
US6502233B1 (en) 1998-11-13 2002-12-31 Microsoft Corporation Automated help system for reference information
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US7080322B2 (en) 1998-12-18 2006-07-18 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US6678745B1 (en) 1999-06-01 2004-01-13 Bruce Hodge Dynamic object synthesis with automatic late binding
US6560774B1 (en) 1999-09-01 2003-05-06 Microsoft Corporation Verifier to check intermediate language
US6981249B1 (en) * 2000-05-02 2005-12-27 Microsoft Corporation Methods for enhancing type reconstruction
US6957394B1 (en) 2000-12-01 2005-10-18 Microsoft Corporation Rendering controls of a web page according to a theme
US7437710B2 (en) 2001-07-02 2008-10-14 Bea Systems, Inc. Annotation based development platform for stateful web services
US7120897B2 (en) 2001-07-10 2006-10-10 Microsoft Corporation User control objects for providing server-side code generation from a user-defined dynamic web page content file
US6928425B2 (en) 2001-08-13 2005-08-09 Xerox Corporation System for propagating enrichment between documents
US20030131347A1 (en) 2001-10-12 2003-07-10 Allison David S. Method and apparatus for runtime binding of object members
US20030097648A1 (en) 2001-10-12 2003-05-22 Allison David S. Method and apparatus for determining runtime size and type information in dynamically typed languages
US6965990B2 (en) 2001-10-23 2005-11-15 International Business Machines Corporation Method and apparatus for providing programming assistance
US7418484B2 (en) 2001-11-30 2008-08-26 Oracle International Corporation System and method for actively managing an enterprise of configurable components
US7152229B2 (en) 2002-01-18 2006-12-19 Symbol Technologies, Inc Workflow code generator
US7017117B2 (en) 2002-02-14 2006-03-21 Symantec Corporation Attenuating and amplifying user interface themes
US7127707B1 (en) 2002-10-10 2006-10-24 Microsoft Corporation Intellisense in project upgrade
US7546607B2 (en) * 2002-11-19 2009-06-09 Microsoft Corporation Native code exposing virtual machine managed object
US7051322B2 (en) 2002-12-06 2006-05-23 @Stake, Inc. Software analysis framework
US8032860B2 (en) * 2003-02-26 2011-10-04 Oracle International Corporation Methods for type-independent source code editing
US7246361B1 (en) 2003-03-20 2007-07-17 Intuit, Inc. Supporting multiple late binding objects with the same identifier
US7389498B2 (en) 2003-03-25 2008-06-17 Microsoft Corporation Core object-oriented type system for semi-structured data
US7620959B2 (en) 2003-05-12 2009-11-17 Microsoft Corporation Reflection-based processing of input parameters for commands
US7197702B2 (en) 2003-06-13 2007-03-27 Microsoft Corporation Web page rendering mechanism using external programmatic themes
US8307109B2 (en) 2003-08-27 2012-11-06 International Business Machines Corporation Methods and systems for real time integration services
US20050081139A1 (en) 2003-10-10 2005-04-14 George Witwer Clustering based personalized web experience
WO2005038610A3 (en) 2003-10-14 2005-10-13 Donn Delson A method and system for using cascading style sheets (css) to customize an online store
US7676798B2 (en) 2003-10-24 2010-03-09 Microsoft Corporation Mechanism for obtaining and applying constraints to constructs within an interactive environment
US20050198177A1 (en) 2004-01-23 2005-09-08 Steve Black Opting out of spam
US7693856B2 (en) * 2004-06-25 2010-04-06 Apple Inc. Methods and systems for managing data
US20060015817A1 (en) 2004-07-15 2006-01-19 Giuseppe Fioretti Method to dynamically customize a web user interface
US7676476B2 (en) 2004-08-25 2010-03-09 Microsoft Corporation Data types with incorporated collation information
US7571189B2 (en) 2005-02-02 2009-08-04 Lightsurf Technologies, Inc. Method and apparatus to implement themes for a handheld device
US7730448B2 (en) 2005-08-11 2010-06-01 Microsoft Corporation Layered type systems
US8473971B2 (en) 2005-09-06 2013-06-25 Microsoft Corporation Type inference and type-directed late binding
US7958493B2 (en) 2006-01-20 2011-06-07 Kevin Edward Lindsey Type inference system and method
US8225294B2 (en) 2006-04-27 2012-07-17 Oracle America, Inc. Method and apparatus for expressing and checking relationships between types
US20080320453A1 (en) 2007-06-21 2008-12-25 Microsoft Corporation Type inference and late binding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016953A1 (en) * 1997-10-02 2002-02-07 Borland International, Inc. Development system with methods for assisting a user with inputting source code
US20050278695A1 (en) * 2004-06-14 2005-12-15 Synovic Michael J System and method for modifying code assist within an integrated development environment
US20060026559A1 (en) * 2004-07-28 2006-02-02 Srimanth Gunturi Automatic content completion of valid values for method argument variables

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2174216A4 *

Also Published As

Publication number Publication date Type
US8321836B2 (en) 2012-11-27 grant
EP2174216A4 (en) 2012-01-25 application
WO2009002683A2 (en) 2008-12-31 application
JP2010530590A (en) 2010-09-09 application
CN101689112A (en) 2010-03-31 application
JP5264898B2 (en) 2013-08-14 grant
US20080320444A1 (en) 2008-12-25 application
CN101689112B (en) 2014-06-11 grant
EP2174216A2 (en) 2010-04-14 application

Similar Documents

Publication Publication Date Title
WO2007021868A3 (en) Presentation of media segments
Kasyanov et al. SFP-an interactive visual environment for supporting of functional programming and supercomputing.
WO2009060829A1 (en) Advertisement presentation method, advertisement presentation system, and program
WO2009054327A1 (en) Mri probe
Albert et al. COSTA: a cost and termination analyzer for Java Bytecode
Zhao et al. An on-the-fly approach to web-based service composition
Smith Raspberry Pi Assembly Language RASPBIAN Beginners: Hands On Guide
WO2008114415A1 (en) Multi-processing system
Koskela Effective unit testing: A guide for Java developers
CN202077301U (en) Novel USB flash disk
Zhou et al. Spatial planning in germany with its implication in China
WO2008084665A1 (en) Method and program for supporting data input for business processing
Silverman Introduction to SC123 assembly language, architecture, and computer organization: tutorial presentation
Guérin MIDI power!: The comprehensive guide
CN102636627B (en) Inter-batch quality control method for external diagnostic reagent
Pardi Jr Programming concurrent and distributed algorithms in Java
Trettel Childhood Revolutions
Love Three Keys to effective offshore development
Likoti The failure of the SADC Organ on Politics, Defence and Security (OPDS)
Dubey India and Francophone Africa under globalisation
WO2009057652A1 (en) File access control device and program
Kowluru et al. Metabolic Memory and Retinal Dysmetabolism in Mouse Model of Diabetic Retinopathy.
Daddino Van Gogh's Sunflowers.
Gould et al. Using the Open Source Physics Java Library to do Computer Simulations
Peethong Thai corporate income tax consideration on clean development mechanism under kyoto protocol

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08770364

Country of ref document: EP

Kind code of ref document: A2

WWE Wipo information: entry into national phase

Ref document number: 2010513324

Country of ref document: JP

ENP Entry into the national phase in:

Ref document number: 2010513324

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase in:

Ref country code: DE

ENP Entry into the national phase in:

Ref document number: PI0812127

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20091126