i want use dequeue in verse
but decue use ‘decides’ effect
so i use it
but error is not going
it’s i use code queue
queue(t:type) := class:
Elements:t = array{}
Enqueue<public>(NewElement:t):queue(t)=
queue(t){Elements := Elements + array{NewElement}}
Dequeue<public>()<decides><transacts>:tuple(queue(t),t)=
FirstElement := Front[]
(queue(t){Elements := Elements.RemoveElement[0]}, FirstElement)
Size<public>()<transacts>:int=
Elements.Length
IsEmpty<public>()<decides><transacts>:void=
Size() = 0
Front<public>()<decides><transacts>:t=
Elements[0]
Rear<public>()<decides><transacts>:t=
Elements[Elements.Length - 1]
dequeue() : void=
#{Elements.RemoveElement[0]}
block:
CreateQueue(InitialElements:t where t:type) := queue(t):
Elements := InitialElements