Hello Serge,
Qi does include facilities for handling dependent types see
http://groups.google.co.uk/group/qilang/browse_thread/thread/96892fbdfd312c97/8db8cdb3dfeba0fd?hl=en&lnk=gst&q=dependent+types#8db8cdb3dfeba0fd
The type notation is actually Turing equivalent, as asserted here
http://www.lambdassociates.org/studies/study01.htm
and demonstrated formally here
http://groups.google.co.uk/group/qilang/browse_thread/thread/f9dadc73d3ccafcd/085df0b43ab86f3a?hl=en&lnk=gst&q=combinator#085df0b43ab86f3a
Qi II includes lazy evaluation on demand
http://www.lambdassociates.org/Book/page153.htm
Shen has one important innovation not found in Qi II, which is the
ability to extend the resident type checker with type secure *tactics*
in the manner of LCF etc. This enables advanced techniques form
algebra and formal methods to be programmed into Shen. This feature
has not yet been discussed in this group, but will be when Shen
appears later this spring.
Mark
On 9 Apr, 16:23, "Serge D. Mechveliani" <mech...@botik.ru> wrote:
> Dear Qi team and community,
>
> I have a large computer algebra library called DoCon written in
> Haskell (both tools are available on the Web).
>
> Also I have formulated certain main requirements for an universal
> functional language. This is described in the manuscripts
>
> "What should be an universal functional language" (2003)
> http://www.botik.ru/pub/local/Mechveliani/otherPapers/whatsh.ps.zip
> and
> "Haskell and computer algebra" (2001)
> http://www.botik.ru/pub/local/Mechveliani/basAlgPropos/haskellInCA2.p...
>
> The first main point is
> how to add to Haskell the dependent types feature?
> (the possibility to define a domain computed at runtime dependently
> on its parameters).
>
> Due to absence of dependent types, the DoCon library has too complex
> architecture for an algebraic domain and its instances
> (see about the "sample argument approach" in DoCon and in the above
> two manuscripts).
>
> It is difficult to reliably implement categories (classes) with
> dynamic instances.
>
> The Cayenne language tried dependent types. But its project has
> stopped long ago, so far as I know.
> The Aldor language has dynamic domains, but it is not functional,
> it stands too far from Haskell. Also I never tried the implementation.
>
> Can Qi be considered as an improvement of Haskell in what it
> concerns computer algebra?
>
> With kind regards,
>
> -----------------
> Serge Mechveliani
> mech...@botik.ru
>
> (for any occasion, copy the reply to mech...@botik.ru)