1010from inspect import isgenerator
1111from typing import Callable , Optional , Union
1212
13+ from mathics .builtin .no_meaning import (
14+ DirectedEdge as GenericDirectedEdge ,
15+ UndirectedEdge as GenericUndirectedEdge ,
16+ )
17+ from mathics .core .attributes import A_PROTECTED , A_READ_PROTECTED
1318from mathics .core .builtin import AtomBuiltin , Builtin
1419from mathics .core .atoms import Atom , Integer , Integer0 , Integer1 , Integer2 , String
1520from mathics .core .convert .expression import ListExpression , from_python , to_mathics_list
@@ -893,8 +898,8 @@ def neighbors(v):
893898 return self ._retrieve (graph , what , neighbors , expression , evaluation )
894899
895900
896- class DirectedEdge (Builtin ):
897- """
901+ class DirectedEdge (GenericDirectedEdge ):
902+ r """
898903 Edge of a <url>
899904 :Directed graph:
900905 https://en.wikipedia.org/wiki/Directed_graph</url> (<url>
@@ -908,9 +913,15 @@ class DirectedEdge(Builtin):
908913 <dt>'DirectedEdge[$u$, $v$]'
909914 <dd>create a directed edge from $u$ to $v$.
910915 </dl>
916+
917+ >> DirectedEdge[x, y, z]
918+ = x → y → z
919+
920+ >> a \[DirectedEdge] b
921+ = a → b
911922 """
912923
913- summary_text = "make a directed graph edge"
924+ attributes = A_PROTECTED | A_READ_PROTECTED
914925
915926
916927class EdgeConnectivity (_NetworkXBuiltin ):
@@ -1494,7 +1505,7 @@ def _items(self, graph):
14941505 return graph .vertices
14951506
14961507
1497- class UndirectedEdge (Builtin ):
1508+ class UndirectedEdge (GenericUndirectedEdge ):
14981509 """
14991510 <url>
15001511 :WMA link:
@@ -1506,17 +1517,10 @@ class UndirectedEdge(Builtin):
15061517 </dl>
15071518
15081519 >> a <-> b
1509- = UndirectedEdge[a, b]
1510-
1511- >> (a <-> b) <-> c
1512- = UndirectedEdge[UndirectedEdge[a, b], c]
1513-
1514- >> a <-> (b <-> c)
1515- = UndirectedEdge[a, UndirectedEdge[b, c]]
1520+ = ...
15161521 """
15171522
1518- summary_text = "undirected graph edge"
1519- pass
1523+ attributes = A_PROTECTED | A_READ_PROTECTED
15201524
15211525
15221526# class EdgeAdd(_NetworkXBuiltin):
0 commit comments