X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FFuture.tex;fp=Chapters%2FFuture.tex;h=f61044dceb7f1f0091a083a0173ce750c4412f0b;hp=d83f60087c939eb95175c1e9d240a675004d87d8;hb=1b9665a243799137f9b3f2b04e13489ba6f66e5e;hpb=0726312509c9a708eb4ecc0ac36b6b67eba45ad5 diff --git a/Chapters/Future.tex b/Chapters/Future.tex index d83f600..f61044d 100644 --- a/Chapters/Future.tex +++ b/Chapters/Future.tex @@ -231,8 +231,8 @@ possible that improvements in the \small{GHC} typechecker will make this possible, though it will still stay a challenge. Further advances in dependent typing support for Haskell will probably help here as well. -TODO: Reference Christiaan and other type-level work -(http://personal.cis.strath.ac.uk/conor/pub/she/) +\todo{Reference Christiaan and other type-level work +(http://personal.cis.strath.ac.uk/conor/pub/she/)} \item For all recursion, there is the obvious challenge of deciding when recursion is finished. For list recursion, this might be easier (Since the base case of the recursion influences the type signatures). For general @@ -241,7 +241,7 @@ transformations to prevent infinite expansion. The main challenge here is how to make this set complete, or at least define the constraints on possible recursion which guarantee it will work. -TODO: Reference Christian for loop unrolling +\todo{Reference Christian for loop unrolling?} \stopitemize \section{Multiple clock domains and asynchronicity} @@ -292,7 +292,7 @@ func :: Word -> Event -> Word func inp _ = inp * 2 + 3 \stophaskell -TODO: Picture +\todo{Picture} In this example, we see that every function takes an input of type \hs{Event}. The function \hs{main} that takes the output of @@ -305,7 +305,7 @@ it, either because they are completely combinatoric (like in this example), or because they rely on the the caller to select the clock signal. This structure is similar to the event handling structure used to perform I/O -in languages like Amanda. TODO: Ref. There is a top level case expression that +in languages like Amanda. \todo{ref} There is a top level case expression that decides what to do depending on the current input event. A slightly more complex example that shows a system with two clock domains. @@ -503,9 +503,9 @@ that such a datatype will never hold a constructor that is never used for a particular state variable. This separation is probably a non-trivial problem, though. -TODO: Reference "Definitional interpreters for higher-order programming +\todo{Reference "Definitional interpreters for higher-order programming languages": -http://portal.acm.org/citation.cfm?id=805852\&dl=GUIDE\&coll=GUIDE\&CFID=58835435\&CFTOKEN=81856623 +http://portal.acm.org/citation.cfm?id=805852\&dl=GUIDE\&coll=GUIDE\&CFID=58835435\&CFTOKEN=81856623} \section{New language} During the development of the prototype, it has become clear that Haskell is