This demonstration presents the language design of Konoha-Script, a statically typed object-oriented scripting language. KonohaScript provides the very similar scripting experiences compared to dynamic languages. In a...
详细信息
ISBN:
(纸本)9781450309424
This demonstration presents the language design of Konoha-Script, a statically typed object-oriented scripting language. KonohaScript provides the very similar scripting experiences compared to dynamic languages. In addition, it also preserves useful programming supports by static typing, such as automated verification of careless mistakes, improved readability of source code, better opportunity of optimized code generation. This demonstration will show how KonohaScript improved scripting experiences with static typing, using our open source implementation fully written in C.
In previous work, we presented rules for defining overloaded functions that ensure type safety under symmetric multiple dispatch in an object-oriented language with multiple inheritance, and we showed how to check the...
详细信息
ISBN:
(纸本)9781450309400
In previous work, we presented rules for defining overloaded functions that ensure type safety under symmetric multiple dispatch in an object-oriented language with multiple inheritance, and we showed how to check these rules without requiring the entire type hierarchy to be known, thus supporting modularity and extensibility. In this work, we extend these rules to a language that supports parametric polymorphism on both classes and functions. In a multiple-inheritance language in which any type may be extended by types in other modules, some overloaded functions that might seem valid are correctly rejected by our rules. We explain how these functions can be permitted in a language that additionally supports an exclusion relation among types, allowing programmers to declare "nominal exclusions" and also implicitly imposing exclusion among different instances of each polymorphic type. We give rules for computing the exclusion relation, deriving many type exclusions from declared and implicit ones. We also show how to check our rules for ensuring the safety of overloaded functions. In particular, we reduce the problem of handling parametric polymorphism to one of determining subtyping relationships among universal and existential types. Our system has been implemented as part of the open-source Fortress compiler. Copyright is held by the author / owner(s).
Class evolution in object-orientedprogramming often causes so-called breaking changes, largely because of the rigidity of component interconnections in the form of explicit method calls and field accesses. We present...
详细信息
Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encourages users to overwhelm us with requests for features. The result: Featuritis, which prom...
详细信息
ISBN:
(纸本)9781450305563
Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encourages users to overwhelm us with requests for features. The result: Featuritis, which promotes hasty construction of poorly designed software to support those features. The design of an expressive domain model might get lost in the rush to write working code. Adaptive object-Models support changeable domain modules by casting business rules as interpreted data and representing objects, properties and relationships in external declarations. Now users can change the system domain models themselves as their business dictates without having to deal with programmers at all. It's the ultimate in agility!.
Reuse in object-oriented languages typically focuses on inheritance. Numerous techniques have been developed to provide finer-grained reuse of methods, such as flavors, mixins and traits. These techniques, however, on...
详细信息
The optimization in the operation of distribution electric systems has become an acute problem. In order to evaluate some essential criteria (e.g., active power losses) the computation of power flow is absolutely nece...
详细信息
In object-oriented languages, overloaded methods with multiple dispatch extend the functionality of existing classes, and multiple inheritance allows a class to reuse code in multiple classes. However, both multiple d...
详细信息
This paper describes a detailed design and description of a software tool that can be used for a software metrics validation experiment in an object-oriented environment. A detailed description of the steps of a poten...
详细信息
ISBN:
(纸本)9781880843833
This paper describes a detailed design and description of a software tool that can be used for a software metrics validation experiment in an object-oriented environment. A detailed description of the steps of a potential experiment is presented. The algorithm to be used for creating test data in the proposed experiment is also included.
object-sensitivity has emerged as an excellent context abstraction for points-to analysis in object-oriented languages. Despite its practical success, however, object-sensitivity is poorly understood. For instance, fo...
详细信息
The object-orientedprogramming (OOP) constructs of Fortran 2003 facilitate an elegant memory management solution of particular value when Fortran drives a second language that does not provide automatic garbage colle...
详细信息
暂无评论