Hello Waldek, *,

Sorry for the late mail, summer, etc.

Le lun. 4 août 2025 à 19:59, Waldek Hebisch <[email protected]> a écrit :

[snip]

> Currently the only user of comdb.text and libdb.tex is
> IndexCard and related database in 'alql.spad'.  I am
> not sure what to do with this.  In principle we could
> create strings on the fly form other info, but that
> means keeping code which is not needed for other purpose.
> We could modify IndexCard to internally use representaion
> like used for searches.  But exposing S-expression in
> user interface is not exactly nice, an having convertion
> to strings means keeping extra code.  We could entirely
> remove IndexCard.  I am not sure if anybody uses it,
> but it is mentioned in FriCAS book, so removal of
> IndexCard would mean removing or rewritning corresponding
> part.

I am using IndexCard behind the scene of my code. My code is basically, a
Spad adaptation from a previous mail of you:

    jlDocumentation  : Symbol -> Void
    ++ jlDocumentation(op) shows the documentation of the
    ++ Julia operation op. Trivial implementation.

   jlDocumentation(op) ==
      ops := getDatabase("o")$OperationsQuery
      req := elt(ops,equation('name, string op)$QueryEquation)
      -- See alql.spad
      docs : DataList(String) := elt(req,'doc)
      origs : DataList(String) := elt(req,'origin)
      types : DataList(String) := elt(req, 'type)

The rest is a grep clean code of the result. But frankly, removing
IndexCard is not a problem for me as far as it is possible to retrieve in
some manner the ++ documentation strings, the origins and the types
involved. Maybe this can be kept. I wonder where you are at your stage.

Cheers,

-- Greg

Example (awful, but panAxiom/Mathematica kernels vs numerical softwares use
different parameter order):

(1) -> jlDocumentation atan
   atan(x) represents the Fortran intrinsic function ATAN
    Signature:
   (%)->%
    From:
   FortranExpression


   atan(x) computes the inverse tangent of x.
    Signature:
   (%)->%
    From:
   JLComplexFloat


   atan(x) applies the inverse tangent operator to x
    Signature:
   (F)->F
    From:
   ElementaryFunction


   atan(m) computes the inverse matrix tangent of m.
    Signature:
   (JLComplexF64Matrix)->JLComplexF64Matrix
    From:
   JLComplexF64MatrixTranscendentalFunctions


   atan(st) computes arctangent of a power series st.
    Signature:
   (Stream(Coef))->Stream(Coef)
    From:
   StreamTranscendentalFunctions


   atan(st) computes arctangent of a power series st.
    Signature:
   (Stream(Coef))->Stream(Coef)
    From:
   StreamTranscendentalFunctionsNonCommutative


   atan(z) returns the arc-tangent of Laurent series z.
    Signature:
   (ULS)->ULS
    From:
   ElementaryFunctionsUnivariateLaurentSeries


   atan(z) returns the arc-tangent of a Puiseux series z.
    Signature:
   (UPXS)->UPXS
    From:
   ElementaryFunctionsUnivariatePuiseuxSeries


  atan(x) returns the arc-tangent of x. When evaluated into some subset of
the complex numbers, one branch cut f
  or atan lies along the positive imaginary axis above \%i (exclusive),
continuous with the left half plane, the
   other along the negative imaginary axis below -\%i (exclusive)
continuous with the right half plane. The doma
  in does not contain \%i and -\%i.
    Signature:
   (%)->%
    From:
   ArcTrigonometricFunctionCategory


   atan(m) computes the inverse matrix tangent of m.
    Signature:
   (JLFloat64Matrix)->JLComplexF64Matrix
    From:
   JLF64MatrixTranscendentalFunctions


   atan(x, y) computes the inverse tangent of x/y.
    Signature:
   (%,%)->%
    From:
   JLComplexFloat


  atan(x, repr) returns atan(x) using one of the repr representations:
:default (since 'default' is a FriCAS key
  word use jsym(String) to coerce it) :logarithm :direct or :arctangent
    Signature:
   (%,JLSymbol)->%
    From:
   InnerNMExactCalciumField


   atan(x, y) computes the inverse tangent of x/y.
    Signature:
   (%,%)->%
    From:
   JLMachineFloat


   atan(x, y) computes the arc tangent from x with phase y.
    Signature:
   (%,%)->%
    From:
   DoubleFloat


   atan(x, y) computes the arc tangent from x with phase y.
    Signature:
   (%,%)->%
    From:
   Float


   atan(x, y) computes the inverse tangent of x/y.
    Signature:
   (%,%)->%
    From:
   JLFloat


   atan(x, y) computes the inverse tangent of x/y.
    Signature:
   (%,%)->%
    From:
   NMArbField



    Signature:
   (%,%)->%
    From:
   NMRealBall


   atan(x, y) computes the inverse tangent of x/y.
    Signature:
   (%,%)->%
    From:
   NMRealField


   atan(z1,z2) computes the arc tangent of z2/z1.
    Signature:
   (%,%)->%
    From:
   WSAPComplex


   atan(x,y) computes the arc tangent of y/x.
    Signature:
   (%,%)->%
    From:
   WSAPReal


   atan(z1,z2) computes the arc tangent of z2/z1.
    Signature:
   (%,%)->%
    From:
   WSComplex


   atan(x,y) computes the arc tangent of y/x.
    Signature:
   (%,%)->%
    From:
   WSExpression


   atan(x,y) computes the arc tangent of y/x.
    Signature:
   (%,%)->%
    From:
   WSReal


  atan(x, repr) returns atan(x) using one of the repr representations:
:default (since 'default' is a FriCAS key
  word use jsym(String) to coerce it) :logarithm :direct or :arctangent
    Signature:
   (%,JLSymbol)->%
    From:
   NMExactCalciumField



                        Type: Void

Time: 0.22 (EV) + 1.56 (OT) = 1.78 sec
(2) ->

-- 
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 visit 
https://groups.google.com/d/msgid/fricas-devel/CAHnU2dZ-GrgRLG6u-goeL%3D2t%3Di0XfKZHnhTHcsfRNZhLq_K-%3DA%40mail.gmail.com.

Reply via email to