Ralf Hemmecke wrote:
>
> On 01/18/2012 06:41 PM, Martin Baker wrote:
> > On Wednesday 18 Jan 2012 16:48:42 Waldek Hebisch wrote:
> >> Assuming everything is in graph.spad:
> >>
> >> )boot $bootStrapMode := true
> >> )compile graph.spad
> >> )boot $bootStrapMode := false
> >> )compile graph.spad
> >
> > OK thanks, I have updated the tutorial, this simplifies the process a
> > lot.
>
> https://github.com/hemmecke/fricas/commit/6fa5c6e9025c6b6be80d120c04928eeae2367d16
>
> I've updated your tutorial a bit by introducing the "document" command
> to tangle the files. At least on my computer there also was no Loop
> domain. So I also had to extract it from graph.spad.pamphlet
>
> I get the same errors that you get.
>
> compiling exported * : ($,$) -> DirectedGraph Product(S,S)
> Internal Error
> Error while instantiating type DirectedGraph(Product S S)
>
> and I think that Waldek's hint is not the right one.
You mean that you still get error after using described
procedure?
> It looks like the
> error comes from
>
> DirectedGraph(S): Exports == Implementation where
> S: SetCategory
> ...
> SPROD ==> Product(S,S)
> GRPHPROD ==> DirectedGraph SPROD
>
> Exports ==> Graph(S) with
> ...
> "*":(%,%) -> GRPHPROD
> Implementation ==> add
> ...
>
> You basically want DirectGraph(S) to export a function with signature
>
> (%, %) -> DirectGraph Product(S, S)
>
This is supposed to work, $bootStrapMode is exactly designed
to resolve such cases.
> I think, such a function should better live inside a package:
>
> DirectGraphFunctions(S): with
> _*: (DirectGraph S, DirectGraph S) -> DirectGraph Product(S, S)
> == add
> ...
>
> That would probably avoid the bootstrapping problem and looks much
> cleaner IMHO.
I do not think this is good idea: '*' is clearly operation on
DirectGraph and naturally belong to the domain. We have cases
where for technical reasons we have to introduce extra packages,
but this is not the case.
--
Waldek Hebisch
[email protected]
--
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.