Results 1 
8 of
8
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 subty ..."
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...
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
The Type System of Aldor
 COMPUTING LABORATORY, UNIVERSITY OF KENT AT CANTERBURY, KENT
, 1999
"... This paper gives a formal description of  at least a part of  the type system of Aldor, the extension language of the computer algebra system AXIOM. In the process of doing this a critique of the design of the system emerges. ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
This paper gives a formal description of  at least a part of  the type system of Aldor, the extension language of the computer algebra system AXIOM. In the process of doing this a critique of the design of the system emerges.
Adding the axioms to Axiom: Towards a system of automated reasoning in Aldor
 Computing Laboratory, University of Kent
, 1998
"... A number of combinations of theorem proving and computer algebra systems have been proposed; in this paper we describe another, namely a way to incorporate a logic in the computer algebra system Axiom. We examine the type system of Aldor  the Axiom Library Compiler  and show that with some modif ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
A number of combinations of theorem proving and computer algebra systems have been proposed; in this paper we describe another, namely a way to incorporate a logic in the computer algebra system Axiom. We examine the type system of Aldor  the Axiom Library Compiler  and show that with some modifications we can use the dependent types of the system to model a logic, under the CurryHoward isomorphism. We give a number of example applications of the logic we construct. 1 Introduction Symbolic mathematical  or computer algebra  systems, such as Axiom [JS92], Maple and Mathematica, are in everyday use by scientists, engineers and indeed mathematicians, because they provide a user with techniques of, say, integration which far exceed those of the person themselves, and make routine many calculations which would have been impossible some years ago. These systems are, moreover, taught as standard tools within many university undergraduate programmes and are used in support of both ac...
The Diesel language specification and rationale: Version 0.2
, 2006
"... NOTE: This document is still under construction! 1 ..."
Exploiting SML for Experimenting with Algebraic Algorithms: The Example of pAdic Lifting
 PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON DESIGN AND IMPLEMENTATION OF SYMBOLIC COMPUTATION SYSTEMS, NUMBER 1128 IN LECTURE NOTES IN COMPUTER SCIENCE
, 1996
"... This paper shows the expressive power of the functional programming language Standard ML (SML) in the context of computer algebra. It is focused on a special application of the padic lifting technique, the Hensel algorithm, that is utilized in a symbolic but also numeric context. This experiment de ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
This paper shows the expressive power of the functional programming language Standard ML (SML) in the context of computer algebra. It is focused on a special application of the padic lifting technique, the Hensel algorithm, that is utilized in a symbolic but also numeric context. This experiment demonstrates that SML provides a suitable frame for the implementation of abstract algebraic notions together withthe possibility to code related algorithms in a generic way on the corresponding level of abstraction.
HPGP: HighPerformance Generic Programming for Computational Mathematics by CompileTime Instantiation of Higher Order Functors
, 1997
"... A functor is a parameterized program module i.e. a function that takes modules as arguments and returns a module as its result. A higherorder functor deals in the same way with modules whose components are functors themselves. We propose to develop a generic compilation system for the construction ..."
Abstract
 Add to MetaCart
A functor is a parameterized program module i.e. a function that takes modules as arguments and returns a module as its result. A higherorder functor deals in the same way with modules whose components are functors themselves. We propose to develop a generic compilation system for the construction of highperformance mathematical software libraries for scientific and technical application domains. This system has the following features: 1. It is based on a powerful higherorder functor language. 2. It is an open library that can be retargeted to any core language. 3. It is able to resolve functor instantiation at compiletime. The functor language is expressive enough to build all types and type constructors without referring to the core language (thus maximizing flexibility) and to express all interactions between modules by parameterization (thus maximizing reusability). By compiletime instantiation, genericity does not cause any execution overhead; by automatically sharing instant...
Integrating Computer Algebra and Reasoning through the Type System of Aldor
, 2000
"... . A number of combinations of reasoning and computer algebra systems have been proposed; in this paper we describe another, namely a way to incorporate a logic in the computer algebra system Axiom. We examine the type system of Aldor { the Axiom Library Compiler { and show that with some modicat ..."
Abstract
 Add to MetaCart
. A number of combinations of reasoning and computer algebra systems have been proposed; in this paper we describe another, namely a way to incorporate a logic in the computer algebra system Axiom. We examine the type system of Aldor { the Axiom Library Compiler { and show that with some modications we can use the dependent types of the system to model a logic, under the CurryHoward isomorphism. We give a number of example applications of the logic we construct and explain a prototype implementation of a modied typechecking system written in Haskell. 1 Introduction Symbolic mathematical { or computer algebra { systems, such as Axiom [13], Maple and Mathematica, are in everyday use by scientists, engineers and indeed mathematicians, because they provide a user with techniques of, say, integration which far exceed those of the person themselves, and make routine many calculations which would have been impossible some years ago. These systems are, moreover, taught as standar...