Results 1  10
of
94
The Cecil Language, Specification and Rationale
, 1993
"... Cecil is a new purely objectoriented language intended to support rapid construction of highquality, extensible software. Cecil combines multimethods with a classless object model, objectbased encapsulation, and optional static type checking. Cecil's static type system distinguishes between ..."
Abstract

Cited by 115 (20 self)
 Add to MetaCart
Cecil is a new purely objectoriented language intended to support rapid construction of highquality, extensible software. Cecil combines multimethods with a classless object model, objectbased encapsulation, and optional static type checking. Cecil's static type system distinguishes between subtyping and code inheritance, but Cecil enables these two graphs to be described with a single set of declarations, optimizing the common case where the two graphs are parallel. Cecil includes a fairly flexible form of parameterization, including both explicitly parameterized objects, types, and methods and implicitly parameterized methods related to the polymorphic functions commonly found in functional languages. By making type declarations optional, Cecil aims to support mixed exploratory and production programming styles. This document describes the design of the Cecil language as of March, 1993. It mixes the specification of the language with discussions of design issues and explanations of...
Galois Groups of Second and Third Order Linear Differential Equations
 J. Symb. Comp
, 1997
"... this paper we show how factorization properties of these symmetric powers can be used to determine structural properties of the galois groups of second and third order linear differential equation. This in turn will allow us to give necessary and sufficient conditions for these linear differential e ..."
Abstract

Cited by 55 (16 self)
 Add to MetaCart
this paper we show how factorization properties of these symmetric powers can be used to determine structural properties of the galois groups of second and third order linear differential equation. This in turn will allow us to give necessary and sufficient conditions for these linear differential equations to have liouvillian solutions. For example we show (Corollary 4.4):
The Cecil language  specification and rationale: Version 3.2
, 2004
"... Cecil is a purely objectoriented language intended to support rapid construction of highquality, extensible software. Cecil combines multimethods with a simple classless object model, a kind of dynamic inheritance, modules, and optional static type checking. Instance variables in Cecil are access ..."
Abstract

Cited by 53 (4 self)
 Add to MetaCart
Cecil is a purely objectoriented language intended to support rapid construction of highquality, extensible software. Cecil combines multimethods with a simple classless object model, a kind of dynamic inheritance, modules, and optional static type checking. Instance variables in Cecil are accessed solely through messages, allowing instance variables to be replaced or overridden by methods and vice versa. Cecil’s predicate objects mechanism allows an object to be classified automatically based on its runtime (mutable) state. Cecil’s static type system distinguishes between subtyping and code inheritance, but Cecil enables these two graphs to be described with a single set of declarations, streamlining the common case where the two graphs are parallel. Cecil includes a fairly flexible form of parameterization, including explicitly parameterized objects, types, and methods, as well as implicitly parameterized methods related to the polymorphic functions commonly found in functional languages. By making type declarations optional, Cecil aims to allow mixing of and migration between exploratory and production programming styles. Cecil supports a module mechanism that enables independentlydeveloped subsystems to be encapsulated, allowing them to be typechecked and reasoned about in isolation despite the presence of multimethods and subclassing. Objects can be extended externally with additional
Integrating computer algebra into proof planning
 Journal of Automated Reasoning
, 1998
"... Abstract. Mechanised reasoning systems and computer algebra systems have different objectives. Their integration is highly desirable, since formal proofs often involve both of the two di erent tasks, proving and calculating. Even more importantly, proof and computation are often interwoven and not e ..."
Abstract

Cited by 42 (27 self)
 Add to MetaCart
Abstract. Mechanised reasoning systems and computer algebra systems have different objectives. Their integration is highly desirable, since formal proofs often involve both of the two di erent tasks, proving and calculating. Even more importantly, proof and computation are often interwoven and not easily separable. In this contribution we advocate an integration of computer algebra into mechanised reasoning systems at the proof plan level. This approach allows to view the computer algebra algorithms as methods, that is, declarative representations of the problem solving knowledge speci c to a certain mathematical domain. Automation can be achieved in many cases bysearching for a hierarchic proof plan at the methodlevel using suitable domainspeci c control knowledge about the mathematical algorithms. In other words, the uniform framework of proof planning allows to solve a large class of problems that are not automatically solvable by separate systems. Our approach also gives an answer to the correctness problems inherent insuch an integration. We advocate an approach where the computer algebra system produces highlevel protocol information that can be processed by aninterface to derive proof plans. Such a proof plan in turn can be expanded to proofs at di erent levels of abstraction, so the approach iswellsuited for producing a highlevel verbalised explication as well as for a lowlevel machine checkable calculuslevel proof. We present an implementation of our ideas and exemplify them using an automatically solved example. Changes in the criterion of `rigour of the proof ' engender major revolutions in mathematics.
Polynomial gcd computations over towers of algebraic extensions
 In Proc. AAECC11
, 1995
"... ..."
FOXBOX: A System for Manipulating Symbolic Objects in Black Box Representation
, 1998
"... The FOXBOX system puts in practice the black box representation of symbolic objects and provides algorithms for performing the symbolic calculus with such representations. Black box objects are stored as functions. For instance: a black box polynomial is a procedure that takes values for the variabl ..."
Abstract

Cited by 30 (12 self)
 Add to MetaCart
The FOXBOX system puts in practice the black box representation of symbolic objects and provides algorithms for performing the symbolic calculus with such representations. Black box objects are stored as functions. For instance: a black box polynomial is a procedure that takes values for the variables as input and evaluates the polynomial at that given point. FOXBOX can compute the greatest common divisor and factorize polynomials in black box representation, producing as output new black boxes. It also can compute the standard sparse distributed representation of a black box polynomial, for example, one which was computed for an irreducible factor. We establish that the black box representation of objects can push the size of symbolic expressions far beyond what standard data structures could handle before. Furthermore, FOXBOX demonstrates the generic program design methodology. The FOXBOX system is written in C++. C++ template arguments provide for abstract domain types. Currently, F...
Signatures: A Language Extension for Improving Type Abstraction and Subtype Polymorphism in C++
 SOFTWARE–PRACTICE AND EXPERIENCE
, 1995
"... ..."
Implementing Signatures for C++
 ACM Transactions on Programming Languages and Systems
, 1994
"... In this paper we overview the design and implementation of a language extension to C++ for abstracting types and for decoupling subtyping and inheritance. This extension gives the user more of the flexibility of dynamic typing while retaining the efficiency and security of static typing. We discuss ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
In this paper we overview the design and implementation of a language extension to C++ for abstracting types and for decoupling subtyping and inheritance. This extension gives the user more of the flexibility of dynamic typing while retaining the efficiency and security of static typing. We discuss the syntax and semantics of this language extension, show examples of its use, and present and analyze the cost of three different implementation techniques: a preprocessor to a C++ compiler, an implementation in the front end of a C++ compiler, and a lowlevel backend based implementation.
Algorithmic Methods for Lie Pseudogroups
, 1993
"... this paper, we will present such an algorithm and its implementation in the computer algebra system AXIOM. ..."
Abstract

Cited by 20 (15 self)
 Add to MetaCart
this paper, we will present such an algorithm and its implementation in the computer algebra system AXIOM.