Hello,
who knows, what is the official way to propose things to Haskell-2 ?
Who "owns" this language?
------------------
Sergey Mechveliani
[EMAIL PROTECTED]
----------------------------------------------------------------------
Basic Algebra for Haskell-2
Draft Proposal.
Version 0.02
is available via ftp, www from
ftp.botik.ru:/pub/local/Mechveliani/docon/basAlgPropos/*
http://www.botik.ru/pub/local/Mechveliani/docon/basAlgPropos/*
What is new respectively to 0.01 version:
* The program in 'demo' is slightly changed.
* The domain conversion proposal (see 'dcon') is formulated more
definitely.
This is a crucial point for the mathematical formula programming.
The old tConvProposal.txt is removed.
Abstract
--------
The implicit domain conversion is for the programming of expressions
like
a = 1 + 1%2
f = (2*x + 3*y)*(4*x^2 + 5*y^2)
g = (1%2) * x,
where x is the integer polynomial in variable "x" (belongs to Z[x]),
y polynomial in "y" with coefficients from Z[x].
The best solution is
type Q = Fraction Z
type P = UniPol Z -- Z[x]
type PP = UniPol P -- P[y]
type QX = UniPol Q -- Q[x]
...
let
-------------------------------------------------------- environment
uQ = 1%1 :: Q
uX = cToUPol 1 "x" :: P -- unity polynomial in P = Z[x]
uQX = cToUPol (1%1) "x" :: QX
...
--------------------------------------------------------------------
{dconv a = 1+1%2
f = (2*x + 3*y)*(4*x^2 + 5*y^2)
g = (1%2) * x `asDomOf` uQX
}
...
This can be provided by
* accepting that a domain is defined by a sample data element,
* introducing class Convertible with some instances to the Standard
library,
* introducing the following small elements to the language:
DCONV pragma,
{dconv..} scope denotation,
sample generation rule
- these three are quite simple things to implement.
The remarks are welcome: [EMAIL PROTECTED], - right?
[EMAIL PROTECTED]
------------------
Sergey Mechveliani
[EMAIL PROTECTED]