would like to have a binary operation -> (or something similar, e.g. =>,
==>, -->". How to handle this properly with all these special meanings?

The code


LatticeAlgebra: Category == Join(HeytingAlgebra, Monoid,
CommutativeStar) with
  --operations

    "->":       (%, %) -> %

  add

    ((x: %) *  (y: %)): % == ...
    ((x: %) -> (y: %)): % ==. ..

compiles properly, it is shown with )show:

 ?*? : (%, %) -> %                                 ?->? : (%, %) -> %
 ?/\ : List(%) -> %                                ?/\? : (%, %) -> %
 ?<? : (%, %) -> Boolean                           ?<=? : (%, %) -> Boolean
 ?=? : (%, %) -> Boolean                           ?>? : (%, %) -> Boolean
 ?>=? : (%, %) -> Boolean                          1 : () -> %
 0 : () -> %                                       ?\/ : List(%) -> %

....


But the interpreter seems not be able to call this function:

(15) -> a

   (15)  0
                                                                        
Type: BooleanLatticeAlgebra
(16) -> b

   (16)  1
                                                                        
Type: BooleanLatticeAlgebra
(17) -> a -> b
   There are 29 exposed and 5 unexposed library operations named elt
having 2 argument(s) but
      none was determined to be applicable. Use HyperDoc Browse, or issue
                                          )display op elt
      to learn more about the available operations. Perhaps
package-calling the operation or
      using coercions on the arguments will allow you to apply the
operation.

   Cannot find a definition or applicable library operation named
Mapping with argument
      type(s)
                                       BooleanLatticeAlgebra
                                       BooleanLatticeAlgebra

      Perhaps you should use "@" to indicate the required return type,
or "$" to specify which
      version of the function you need.

(17) -> a "->" b
   There are no library operations named "->"
      Use HyperDoc Browse or issue
                                           )what op "->"
      to learn if there is any operation containing " "->" " in its name.

   Cannot find a definition or applicable library operation named "->"
with argument type(s)
                                       BooleanLatticeAlgebra

      Perhaps you should use "@" to indicate the required return type,
or "$" to specify which
      version of the function you need.

(17) -> a _-> b
   There are no library operations named a
      Use HyperDoc Browse or issue
                                             )what op a
      to learn if there is any operation containing " a " in its name.

   Cannot find a definition or applicable library operation named a with
argument type(s)
                                            Variable(-)

      Perhaps you should use "@" to indicate the required return type,
or "$" to specify which
      version of the function you need.

(17) -> a _-_> b

   >> System error:
   The value
  |b|
is not of type
  LIST


Any ideas / workarounds?

-- 
Mit freundlichen Grüßen

Johannes Grabmeier

Prof. Dr. Johannes Grabmeier
Köckstraße 1, D-94469 Deggendorf
Tel. +49-(0)-991-2979584, Tel. +49-(0)-151-681-70756
Tel. +49-(0)-991-3615-141 (d),  Fax: +49-(0)-32224-192688

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/bb6d6071-5750-3ba8-31ee-008bde1fefd8%40grabmeier.net.

Reply via email to