@@ -1,12 +1,24 @@
1Automatically generated by Mendeley 1.3.1
1Automatically generated by Mendeley 1.3.1
2Any changes to this file will be lost if it is regenerated by Mendeley.
2Any changes to this file will be lost if it is regenerated by Mendeley.
4−@misc{idristutorial,
4+@inproceedings{pj2006gadts,
5−author = {Brady, Edwin},
5+author = {{Peyton Jones}, S. and Vytiniotis, D. and Weirich, S. and Washburn, G.},
6+booktitle = {{International Conference on Functional Programming} ({ICFP} '06)},
6−file = {:Users/edwin/Documents/Mendeley Desktop/Brady/Brady - 2012 - Programming in Idris a tutorial.pdf:pdf},
7+file = {:Users/edwin/Documents/Mendeley Desktop/Peyton Jones et al/Peyton Jones et al. - 2006 - Simple unification-based type inference for GADTs.pdf:pdf},
7−title = {{Programming in Idris : a tutorial}},
8+number = {9},
8−url = {http://idris-lang.org/tutorial},
9+pages = {50--61},
11+title = {{Simple unification-based type inference for GADTs}},
12+url = {http://dl.acm.org/citation.cfm?id=1159811},
9−year = {2012}
14+year = {2006}
17+author = {Hunt, Andrew and Thomas, David},
19+file = {:Users/edwin/Documents/Mendeley Desktop/Hunt, Thomas/Hunt, Thomas - Unknown - The Pragmatic Programmer Chapter 4.pdf:pdf},
21+title = {{The Pragmatic Programmer Chapter 4}}
11@inproceedings{Brady2010,
23@inproceedings{Brady2010,
12author = {Brady, Edwin and Hammond, Kevin},
24author = {Brady, Edwin and Hammond, Kevin},
@@ -124,6 +136,13 @@ url = {http://www.scopus.com/inward/record.url?eid=2-s2.0-67650032847&partnerID=
124volume = {43},
136volume = {43},
125year = {2008}
137year = {2008}
141+publisher = {Oxford University Press, Inc.},
142+title = {{Computation and reasoning: a type theory for computer science}},
143+url = {http://dl.acm.org/citation.cfm?id=SERIES9893.184757},
127@article{mccann2000packet,
146@article{mccann2000packet,
128author = {McCann, P.J. and Chandra, S.},
147author = {McCann, P.J. and Chandra, S.},
129journal = {ACM SIGCOMM Computer Communication Review},
148journal = {ACM SIGCOMM Computer Communication Review},
@@ -200,6 +219,19 @@ url = {http://www.springerlink.com/index/1039q8qk71257677.pdf},
200volume = {5520},
219volume = {5520},
201year = {2008}
220year = {2008}
223+author = {Hunt, Andrew and Thomas, David},
224+booktitle = {Carcinogenesis},
225+doi = {10.1093/carcin/bgs054},
226+file = {:Users/edwin/Documents/Mendeley Desktop/Hunt, Thomas/Hunt, Thomas - Unknown - The Pragmatic Programmer Chapter 6.pdf:pdf},
231+title = {{The Pragmatic Programmer Chapter 6}},
232+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
203@inproceedings{madhavapeddy2010turning,
235@inproceedings{madhavapeddy2010turning,
204author = {Madhavapeddy, A. and Mortier, R. and Sohan, R. and Gazagnaire, T. and Hand, S. and Deegan, T. and McAuley, D. and Crowcroft, J.},
236author = {Madhavapeddy, A. and Mortier, R. and Sohan, R. and Gazagnaire, T. and Hand, S. and Deegan, T. and McAuley, D. and Crowcroft, J.},
205booktitle = {Proceedings of the 2nd USENIX conference on Hot topics in cloud computing},
237booktitle = {Proceedings of the 2nd USENIX conference on Hot topics in cloud computing},
@@ -312,10 +344,19 @@ url = {http://journals.cambridge.org/abstract_S0956796811000207},
312volume = {21},
344volume = {21},
313year = {2011}
345year = {2011}
347+@inproceedings{pollack1990implicit,
348+author = {Pollack, R.},
349+booktitle = {Informal Proceedings of First Workshop on Logical Frameworks, Antibes},
350+file = {:Users/edwin/Documents/Mendeley Desktop/Pollack/Pollack - 1990 - Implicit syntax.pdf:pdf},
351+publisher = {Citeseer},
352+title = {{Implicit syntax}},
353+url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.30.7361&rep=rep1&type=pdf},
315@inproceedings{Sculthorpe2009,
356@inproceedings{Sculthorpe2009,
316author = {Sculthorpe, Neil and Nilsson, Henrik},
357author = {Sculthorpe, Neil and Nilsson, Henrik},
317booktitle = {International Conference on Functional Programming ({ICFP} '09)},
358booktitle = {International Conference on Functional Programming ({ICFP} '09)},
318−file = {:Users/edwin/Documents/Mendeley Desktop/Sculthorpe, Nilsson/Sculthorpe, Nilsson - 2009 - Safe functional reactive programming through dependent types.pdf:pdf},
359+file = {:Users/edwin/Documents/Mendeley Desktop/Sculthorpe, Nilsson/Sculthorpe, Nilsson - 2009 - Safe functional reactive programming through dependent types.pdf:pdf;:Users/edwin/Documents/Mendeley Desktop/Sculthorpe, Nilsson/Sculthorpe, Nilsson - 2009 - Safe functional reactive programming through dependent types(2).pdf:pdf},
319title = {{Safe functional reactive programming through dependent types}},
360title = {{Safe functional reactive programming through dependent types}},
320url = {http://dl.acm.org/citation.cfm?id=1596558},
361url = {http://dl.acm.org/citation.cfm?id=1596558},
321year = {2009}
362year = {2009}
@@ -357,6 +398,17 @@ title = {{Epigram Reloaded: A Standalone Typechecker for {ETT}}},
357url = {http://books.google.co.uk/books?hl=en&lr=&id=p0yV1sHLubcC&oi=fnd&pg=PA79&dq=epigram+reloaded&ots=x50ou0VMsm&sig=7TjAGohIatNLTWsHcuNcK5hEGGY},
398url = {http://books.google.co.uk/books?hl=en&lr=&id=p0yV1sHLubcC&oi=fnd&pg=PA79&dq=epigram+reloaded&ots=x50ou0VMsm&sig=7TjAGohIatNLTWsHcuNcK5hEGGY},
358year = {2005}
399year = {2005}
401+@article{dybjer1994inductive,
402+author = {Dybjer, P.},
403+journal = {Formal aspects of computing},
406+publisher = {Springer},
407+title = {{Inductive families}},
408+url = {http://www.springerlink.com/index/J17824H467X6J288.pdf},
360@article{Hughes1989,
412@article{Hughes1989,
361abstract = {As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularised. Functional languages push those limits back. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute greatly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). Since modularity is the key to successful programming, functional languages are vitally important to the real world.},
413abstract = {As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularised. Functional languages push those limits back. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute greatly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). Since modularity is the key to successful programming, functional languages are vitally important to the real world.},
362author = {Hughes, J},
414author = {Hughes, J},
@@ -414,6 +466,19 @@ title = {{Dependently typed functional programs and their proofs}},
414url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.26.4785&rep=rep1&type=pdf},
466url = {http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.26.4785&rep=rep1&type=pdf},
415year = {1999}
467year = {1999}
470+author = {Hunt, Andrew and Thomas, David},
471+booktitle = {Carcinogenesis},
472+doi = {10.1093/carcin/bgs054},
473+file = {:Users/edwin/Documents/Mendeley Desktop/Hunt, Thomas/Hunt, Thomas - Unknown - The Pragmatic Programmer Chapter 3.pdf:pdf},
478+title = {{The Pragmatic Programmer Chapter 3}},
479+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
417@inproceedings{oury2008power,
482@inproceedings{oury2008power,
418author = {Oury, N. and Swierstra, W.},
483author = {Oury, N. and Swierstra, W.},
419booktitle = {International Conference on Functional Programming},
484booktitle = {International Conference on Functional Programming},
@@ -591,6 +656,19 @@ url = {http://dl.acm.org/citation.cfm?id=1111039},
591volume = {15},
656volume = {15},
592year = {2010}
657year = {2010}
660+author = {Hunt, Andrew and Thomas, David},
661+booktitle = {Carcinogenesis},
662+doi = {10.1093/carcin/bgs054},
663+file = {:Users/edwin/Documents/Mendeley Desktop/Hunt, Thomas/Hunt, Thomas - Unknown - The Pragmatic Programmer Chapter 5.pdf:pdf},
668+title = {{The Pragmatic Programmer Chapter 5}},
669+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
594@inproceedings{Wadler1989,
672@inproceedings{Wadler1989,
595abstract = {From the type of a polymorphic function we can derive a theorem that it satisfies. Every function of the same type satisfies the same theorem. This provides a free source of useful theorems, courtesy of Reynolds' abstraction theorem for the polymorphic lambda calculus.},
673abstract = {From the type of a polymorphic function we can derive a theorem that it satisfies. Every function of the same type satisfies the same theorem. This provides a free source of useful theorems, courtesy of Reynolds' abstraction theorem for the polymorphic lambda calculus.},
596author = {Wadler, Philip},
674author = {Wadler, Philip},
@@ -625,6 +703,19 @@ title = {{The implicit calculus of constructions as a programming language with
625url = {http://www.springerlink.com/index/m84h82904546l265.pdf},
703url = {http://www.springerlink.com/index/m84h82904546l265.pdf},
626year = {2008}
704year = {2008}
706+@book{Philosophy2012,
707+author = {Hunt, Andrew and Thomas, David},
708+booktitle = {Carcinogenesis},
709+doi = {10.1093/carcin/bgs054},
710+file = {:Users/edwin/Documents/Mendeley Desktop/Hunt, Thomas/Hunt, Thomas - Unknown - The Pragmatic Programmer Chapter 1.pdf:pdf},
715+title = {{The Pragmatic Programmer Chapter 1}},
716+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
628@article{landin1966next,
719@article{landin1966next,
629author = {Landin, P.J.},
720author = {Landin, P.J.},
630file = {:Users/edwin/Documents/Mendeley Desktop/Landin/Landin - 1966 - The next 700 programming languages.pdf:pdf},
721file = {:Users/edwin/Documents/Mendeley Desktop/Landin/Landin - 1966 - The next 700 programming languages.pdf:pdf},
@@ -646,6 +737,19 @@ issn = {1478-6729},
646pmid = {22215642},
737pmid = {22215642},
647title = {{The Design of Design Chapter 2}}
738title = {{The Design of Design Chapter 2}}
741+author = {Hunt, Andrew and Thomas, David},
742+booktitle = {Carcinogenesis},
743+doi = {10.1093/carcin/bgs054},
744+file = {:Users/edwin/Documents/Mendeley Desktop/Hunt, Thomas/Hunt, Thomas - Unknown - The Pragmatic Programmer Chapter 2.pdf:pdf},
749+title = {{The Pragmatic Programmer Chapter 2}},
750+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
649@inproceedings{Brady2003,
753@inproceedings{Brady2003,
650author = {Brady, Edwin and McBride, Conor and McKinna, James},
754author = {Brady, Edwin and McBride, Conor and McKinna, James},
651booktitle = {Types for Proofs and Programs},
755booktitle = {Types for Proofs and Programs},
@@ -665,6 +769,13 @@ issn = {1478-6729},
665pmid = {22215642},
769pmid = {22215642},
666title = {{The Design of Design Chapter 3}}
770title = {{The Design of Design Chapter 3}}
773+author = {Fowler, Martin},
774+booktitle = {Language},
775+file = {:Users/edwin/Documents/Mendeley Desktop/Fowler/Fowler - Unknown - Domain Specific Languages Chapter 2.pdf:pdf},
776+isbn = {9780132107549},
777+title = {{Domain Specific Languages Chapter 2}}
668@article{Abel2010,
779@article{Abel2010,
669abstract = {Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstractions like higher-order functions and polymorphism. To study the application of sized types to proof assistants and programming languages based on dependent type theory, we have implemented a core language, MiniAgda, with explicit handling of sizes. New considerations were necessary to soundly integrate sized types with dependencies and pattern matching, which was made possible by concepts such as inaccessible patterns and parametric function spaces. This paper provides an introduction to MiniAgda by example and informal explanations of the underlying principles.},
780abstract = {Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make termination checking robust and suitable for strong abstractions like higher-order functions and polymorphism. To study the application of sized types to proof assistants and programming languages based on dependent type theory, we have implemented a core language, MiniAgda, with explicit handling of sizes. New considerations were necessary to soundly integrate sized types with dependencies and pattern matching, which was made possible by concepts such as inaccessible patterns and parametric function spaces. This paper provides an introduction to MiniAgda by example and informal explanations of the underlying principles.},
670author = {Abel, Andreas},
781author = {Abel, Andreas},
@@ -766,6 +877,13 @@ title = {{Idris --- Systems Programming Meets Full Dependent Types}},
766url = {http://dl.acm.org/citation.cfm?id=1929529.1929536},
877url = {http://dl.acm.org/citation.cfm?id=1929529.1929536},
767year = {2011}
878year = {2011}
881+author = {Brady, Edwin},
882+file = {:Users/edwin/Documents/Mendeley Desktop/Brady/Brady - 2012 - Programming in Idris a tutorial.pdf:pdf},
883+title = {{Programming in Idris : a tutorial}},
884+url = {http://idris-lang.org/tutorial},
769@article{Steiner1988,
887@article{Steiner1988,
770author = {Steiner, JG},
888author = {Steiner, JG},
771file = {:Users/edwin/Documents/Mendeley Desktop/Steiner/Steiner - 1988 - Kerberos An authentication service for open network systems.pdf:pdf},
889file = {:Users/edwin/Documents/Mendeley Desktop/Steiner/Steiner - 1988 - Kerberos An authentication service for open network systems.pdf:pdf},
@@ -782,6 +900,19 @@ title = {{Cryptographic verification by typing for a sample protocol implementat
782url = {http://www.springerlink.com/index/V168041M46658R73.pdf},
900url = {http://www.springerlink.com/index/V168041M46658R73.pdf},
783year = {2010}
901year = {2010}
904+author = {Fowler, Martin},
905+booktitle = {Carcinogenesis},
906+doi = {10.1093/carcin/bgs054},
907+file = {:Users/edwin/Documents/Mendeley Desktop/Fowler/Fowler - Unknown - Domain Specific Languages Chapter 1.pdf:pdf},
908+isbn = {9780132107549},
912+title = {{Domain Specific Languages Chapter 1}},
913+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
785@inproceedings{augustsson2008paradise,
916@inproceedings{augustsson2008paradise,
786author = {Augustsson, L. and Mansell, H. and Sittampalam, G.},
917author = {Augustsson, L. and Mansell, H. and Sittampalam, G.},
787booktitle = {International Conference on Functional Programming},
918booktitle = {International Conference on Functional Programming},
@@ -1023,6 +1154,19 @@ pmid = {22215642},
1023title = {{Security Engineering Chapter 18}},
1154title = {{Security Engineering Chapter 18}},
1024volume = {34}
1155volume = {34}
1158+author = {Fowler, Martin},
1159+booktitle = {Carcinogenesis},
1160+doi = {10.1093/carcin/bgs054},
1161+file = {:Users/edwin/Documents/Mendeley Desktop/Fowler/Fowler - Unknown - Domain Specific Languages Chapter 6.pdf:pdf},
1162+isbn = {9780132107549},
1166+title = {{Domain Specific Languages Chapter 6}},
1167+url = {http://www.ncbi.nlm.nih.gov/pubmed/22383472},
1026@article{Xi1998,
1170@article{Xi1998,
1027abstract = {We present a type-based approach to eliminating array bound checking and list tag checking by conservatively extending Standard ML with a restricted form of dependent types. This enables the programmer to capture more invariants through types while type-checking remains decidable in theory and can still be performed efficiently in practice. We illustrate our approach through concrete examples and present the result of our preliminary experiments which support support the feasibility and effectiveness of our approach.},
1171abstract = {We present a type-based approach to eliminating array bound checking and list tag checking by conservatively extending Standard ML with a restricted form of dependent types. This enables the programmer to capture more invariants through types while type-checking remains decidable in theory and can still be performed efficiently in practice. We illustrate our approach through concrete examples and present the result of our preliminary experiments which support support the feasibility and effectiveness of our approach.},
1028author = {Xi, Hongwei and Pfenning, Frank},
1172author = {Xi, Hongwei and Pfenning, Frank},