è stato magistrato dal 1964 al 1975 e professore ordinario di Diritto e procedura penale fino al 1996, anno in cui viene nominato giudice della Corte costituzionale. Ha fatto parte delle commissioni istituite per la redazione del nuovo codice di procedura penale, entrato in vigore nel 1989. Dal 2006 è componente della European Commission for Democracy Through Law, che presta consulenza e supporto giuridico-istituzionale alle nazioni di recente democrazia. Ha scritto di argomenti giuridico-istituzionali su «la Repubblica», «Il Sole 24 Ore» e «L’Unità» e collaborato con numerose riviste giuridiche e di storia contemporanea. Tra le sue ultime pubblicazioni L’epurazione mancata (il Mulino, 2022), Diritto penale e servizio sociale (Giappichelli, 2021) e Diritto dell'immigrazione e servizi sociali (Giappichelli, 2019) e Dal fascismo alla Repubblica: quanta continuità? (Viella, 2019).