November-2008.tex 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. \documentclass{article}
  2. \usepackage{hcar}
  3. \begin{document}
  4. \begin{hcarentry}[updated]{Agda}
  5. \label{agda}
  6. \report{Nils Anders Danielsson}
  7. \status{Actively developed}
  8. \participants{Ulf Norell and many others}
  9. \makeheader
  10. Do you crave for highly expressive types, but do not want to resort to
  11. type-class hackery? Then Agda might provide a view of what the future
  12. has in store for you.
  13. Agda is a dependently typed functional programming language (developed
  14. using Haskell). The language has inductive families, i.e.\ GADTs which
  15. can be indexed by \emph{values} and not just types. Other goodies
  16. include parameterised modules, mixfix operators, and an
  17. \emph{interactive} Emacs interface (the type checker can assist you in
  18. the development of your code).
  19. A lot of work remains in order for Agda to become a full-fledged
  20. programming language (good libraries, mature compilers, documentation,
  21. etc.), but already in its current state it can provide lots of fun as
  22. a platform for experiments in dependently typed programming.
  23. New since last time:
  24. \begin{itemize}
  25. \item Coinductive types (types with possibly infinite values).
  26. \item Case-split: The user interface can replace a pattern variable
  27. with the corresponding constructor patterns. You get one new
  28. left-hand side for every possible constructor.
  29. \item The foreign function interface now ensures that the foreign
  30. (Haskell) code has types matching the Agda code.
  31. \item Sized types, which can make it easier to explain why your code
  32. is terminating, are currently being implemented by Ulf Norell and
  33. Andreas Abel.
  34. \item Agda packages for Debian/Ubuntu have been prepared by Liyang HU,
  35. and Kuragaki-san has constructed a new Agda installer for Windows.
  36. \item A new Emacs input method, which contains bindings for many
  37. Unicode symbols, has been implemented by Nils Anders Danielsson.
  38. \end{itemize}
  39. \FurtherReading
  40. The Agda Wiki: \url{http://www.cs.chalmers.se/~ulfn/Agda/}
  41. \end{hcarentry}
  42. \end{document}