Visualizzazione dei risultati da 1 a 4 su 4

Visualizzazione discussione

  1. #1
    Utente di HTML.it L'avatar di Nikopol
    Registrato dal
    Jan 2011
    Messaggi
    120

    [Haskell] Definizione di albero binario con elementi "derivati" da Ordering

    Ciao a tutti,
    devo definire una funzione che cerchi un elemento (Int) in un albero binario di ricerca.
    Mi è stato imposto di comparare gli elementi usando la funzione compare di Ordering:
    codice:
    compare :: Ord a => a -> a -> Ordering
    Ho definito l'albero come:
    codice:
    data Tree = Leaf Int
              | Node Tree Int Tree
              deriving (Ordering)
    e la funzione per la ricerca come:
    codice:
    occursT :: Int -> Tree -> Bool
    occursT n (Leaf m) = n `compare` m == EQ
    occursT n (Node t1 m t2)
        | n `compare` m == LT = occursT (t1)
        | n `compare` m == GT = occursT (t2)
        | otherwise = True
    Il problema è che in fase di compilazione, alla riga in cui c'è deriving(Ordering), ottengo questo errore :
    codice:
    Expected kind ‘k0 -> GHC.Prim.Constraint’,
          but ‘Ordering’ has kind ‘*’
        In the data declaration for ‘Tree’
    Sapreste dirmi cosa sbaglio?

    Grazie in anticipo
    Ultima modifica di Nikopol; 23-10-2015 a 23:41
    La Guida Galattica è infallibile.
    È la realtà, spesso, ad essere inesatta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.