-- -*-mode: haskell; -*- {-# OPTIONS -fglasgow-exts #-} {-# OPTIONS -fallow-overlapping-instances #-} -- 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 () 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,August,2010), ha_top = FileURL "README.html", ha_history_first = CLURL "ChangeLog-13.html" (August,2008) (July,2009), ha_history_last = CLURL "ChangeLog-0.html" (December,1995) (August,1996) } (updates [update (1, August, 2010) [ui (FileURLA "Haskell/types.html" "translucent-functor") [[a "Translucent applicative functors in Haskell"]]] [ui (FileURLA "Haskell/types.html" "fibration") [[a "ML-style modules with type sharing by name in Haskell"]]] [ui (FileURLA "ML/ML.html" "memo") [[a "Type-directed memoization in ML"]]] ] [update (4, July, 2010) [ui (FileURL "gengo/NASSLLI10/") [[a "Lambda: the ultimate syntax-semantics interface"]]] [ui (FileURLA "Haskell/types.html" "fix") [[a "Many ways to the fix-point combinator besides the value recursion"]]] [ui (FileURLA "Haskell/types.html" "undecidable-inst-defense") [[a "In defense of" [[code "UndecidableInstances"]]]]] [ui (FileURLA "Algorithms.html" "dyn-epistemology") [[a "Dynamic epistemic logic puzzles"]]] [ui (FileURLA "Prolog/index.html" "Soutei") [[a "Soutei, a logic-based trust-management system"]] "is now hosted on SourceForge"] ] [update (7, June, 2010) [ui (FileURLA "tagless-final/course/course.html" "linear") [[a "Linear and affine lambda-calculi"]]] [ui (FileURLA "formalizations/inductive-definitions.html" "eigenvariables") [[a "Eigen-variables: variables or constants?"]]] ] [update (7, May, 2010) [ui (FileURLA "Computation/Continuations.html" "delimcc-paper") [[a "Delimited Control in OCaml, Abstractly and Concretely:"]] "System description"] [ui (FileURL "Computation/green-fork.html") [[a "shift as a green fork(2):"]] "solving puzzles using non-determinism"] [ui (FileURLA "tagless-final/course/course.html" "CPS") [[a "Ordinary and one-pass CPS transformation"]]] ] [update (4, April, 2010) [ui (FileURL "tagless-final/course/course.html") [[a "Typed tagless-final interpretations: Lecture notes"]]] [ui (FileURLA "tagless-final/course/course.html" "type-checking") "A new version of the" [[a "typed tagless-final type-checker"]] "and the above-the-board, assuredly safe implementation of" [[code "Data.Typeable"]] nosp ", in the tagless-final style."] [ui (FileURLA "tagless-final/course/course.html" "TDPE") [[a "Type-directed partial evaluation"]] "in the tagless-final style"] ] [update (5, March, 2010) [ui (FileURLA "Computation/extra-polymorphism.html" "class-quantification") [[a "Parametric polymorphism over a type class"]]] [ui (FileURLA "ML/ML.html" "ber-metaocaml") "The initial release of" [[a "BER MetaOCaml: a streamlined version of MetaOCaml"]]] [ui (FileURLA "tagless-final/tagless-typed.html" "call-by-any") [[a "Parameterizing expressions by the evaluation order"]]] ] [update (5, February, 2010) [ui (FileURL "formalizations/inductive-definitions.html") [[a "Inductive proofs in logical frameworks and logic programming"]]] [ui (FileURLA "formalizations/inductive-definitions.html" "enkitei-prolog") [[a "ENKITEI: Interactive proof system for natural deduction" "with inductive definitions"]]] [ui (FileURLA "kakuritu/index.html" "sorted") [[a "Sorted list benchmark problem:"]] "laziness and importance sampling within very large search space"] ] [update (1, January, 2010) [ui (FileURLA "Streams.html" "iteratee") [[a "Iteratee IO: safe, practical, declarative input processing"]] br "Added a reference to the updated `documentation', the annotated talk" "given on December 17, 2009 at the CST research colloquium," "Department of Information and Computing Sciences," "Utrecht University, NL."] [ui (FileURLA "Streams.html" "design") [[a "A CPS version of the iteratee library"]] "The types of enumerators and enumeratees are the simplest here."] [ui (FileURLA "Computation/monads.html" "ExtensibleDS") [[a "Extensible interpreters -- an alternative to monad transformers"]]] [ui (FileURLA "gengo/index.html" "Scala-trace") [[a "Montagovian semantics and Scala programming"]]] [ui (FileURLA "gengo/index.html" "CAG") [[a "Computational Abstract Grammars:" "Quantifier scope ambiguities and verbal ellipsis"]]] [ui (FileURLA "gengo/index.html" "CAG-anaphora") [[a "Dynamic Logic in Abstract Categorial Grammars:" "Discourse Anaphora and Scoping Islands"]]] [ui (FileURLA "kakuritu/index.html" "bounded-rationality") [[a "Bounded-Rational Theory of Mind for Conversational Implicature"]]] ] [update (5, December, 2009) [ui (FileURL "Computation/differentiating-parsers.html") [[a "Differentiating Parsers"]]] [ui (FileURL "Streams.html") [[a "Version 2.0 of the Iteratee library, with restartable" "exceptions and enumeratees"]]] ] [update (1, November, 2009) [ui (FileURLA "Computation/Continuations.html" "caml-shift") "A new version of the" [[code "delimcc"]] "library:" [[a "Native delimited continuations in (byte-code) OCaml"]] br "The new version has much clearer code, which is about 10%" "faster, taking less memory."] [ui (FileURLA "Computation/Continuations.html" "delimcc-scheme") [[a "Multi-prompt delimited control in R5RS Scheme"]] nosp ", a version of" [[code "delimcc"]] "in Scheme." "The specialization of the code yields a new implementation" "of the ordinary shift/reset in R5RS Scheme, which is memory efficient" "even if the underlying call/cc copies the whole stack."] [ui (FileURLA "Computation/extra-polymorphism.html" "ho-poly-sel") [[a "Higher-order polymorphic selection"]] nosp ", another example of the unusual polymorphism that can be trivially" "implemented."] ] [update (4, October, 2009) [ui (FileURL "Computation/lem.html") [[a "Constructive Law of Excluded Middle"]]] [ui (FileURLA "Computation/monads.html" "lazy-sharing-nondet") [[a "Purely Functional Lazy Non-deterministic Programming"]] nosp ":" "Added executable small-step semantics based on an alternative," "constructive set of laws"] [ui (FileURL "Haskell/polyvariadic.html") [[a "Polyvariadic functions and keyword arguments:" "pattern-matching on the type of the context"]] br "A new web page collecting old content, with a new introduction" "and a new entry on type-indexed arguments"] ] [update (7, September, 2009) [ui (FileURL "lift-reduce/lift-reduce.html") [[a "Normalizing loop bodies by evaluation"]]] [ui (FileURLA "typed-formatting/FPrintScan.html" "derivation") [[a "Functional un|unparsing:"]] "Deriving implementations of the typed printf and scanf from" "their specification"] [ui (FileURL "Computation/monads.html") [[a "Purely Functional Lazy Non-deterministic Programming"]]] ] [update (1, August, 2009) [ui (FileURLA "Haskell/types.html" "Haskell1") [[a "Haskell with only one typeclass"]]] [ui (FileURLA "ML/ML.html" "GADT") [[a "GADT in OCaml"]]] [ui (FileURLA "kakuritu/index.html" "derivation") [[a "Deriving a very shallow embedding of a probabilistic DSL"]]] ] ) main = do [arg] <- getArgs case arg of "HTML" -> runHTMLRender . toHTML $ content "XML" -> runXMLRender (runRSSRender (toRSS content) (URL "http://okmij.org/ftp/"))