X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FConclusions.tex;h=a8d7e9b5f5b7149f6801b97604f0b6aa2368afef;hp=0b378996293bedeafed9d3d2f982b6f175bbef34;hb=75d1001c7a7809c80bc4113477ad90b12f23b80f;hpb=b2047c9f1622d62aecc6708dd19c38b14810f275 diff --git a/Chapters/Conclusions.tex b/Chapters/Conclusions.tex index 0b37899..a8d7e9b 100644 --- a/Chapters/Conclusions.tex +++ b/Chapters/Conclusions.tex @@ -9,17 +9,17 @@ component instantiation and the various choice mechanisms (pattern matching, case expressions, if expressions) are well suited to describe conditional assigment in the hardware. -Useful features from the functional perspective, like polymorphism and higher -order functions and expressions also prove suitable to describe hardware -and our implementation shows that they can be translated to \VHDL as -well. +Useful features from the functional perspective, like polymorphism and +higher-order functions and expressions also prove suitable to describe +hardware and our implementation shows that they can be translated to +\VHDL\ as well. A prototype compiler was created in this research. For this prototype the Haskell language was chosen as the input language, instead of creating a new language from scratch. This has enabled creating the prototype rapidly, allowing for experimenting with various functional language features and interpretations in Cλash. Even supporting more complex features like -polymorphism and higher order values has been possible. If a new language and +polymorphism and higher-order values has been possible. If a new language and compiler would have been designed from scratch, that new language would not have been nearly as advanced as current Cλash. @@ -63,7 +63,7 @@ It is expected that Cλash will be used as a tool in education at the University of Twente soon, hopefully this will provide a better insight in how the system performs. -The prototype compiler has a clear design. Its frontend is taken from the \GHC +The prototype compiler has a clear design. Its frontend is taken from the \GHC\ compiler and desugares Haskell into a small, but functional and typed language, called \emph{Core}. Cλash adds a transformation system that reduces this small language to a normal form and a simple backend that performs a @@ -84,7 +84,7 @@ that this scope is too narrow for practical use of Cλash. Most people that hear about using a functional language for hardware description instantly hope to be able to provide a concise mathematical description of their algorithm and have the hardware generated for them. Since this -is obviously a different problem alltogether, we could not have hoped to +is obviously a different problem altogether, we could not have hoped to even start solving it. However, hopefully the current Cλash system provides a solid base on top of which further experimentation with functional descriptions can be built.