Martin Rubey <[email protected]> writes:

> Rep := PositiveInteger -> Coef
>
> which is however caching values.  Or maybe I should just forget about
> the caching?


As a follow up - is the following sensible?  (it does work)

The only thing that would be affected is the way the user coerces
functions into the DirichletRing.  Actually, I think I like it...

(4) -> g: PI -> INT := n +-> n

(4) -> g 1

   (4)  1

(5) -> g::HI(INT)

   (5)  1
                                                       Type: HiThere(Integer)
(7) -> h(n: PI): INT  == n+1783
   Function declaration h : PositiveInteger -> Integer has been added
      to workspace.
   1 old definition(s) deleted for function or rule h
                                                       Type: Void
(8) -> h::HI(INT)
   Compiling function h with type PositiveInteger -> Integer

   (8)  1784
                                                       Type: HiThere(Integer)


)abb package HI HiThere
HiThere(Coef: SetCategory): SetCategory with
        coerce: (PositiveInteger -> Coef) -> %
    == add
        FUN ==> PositiveInteger -> Coef
        Rep := FUN

        per(a: Rep): % == a pretend %   
        rep(a: %): Rep == a pretend Rep 

        coerce(f: FUN): % == per f

        coerce(a: %): OutputForm == 
            f: FUN := a pretend FUN
            x: Coef := f(1$PositiveInteger)
            x::OutputForm

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to