On Thu, Jul 5, 2018 at 12:20 PM, Riccardo GUIDA
<[email protected]> wrote:
> Hi
>
> I do not understand how the syntax
>
> rule sin(x) == x -- see (1) below
>
> is accommodated to fit in the signature
> (EXPR(INT), EXPR(INT)) -> RULE(INT,INT,EXPR(INT))
> see fricas message below
>
> In other words: in (1) I do not see a call to a function "rule" of two
> parameters, rule(f,g): what's happening? Is this an interpreter (command
> line) language construct that has nothing to do with standard function call
> of type rule(f,g)?
>
> Can one rewrite (1) as an equivalent function call rule(f,g) for some f,g?
The syntax in (1) is a little bit of interpreter "magic". It is just
sugar for (2)
(1) -> rule sin(x) == x
(1) sin(x) == x
Type: RewriteRule(Integer,Integer,Expression(Integer))
(2) -> _rule(sin('x),'x)
(2) sin(x) == x
Type: RewriteRule(Integer,Integer,Expression(Integer))
The escape symbel _ is necessary in order to defeat the magic.
See also some other possibly useful functions in the RewriteRule,
Ruleset and Pattern domains. Eg,
(3) -> )sh RewriteRule
RewriteRule(Base: SetCategory,R:
Join(Ring,PatternMatchable(Base),Comparable,ConvertibleTo(Pattern(Base))),F:
Join(FunctionSpace(R),PatternMatchable(Base),ConvertibleTo(Pattern(Base))))
is a domain constructor
Abbreviation for RewriteRule is RULE
This constructor is exposed in this frame.
------------------------------- Operations --------------------------------
?=? : (%, %) -> Boolean coerce : Equation(F) -> %
coerce : % -> OutputForm ?.? : (%, F) -> F
hash : % -> SingleInteger latex : % -> String
lhs : % -> F pattern : % -> Pattern(Base)
retract : % -> Equation(F) rhs : % -> F
rule : (F, F, List(Symbol)) -> % rule : (F, F) -> %
?~=? : (%, %) -> Boolean
elt : (%, F, PositiveInteger) -> F
hashUpdate! : (HashState, %) -> HashState
quotedOperators : % -> List(Symbol)
retractIfCan : % -> Union(Equation(F),"failed")
suchThat : (%, List(Symbol), (List(F) -> Boolean)) -> %
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.