1999 · 48 citations · 18 references
EngineeringComputer ArchitectureSoftware AnalysisFormal VerificationSocial SciencesLazy ListsDependently Typed ProgrammingHigh-level Programming LanguageEmbedded LanguageDesignComputer EngineeringComputer ScienceType SystemFunctional ProgrammingSoftware DesignFunctional Programming LanguageArchitectural DesignMicroarchitectural DesignsAutomated ReasoningProgram AnalysisFormal MethodsIntermediate RepresentationMicroarchitectural Design Language
Based on our experience with modelling and verifying microarchitectural designs within Haskell, this paper examines our use of Haskell as host for an embedded language. In particular, we highlight our use of Haskell's lazy lists, type classes, lazy state monad, and unsafe Perform I0, and point to several areas where Haskell could be improved in the future. We end with an example of a benefit gained by bringing the functional perspective to microarchitectural modelling.
18
Dean M. Tullsen, Susan J. Eggers, Joel Emer et al. · 1996 · 779 citations
Hardware Security, Engineering, High-performance Architecture +12
Conal Elliott, Paul Hudak · 1997 · 613 citations
The next 700 programming languages
P. J. Landin · Communications of the ACM · 1966 · 580 citations · Full text
LUSTRE: A declarative language for programming synchronous systems*
Paul Caspi, D. Pilaud, Nicolas Halbwachs et al. · 1987 · 461 citations
Per Bjesse, Koen Claessen, Mary Sheeran et al. · 1998 · 372 citations