doc-src/Codegen/Thy/examples/Example.hs
changeset 31544 19b77b1de188
parent 31045 f0c7607bb295
child 31848 e5ab21d14974
equal deleted inserted replaced
31543:5bef6c7cc819 31544:19b77b1de188
    21 
    21 
    22 dequeue :: forall a. Queue a -> (Maybe a, Queue a);
    22 dequeue :: forall a. Queue a -> (Maybe a, Queue a);
    23 dequeue (AQueue [] []) = (Nothing, AQueue [] []);
    23 dequeue (AQueue [] []) = (Nothing, AQueue [] []);
    24 dequeue (AQueue xs (y : ys)) = (Just y, AQueue xs ys);
    24 dequeue (AQueue xs (y : ys)) = (Just y, AQueue xs ys);
    25 dequeue (AQueue (v : va) []) =
    25 dequeue (AQueue (v : va) []) =
    26   let {
    26   (let {
    27     (y : ys) = rev (v : va);
    27     (y : ys) = rev (v : va);
    28   } in (Just y, AQueue [] ys);
    28   } in (Just y, AQueue [] ys) );
    29 
    29 
    30 enqueue :: forall a. a -> Queue a -> Queue a;
    30 enqueue :: forall a. a -> Queue a -> Queue a;
    31 enqueue x (AQueue xs ys) = AQueue (x : xs) ys;
    31 enqueue x (AQueue xs ys) = AQueue (x : xs) ys;
    32 
    32 
    33 }
    33 }