DEFINITION MODULE SingleLinkedList; TYPE List ; VAR result : BOOLEAN; (* PROCEDURE SearchItem ( item : ; compare : PROC ) : BOOLEAN; PROCEDURE Traverse (l : List; toDo : PROC); *) PROCEDURE Empty (VAR l : List): BOOLEAN ; (* PROCEDURE RemoveItem (): BOOLEAN; PROCEDURE AddItem (): BOOLEAN; *) PROCEDURE SetPos(l : List; pos : CARDINAL ) : BOOLEAN ; PROCEDURE GetPosCurrentElement (l : List) : CARDINAL ; PROCEDURE GetPosLastElement (l : List) : CARDINAL ; PROCEDURE AddElement (VAR l : List; pos : CARDINAL) : BOOLEAN ; PROCEDURE AddElementLast (VAR l : List); PROCEDURE RemoveElement (VAR l : List; pos : CARDINAL ) : BOOLEAN ; PROCEDURE DoEmptyList (VAR l : List); PROCEDURE Free (VAR l : List); PROCEDURE Init (VAR l : List; mode : BOOLEAN ; p : PROC); END SingleLinkedList.