Fwd: design pattern wanted

From: Steffen Mazanek <steffen.mazanek_at_unibw.de>
Date: Tue, 08 Apr 2008 13:36:31 +0200

Oh, sorry for my chaotic description of the problem and thank
you for asking for clarification.

My basic question is: Is it possible with some trick to insert a
free variable into a set?

In my setting I represent graphs as lists of edges. This
representation allows to add free variables, i.e., placeholders
for real edges that are not known yet. While performing syntax
analysis those variables are instantiated by the parser (if
possible). For instance, consider the graph language of all
chain graphs 'a'^k 'b'^k, i.e. a chain of k 'a'-edges is followed
by a chain of k 'b'-edges.

Consider the graph g=[("a",(1,2)),e] where e free.
The result of syntax analysis is a success binding free
variable e to ("b",(2,_c)) where c is another free variable.
But I do not like representing graphs as lists and would
rather prefer some kind of a set representation. Among
others, lists have the problem that if n free variable edges are
inserted we get n!-1 redundant versions of the meaningful
results.

Regards and thanks again,
Steffen


---------- Forwarded message ----------
From: Juan Carlos González Moreno <jcgmoreno64_at_gmail.com>
Date: 08.04.2008 13:14
Subject: Re: design pattern wanted
To: Steffen Mazanek <steffen.mazanek_at_unibw.de>


Sorry, but I don't understand at all your problem. AS i understand you
use sometimes logical variables for the complete Edge, but you could
use a partial structure also for edges assigning a label whose path is
free, or the information in the label is other than the identifier of
the edge ?



2008/4/8, Steffen Mazanek <steffen.mazanek_at_unibw.de>:
>
> Hello all,
>
> I just read the great paper about Functional
> Logic Design Patterns (Antoy and Hanus, 2002).
> I currently have a problem that is also of a quite
> general nature and I do not yet know a solution
> to this issue.
>
> My graphs at the moment are represented
> as lists of edges (basically) as follows:
>
> --edge is pair of label and incident nodes
> type Edge = (String,(Node,Node))
> type Graph = [Edge]
>
> Although all things work very nice with this
> list representation (in particular, a lot of
> interesting stuff works in both directions, a property
> that should not be lost) it is not so nice, because
> I am not interested in the order of edges here.
> Further, often access is done by using the
> particular label, so that a tree ordered by the
> edge labels would be more appropriate. However,
> sometimes I use free variables as placeholders for
> edges to be instantiated later. I cannot imagine
> how those could be inserted into a tree without
> even knowing their label. Has somebody ever
> thought or written about this issue?
>
> How can my demands be put together to a more
> appropriate data structure without losing the
> advantages of the simple approach?
>
> Regards,
> Steffen
> _______________________________________________
> curry mailing list
> curry_at_lists.RWTH-Aachen.DE
> http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
>



-- 
Dr. D. Juan Carlos González Moreno
Profesor Titular de Universidad
 Departamento de Informática
Universidad de Vigo
-- 
Dipl.-Inform. Steffen Mazanek
Institut für Softwaretechnologie
Fakultät Informatik
Universität der Bundeswehr München
85577 Neubiberg
Tel: +49 (0)89 6004-2505
Fax: +49 (0)89 6004-4447
E-Mail: steffen.mazanek_at_unibw.de
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Di Apr 08 2008 - 13:38:24 CEST

This archive was generated by hypermail 2.3.0 : Do Mär 28 2024 - 07:15:10 CET