On Sat, Sep 13, 2008 at 7:07 PM, Martin Rubey wrote:
>
> I'm wondering about the following behaviour:
>
> (1) -> integrate(e^sin x, x)::INFORM
>
> (1) (integral (** e (sin x)) (:: x Symbol))
> Type: InputForm
>
> caused by
>
> inint l ==
> r2:= convert([convert("::"::SE)@INP,convert(third
> l)@INP,convert("Symbol"::SE)@[EMAIL PROTECTED] INP)@INP
> pint [convert(integrand l)@INP, r2]
>
>
> Can anybody imagine why
>
> inint l == pint [convert(integrand l)@INP, convert(third l)@INP]
>
> wouldn't suffice? Is there a problem when making functions or something like
> that?
>
What sort of problem would you forsee? It seems to me that it should
suffice. E.g.
(13) ->
convert(([integral::InputForm,[_*_*::InputForm,e::InputForm,convert([sin::InputForm,x::InputForm])],x])::List
InputForm)
(13) (integral (** e (sin x)) x)
Type: InputForm
(14) -> interpret %
x
++ sin(%A)
(14) | e d%A
++
Type: Expression Integer
(15) -> integrate(e^sin x, x)::INFORM
(15) (integral (** e (sin x)) (:: x Symbol))
Type: InputForm
(16) -> interpret %
x
++ sin(%A)
(16) | e d%A
++
Type: Expression Integer
---------
But it does raise the question about when (or if) explicit coercions
need to be generated in InputForm. Presumably the goal is always to be
able to generate an InputForm which when interpreted would generate
the original, i.e.
interpret(x::InputForm) = x
for all (or at least a large subset) of values x of (almost all)
types. Are there examples of values which cannot be expressed without
coercions?
Regards,
Bill Page.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---