-- -*-mode: haskell; -*- {-# LANGUAGE NoMonomorphismRestriction #-} -- http://feedvalidator.org/check.cgi?url=http://www.okmij.org/ftp/rss.xml -- http://feedvalidator.org/check.cgi?url=http://okmij.org/ftp/rss.xml module Main (main) where import RSS import System.Environment (getArgs) content = CLHead HeadAttrs { ha_title = "What's new", ha_description = "list of updates to this whole site", ha_DateRevision = (1,January,2012), ha_top = FileURL "README.html", ha_history_first = CLURL "ChangeLog-15.html" (August,2010) (July,2011), ha_history_last = CLURL "ChangeLog-0.html" (December,1995) (August,1996) } (updates [update (1, January, 2012) [ui (FileURLA "Haskell/typeEQ.html" "anti-over") [[a "Objections to overlapping instances"]]] [ui (FileURLA "Haskell/typeEQ.html" "TTypeable") [[a "Type-level type introspection, equality and matching"]]] [ui (FileURLA "Haskell/typeEQ.html" "without-over") [[a "Overcoming Overlapping"]]] [ui (FileURL "Computation/IO-monad-history.html") [[a "IO monad realized in 1965"]]] [ui (FileURLA "gengo/index.html" "applicative") [[a"Syntax-semantics interface" "and the non-trivial computation of meaning"]]] [ui (FileURLA "Computation/monads.html" "lazy-sharing-nondet") [[a "Purely Functional Lazy Non-deterministic Programming:"]] "An extended, journal version of the paper"] [ui (FileURLA "Computation/Generative.html" "circle-shift") [[a "Shifting the Stage: Staging with Delimited Control:"]] "An extended, journal version of the paper"] ] [update (4, December, 2011) [ui (FileURLA "Computation/Generative.html" "meta-haskell") [[a "Tagless-Staged: a step toward MetaHaskell"]]] [ui (FileURLA "Computation/Generative.html" "xbind") [[a "Computational Effects across Generated Binders"]]] [ui (FileURLA "Computation/Generative.html""future-scope") [[a "What is lexical scope and how to enforce it"]]] [ui (FileURLA "Haskell/types.html" "HList") "A new version of the" [[a "HList"]] "library"] ] [update (4, November, 2011) [ui (FileURLA "continuations/index.html" "reify-search") [[a "Delimited control and breadth-first, depth-first, and" "iterative deepening search"]]] [ui (FileURLA "Computation/index.html" "type-gensym") [[a "How to reify fresh type variables?"]]] [ui (FileURLA "Haskell/generics.html" "type-depth") [[a "The depth of a type"]]] ] [update (1, October, 2011) [ui (FileURLA "continuations/index.html" "tutorial") [[a "Introduction to programming with shift and reset:"]] "Tutorial session of the Continuation Workshop 2011"] [ui (FileURL "Haskell/typeEQ.html") [[a "Type Equalities, Disequalities, and Overlapping Instances"]]] ] [update (8, September, 2011) [ui (FileURL "tagless-final/sharing/sharing.html") [[a "Implementing Explicit and Finding Implicit" "Sharing in Embedded DSLs"]]] [ui (FileURLA "tagless-final/sharing/sharing.html" "ex13") [[a "Explicit sharing across several expressions"]]] ] [update (5, August, 2011) [ui (FileURL "Haskell/impredicativity-bites.html") [[a "Proving False with impredicativity, injectivity, and" "type case analysis"]]] [ui (FileURLA "Haskell/regions.html" "dynlock") [[a "Tracking dynamic values in types"]]] [ui (FileURLA "continuations/implementations.html" "genuine-shift") [[a "Delimited continuations with effect typing:"]] "A parsimonious way of showing that the captured delimited continuation" "is pure and hence answer-type polymorphic"] ] ) main = do [arg] <- getArgs case arg of "HTML" -> runHTMLIO . run_root $ toHTML content "XML" -> runXMLIO . run_root $ toRSS content