Oops. Actually I intended to show this output
(1) -> )boot $pretendFlag := true
(EVAL-WHEN (EVAL LOAD) (SETQ |$pretendFlag| T))
Value = T
(1) -> )boot axFormatType(['FiniteDivisor, '_#1, '_#2, '_#3, '_#4])
(EVAL-WHEN (EVAL LOAD)
(PROG ()
(RETURN (|axFormatType| (LIST '|FiniteDivisor| '|#1| '|#2| '|#3|
'|#4|)))))
Value = (|Apply| |FiniteDivisor| (|PretendTo| |#2| |Field|)
(|PretendTo| |#3|
(|Apply| |UnivariatePolynomialCategory| (|PretendTo| |#2|
|Ring|)))
(|PretendTo| |#4|
(|Apply| |UnivariatePolynomialCategory|
(|PretendTo|
(|Apply| |Fraction| (|PretendTo| |#3| |IntegralDomain|))
|Ring|)))
(|PretendTo| |#5|
(|Apply| |FunctionFieldCategory|
(|PretendTo| |#2| |UniqueFactorizationDomain|)
(|PretendTo| |#3|
(|Apply| |UnivariatePolynomialCategory| (|PretendTo| |#1|
|Ring|)))
(|PretendTo| |#4|
(|Apply| |UnivariatePolynomialCategory|
(|PretendTo|
(|Apply| |Fraction| (|PretendTo| |#2| |IntegralDomain|))
|Ring|))))))
(1) ->
On Thu, Dec 15, 2011 at 10:21 PM, Bill Page <[email protected]>wrote:
> Ralf,
>
> If you really wanted to do that everywhere in the result of axFormatType,
> in the file 'interp/ax.boot' you could change the line
>
> MEMQ(typeform, $FormalMapVariableList) => typeform
>
> to
>
> MEMQ(typeform, $FormalMapVariableList) =>
> SUBLISLIS(rest $FormalMapVariableList, $FormalMapVariableList,
> typeform)
>
> but I have some doubts that this can be the correct solution in general.
> What happens to |#1| ? What is the underlying reason for this change? What
> changed in FriCAS to make this necessary? Or are you saying that this is
> necessary only in the case of FiniteDivisor ? I notice that there are
> numerous such special cases in the 'ax.boot' code.
>
> Note: For debugging BOOT programming I find Lisp syntax
>
>
> )lisp (|axFormatType| '(|FiniteDivisor| |#2| |#3| |#4| |#5|))
>
> sometimes a bit inconvenient. Maybe the )boot command is another thing
> that needs more documentation. The command )boot converts from BOOT syntax
> to Lisp and then executes the Lisp. For example.
>
> (1) -> )boot axFormatType( [ 'FiniteDivisor, '_#1, '_#2, '_#3, '_#4 ]
> )
>
> (EVAL-WHEN (EVAL LOAD)
> (PROG ()
> (RETURN (|axFormatType| (LIST '|FiniteDivisor| '|#1| '|#2| '|#3|
> '|#4|)))))
>
> Value = (|Apply| |FiniteDivisor| |#2| |#3| |#4| |#5|)
>
> This is the result after changing 'ax.boot' as I suggested above and
> running
>
> (1) -> )read /home/wspage/fricas-src/src//interp/ax.boot
>
> Regards,
> Bill Page.
>
>
> On Thu, Dec 15, 2011 at 6:58 PM, hemmecke <[email protected]> wrote:
>
>> Status update.
>>
>> I believe, I've found where ax.boot needs to be fixed.
>>
>> The translation will call
>>
>> )lisp (|axFormatType| '(|FiniteDivisor| |#2| |#3| |#4| |#5|))
>>
>> with $pretendFlag being true. That ends up in figuring out the |
>> PretendTo| things from the output of
>>
>> )lisp (GETDATABASE '|FiniteDivisor| 'CONSTRUCTORMODEMAP)
>>
>> The problem simply is that one would have to replace |#1| by |#2|, |
>> #2| by |#3|, etc. as given in the |axFormatType| call and probably do
>> this recursively.
>>
>> I guess, I cannot manage to fix it too quickly since I'd have to find
>> my way through "programming in BOOT".
>>
>> Would be good if the interface were fixed, but maybe after fixing
>> that, other problems pop up. So don't let the release be delayed.
>>
>> Ralf
>>
>> --
>> 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.
>>
>>
>
--
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.