Re: Finishing SRFI 234 (Topological Sorting)
Maxime Devos 22 Nov 2022 17:36 UTC
On 22-11-2022 08:09, Lassi Kortela wrote:
> This draft is over 100 days old.
>
> IMHO (topological-sort graph [=]) is OK as is.
>
> Is the spec written correctly? [...]
On another matter, I have previously asked the following about the spec:
(https://srfi-email.schemers.org/srfi-234/msg/20897186/)
> > It is an error if the same node (in the sense of =) appears in more
> > than one connection.
>
> You mean: (0 1 1), right?
>
> Perhaps the following should be an error too (to avoid complicating the
> implementation):
>
> ((0 1)
> (0 2))
>
> -- AFAICT such graphs are currently allowed by the specification.
to which there hasn't been answer or modification to the spec yet.
>
> "Each connection is a list of the form (node dependency dependency ...),
> meaning that dependencies are dependent on node." -> Is this the
> customary order to write the graph? Makefile and similar syntaxes uses
> (node dependency dependency ...) where node is dependent on that
> dependencies. I'd anticipate this is more convenient for most
> applications. A utility to invert the graph would be needed.
Going by the graph above, I assume 'node has dependencies as
dependencies / node is a dependent of dependencies' was meant instead
(i.e., the order you are proposing).
> "It is an error if the same node (in the sense of =) appears in more
> than one connection." -> Appears at the head of more than one connection?
>
> Another procedure that returns each
> https://en.wikipedia.org/wiki/Strongly_connected_component as a list
> should probably be added.
For this I repeat my previous message:
>> Mentioned by Marc in the other thread,
>> https://en.wikipedia.org/wiki/Tarjan's_strongly_connected_components_algorithm
>
> I suppose this is an option, but the current title of the SRFI is
> 'Topological sorting', not 'strongly connected components', so it
> extends the scope of this SRFI (not necessarily a bad thing though).
>
> [...]
so myself I think it's more a 'can be added' than 'should be added'.
(I wouldn't oppose that though, to be clear).
Greetings,
Maxime.