on master help sign in
Paper structure; delete useless code
commitdb7f0c1ec80d41b6166211c0e08db3222d2bed28 authorEdwin Brady <eb@cs.st-andrews.ac.uk> dateFri 14 Oct 2011, 12:13 (15 years ago) parent3b115b2
8 files changed+26−35
impl-paper/Makefile+2−1 impl-paper/conclusions.tex+6 impl-paper/elaboration.tex+1 impl-paper/hll.tex+1 impl-paper/impldtp.tex+8 impl-paper/proofstate.tex+7 impl-paper/typechecking.tex+1 src/Idris/ElabDecls.hs−34
impl-paper/Makefile+2−1
@@ -2,7 +2,8 @@ PAPER = impldtp
22
33all: ${PAPER}.pdf
44
5−TEXFILES = ${PAPER}.tex intro.tex conclusions.tex overview.tex
5+TEXFILES = ${PAPER}.tex intro.tex conclusions.tex overview.tex hll.tex\
6+ typechecking.tex proofstate.tex elaboration.tex
67
78DIAGS =
89
impl-paper/conclusions.tex+6
@@ -1,3 +1,9 @@
11\section{Related Work}
22
3+Oleg~\cite{mcbride-thesis} as inspiration. \Epigram{}~\cite{view-left}.
4+How does Agda~\cite{norell-thesis} work?
5+Earlier \Idris{}, with \Ivor{}~\cite{ivor}.
6+
7+Comparison with GHC's type system and type checker.
8+
39\section{Conclusion}
impl-paper/elaboration.texnew file+1
@@ -0,0 +1 @@
1+\section{Elaborating \Idris{}}
impl-paper/hll.texnew file+1
@@ -0,0 +1 @@
1+\section{\Idris{} --- the High Level Language}
impl-paper/impldtp.tex+8
@@ -83,6 +83,14 @@ KY16 9SX
8383
8484\input{overview.tex}
8585
86+\input{hll.tex}
87+
88+\input{typechecking.tex}
89+
90+\input{proofstate.tex}
91+
92+\input{elaboration.tex}
93+
8694\input{conclusions.tex}
8795
8896\bibliographystyle{acmtrans}
impl-paper/proofstate.texnew file+7
@@ -0,0 +1,7 @@
1+\section{Proof State}
2+
3+\subsection{Tactics}
4+
5+\subsection{Unification}
6+
7+\subsection{The Elaboration DSL}
impl-paper/typechecking.texnew file+1
@@ -0,0 +1 @@
1+\section{The Core Type Theory}
src/Idris/ElabDecls.hs−34
@@ -153,40 +153,6 @@ elabDecl' info (PParams ns ps) = do iLOG $ "Params block " ++ show ns
153153 info { params = newps,
154154 inblock = newb }
155155
156−{- not finished...
157−parameterise :: [(Name, Type)] -> (Name -> Name) -> [PDecl] -> Idris [PDecl]
158−parameterise ns hide ds = do
159− i <- getIState
160− let pns = map (\ (n, t) -> (n, delab i t)) ns
161− mapM (paramDecl (concatMap declared ds) hide pns) ds
162−
163−paramDecl :: [Name] -> -- Names defined in this block
164− (Name -> Name) -> -- what to call the lifted functions
165− [(Name, PTerm)] -> -- parameters to add
166− PDecl -> Idris PDecl
167−paramDecl ns newname ps (PTy n ty)
168− = do let ty' = piBind ps ty
169− return (PTy (newname n) (addNs ns newname (map fst ps) ty'))
170−paramDecl ns newname ps (PClauses n cs)
171− = do cs' <- mapM pclause cs
172− return (PClauses n cs')
173− where
174− pclause (PClause n lhs rhs [])
175− = return $ PClause n [] (addNs ns newname (map fst ps) lhs)
176− (addNs ns newname (map fst ps) rhs)
177−paramDecl ns newname ps (PData (PDatadecl n ty cons))
178− = do let ty' = piBind ps ty
179− cons' <- mapM con cons
180− return (PData (PDatadecl n ty' cons'))
181− where
182− con (n, ty) = do let ty' = piBind ps ty
183− return (n, addNs ns newname (map fst ps) ty')
184−paramDecl ns newname ps d = return d
185−-}
186−
187−addNs :: [Name] -> (Name -> Name) -> [Name] -> PTerm -> PTerm
188−addNs = undefined
189−
190156-- Using the elaborator, convert a term in raw syntax to a fully
191157-- elaborated, typechecked term.
192158--