Steps to finish SRFI 234: topological sorting Dr. Arne Babenhauserheide (11 Apr 2023 06:42 UTC)
Re: Steps to finish SRFI 234: topological sorting Marc Nieper-Wißkirchen (13 Apr 2023 15:36 UTC)
Re: Steps to finish SRFI 234: topological sorting Arthur A. Gleckler (13 Apr 2023 17:05 UTC)
Re: Steps to finish SRFI 234: topological sorting Marc Nieper-Wißkirchen (13 Apr 2023 18:30 UTC)
Re: Steps to finish SRFI 234: topological sorting Marc Nieper-Wißkirchen (13 Apr 2023 18:32 UTC)
Re: Steps to finish SRFI 234: topological sorting Arthur A. Gleckler (13 Apr 2023 19:05 UTC)
Re: Steps to finish SRFI 234: topological sorting Marc Nieper-Wißkirchen (13 Apr 2023 19:16 UTC)
Re: Steps to finish SRFI 234: topological sorting Arthur A. Gleckler (13 Apr 2023 19:33 UTC)
Re: Steps to finish SRFI 234: topological sorting Arthur A. Gleckler (13 Apr 2023 18:59 UTC)

Re: Steps to finish SRFI 234: topological sorting Marc Nieper-Wißkirchen 13 Apr 2023 18:31 UTC

PS I am advocating the Unix philosophy a bit here.  Every fundamental
procedure just needs to be able to do a single thing because we can
compose procedures.

Am Do., 13. Apr. 2023 um 20:30 Uhr schrieb Marc Nieper-Wißkirchen
<xxxxxx@gmail.com>:
>
> Am Do., 13. Apr. 2023 um 19:05 Uhr schrieb Arthur A. Gleckler
> <xxxxxx@speechcode.com>:
> >
> > On Thu, Apr 13, 2023, 8:36 AM Marc Nieper-Wißkirchen <xxxxxx@gmail.com> wrote:
> >>
> >> The most efficient neutral representation of a DAG is probably a
> >> vector (v_0 ... v_n-1) of vectors.  In this case, there would be n
> >> nodes.  Each single vector v_i is the vector of successors of the i-th
> >> node, where the successors are represented by exact integers between 0
> >> and n-1.
> >
> >
> > It would be nice to have an abstract interface rather than a concrete implementation — or at least you have an option to use that.
>
> The proposed interface is as abstract as Scheme's use of lists to
> model sequences, so I don't see a problem here.
>
> Of course, one can hide everything behind some opaque record type but
> then would be no improvement.
>
>  > Also, any representation should allow for edge labels, even if
> they're not required.
>
> A library dealing with general graphs and operations on graphs (like
> collapsing of edges), etc., would need to deal with it.
>
> A procedure such as the one exported by SRFI 234 doesn't need all
> these bells and whistles; I would compare it to sort and vector-sort
> of R6RS/SRFI 132 (which also don't speak about abstract sequences).
>
> I would see a general graph library (defining some opaque graph types)
> using SRFI 234 to provide topological sorting; other use cases that
> need utmost efficiency or don't need fancy graph operations would use
> SRFI 234 directly.
>
> Marc