⋆

                 A Simple Regular Expression Matcher

                                  or

             An Introduction to Some of the Code Sprints

⋆ Dependently typed programming (DTP)

  • Using dependent types/inductive families
    to ease "ordinary" programming.

    - Capture more invariants.
    - Higher assurance.
    - More elegant.
    - More fun.

  • Not (necessarily) proving everything correct.

  • What are the trade-offs?

  • What are the "correct" idioms?

⋆ Reasonable assurance at reasonable cost

  • Strong types are nice.

  • But other things are also nice.

  • DTP provides one useful tool, together with
    other tools like e.g. QuickCheck.

  • These tools can be combined.

⋆ A regular expression matcher

  • Types ensure soundness.

  • Testing can be used to get reasonable assurance of
    completeness.

  • The two complement each other.

    - How do you test soundness?

    - Completeness easy to test, harder to prove.

⋆ Case studies ─ goals

  • Elegant examples making nice use of DTP.

  • More people using DTP.

  • Feedback on Agda, of course.

⋆ Demonstration

  • A slightly larger case study (compared to Ulf's talk)
    demonstrating Agda features and the Emacs interface.

  • Live action Agda coming up.

⋆ Setup

Local variables:
outline-regexp: "⋆+"
End:
