•

•

•

•

•

#### 1Ross Paterson's Publications

•

Educational videos on various topics in category theory and related domains.
10 years ago by @draganigajic
(0)

•

#### 1Programming and Computation

Interpreting types as abstract values [The Abstract of the lecture notes] We expound a view of type checking as evaluation with `abstract values'. Whereas dynamic semantics, evaluation, deals with (dynamic) values like 0, 1, etc., static semantics, type checking, deals with approximations like int. A type system is sound if it correctly approximates the dynamic behavior and predicts its outcome: if the static semantics predicts that a term has the type int, the dynamic evaluation of the term, if it terminates, will yield an integer. As object language, we use simply-typed and let-polymorphic lambda calculi with integers and integer operations as constants. We use Haskell as a metalanguage in which to write evaluators, type checkers, type reconstructors and inferencers for the object language.
10 years ago by @draganigajic
(0)

•

•

•

•

•

#### 3Tutorial Papers in Functional Programming

•

In denotational semantics and functional programming, the terms monad morphism, monad layering, monad constructor, and monad transformer have by now accumulated 20 years of twisted history. The exchange between Eric Kidd and sigfpe about the probability monad prompted me to investigate this history
10 years ago by @draganigajic
(0)

•

•

#### 1A Neighborhood of Infinity: From Monoids to Monads

Generalising Monoids The word 'monad' is derived from the word 'monoid'. The explanation usually given is that there is an analogy between monoids and monads. On the surface, this seems a bit unlikely. The join operation in a monad is supposed to correspond to the binary operator in the monoid, but join is a completely different kind of thing, certainly not a binary operator in any usual sense. I'm going to make this analogy precise so that it's clear that both monoids and monads are examples of the same construction. In fact, I'm going to write some Haskell code to define monoids and monads in almost exactly the same way. I was surprised to find I could do this because instances of Haskell's Monoid and Monad aren't even the same kind of thing (where I'm using 'kind' in its technical sense). But it can be done.
10 years ago by @draganigajic
(0)

•

•

•

•

•

•

•

•

•

•

•

#### 1Syntax extension for Monads in OCaml

Syntax extension for Monads in Ocaml Jacques Carette, Lydia E. van Dijk and Oleg Kiselyov This Camlp4 extension provides some syntactic sugar to beautify monadic expressions. Example: A simple but realistic example of the use of a list monad looks like this bind [1; 2; 3] (fun a -> bind [3; 4; 5] (fun b -> return (a + b))) where we assume the appropriate definitions of the functions "bind" and "return". With the help of "pa_monad" this can be written as perform a <-- [1; 2; 3]; b <-- [3; 4; 5]; return (a + b) which is much clearer and thus easier to understand and maintain. By the way, the expression evaluates to [4; 5; 6; 5; 6; 7; 6; 7; 8] the sum of each pair of values of the input list
10 years ago by @draganigajic
(0)

•

#### 1Ccard V2.0 - mantras

a list of facts of catthe
10 years ago by @draganigajic
(0)

•

•

•

•

#### 1logict-0.2.3: A backtracking logic-programming monad.

A continuation-based, backtracking, logic programming monad. An adaptation of the two-continuation implementation found in the paper Backtracking, Interleaving, and Terminating Monad Transformers available here: http://okmij.org/ Control.Monad.Logic.Class
10 years ago by @draganigajic
(0)

•

•

•

#### 1One Div Zero

james iry
10 years ago by @draganigajic
(0)

•

#### 1A Neighborhood of Infinity: The Mother of all Monads

10 years ago by @draganigajic
(0)

•

•

•

•

•

•

•

•

#### 1Explaining monads | Lambda the Ultimate

10 years ago by @draganigajic
(0)

•

#### 2Monads in functional programming - Wikipedia, the free encyclopedia

•

•

•

•

Comonads are an abstraction from category theory dualing many qualities of Monads. They are conceptually much simpler than arrows but seem to offer a solution to some problems not easily solved by monads. The ideas presented here are not novel except for the comonadic combinators for a nicer syntax. Typeclass Combinators Reader State Stream Writer Links
10 years ago by @draganigajic
(0)

•

•

•

#### 1Tom's Declarative Languages Blog: Monadic Constraint Programming

Tom Schrijvers, Peter Stuckey and Philip Wadler Abstract: A constraint programming system combines two essential components: a constraint solver and a search engine. The constraint solver reasons about satisfiability of conjunctions of constraints, and the search engine controls the search for solutions by iteratively exploring a disjunctive search tree defined by the constraint program. In this paper we give a monadic definition of constraint programming where the solver is defined as a monad threaded through the monadic search tree. We are then able to define search and search strategies as first class objects that can themselves be built or extended by composable search transformers. Search transformers give a powerful and unifying approach to viewing search in constraint programming, and the resulting constraint programming system is first class and extremely flexible. Let's briefly look at the n queens example from the paper. First, there is the nqueens model:
10 years ago by @draganigajic
(0)

•

outstanding presentation generally taking a slightly different angle
10 years ago by @draganigajic
(0)

•

•

#### 1Total Functional Programming | Lambda the Ultimate

Total Functional Programming Here's an interesting paper recently mention in another thread: Total Functional Programming... Abstract: The driving idea of functional programming is to make programming more closely related to mathematics. A program in a functional language such as Haskell or Miranda consists of equations which are both computation rules and a basis for simple algebraic reasoning about the functions and data structures they define. The existing model of functional programming, although elegant and powerful, is compromised to a greater extent than is commonly recognized by the presence of partial functions. We consider a simple discipline of total functional programming designed to exclude the possibility of non-termination. Among other things this requires a type distinction between data, which is finite, and codata, which is potentially infinite. I presume that the bogus definiton of "fib" is a subtle reminder of the importance of eliminating bottom.
10 years ago by @draganigajic
(0)

•

•

•

#### 1Enfranchised Mind

design patterns apporach monads in ocaml
10 years ago by @draganigajic
(0)

•

#### 1What is a monad, why should I use it, and when is it appropriate ...

+ ch stewart
10 years ago by @draganigajic
(0)

•

•

•

#### 1FS: Backwards State, or: The Power of Laziness

•

emir burak In Informatics, there are two (related) meanings of the word "monad": * A triple (T,eta,mu) following some laws in category theory * A way of structuring functional programs The first meaning can probably not be described easily in natural language. Michael Arbib and Ernest Manes' "Arrows, Structure, Functors - The Categorical Imperative". describe them as (generalized monoids) in Section 10.2 and through adjointness to the forgetful functor from algebras to sets. That last connection basically makes everything that we can write down or model using abstract syntax / universal algebra a monad. The second view is described in Wadler's papers. I mention category theory because we can describe things that are not computations as monads. It also reminds us why a monad is a collection of things taken together. With the List example in mind, a potentially more revealing account on monads (aka triples) can be found in the free book Barr, Wells
10 years ago by @draganigajic
(0)

•

#### 1Monad Transformers Step by Step

•

•

10 years ago by @draganigajic
(0)

•

•

•

#### 1Ruminations of a Programmer: Maybe Scala

Just fire up your REPL and see for yourself how the malleable syntactic structures of the language grow in front of your eyes, alongside your program. Whether this is through Lisp macros or Ruby meta-programming or Scala control structures, the secret sauce is in the ability to implement more and more powerful abstractions within the language. But what makes one language shine more compared to another is the ability to combine abstractions leading to more powerful syntactic structures. Recently people have been talking about the Maybe monad and its myriads of implementation possibilities in Ruby. Because of its dynamic nature and powerful meta-programming facilities, Ruby allows you to write this .. @phone = Location.find(:first, ...elided... ).andand.phone Here andand is an abstraction of the Maybe monad that you can seamlessly compose with core Ruby syntax structures, effectively growing the Ruby language.
10 years ago by @draganigajic
(0)

•

•

•

#### 1The “Option” Pattern - Code Commit

Once you start thinking about structuring your code to use Option in languages which have built-in support for it, you’ll find yourself dreaming about such patterns in other, less fortunate languages. It’s really sort of bizarre how much this little device can open your mind to new possibilities. Take my code, and give it a try in your project. Better yet, implement something on your own which solves the problem more elegantly! The stodgy old Java “best practices” could use a little fresh air. P.S. Yes, I know that the original implementation of this was actually the Maybe monad in Haskell. I picked Option instead mainly because a) I like the name better, and b) it’s Scala, so it’s far more approachable than Haskell.
10 years ago by @draganigajic
(0)

•

•

•

•

#### 1Karsten Wagner's Blog: My Haskell experiences

whiny and lame but see comments
10 years ago by @draganigajic
(0)

•

•

•

•

#### 1evan_tech -- time travel

One obvious solution is to do two passes -- one to lay everything out, then another to generate now that offsets are known.Here's where it gets clever. Rather than two passes, they instead write the code in such a way that the code-generator function's output is also passed as a parameter to the same function.
10 years ago by @draganigajic
(0)

•

Collection of links to monad implementations in various languages. Due to recent discussions here on LtU and on the Haskell mailing lists I've compiled a list of links to implementations of monads in various languages. If you know of any that aren't listed here, please submit them in a comment. * Clean * Haskell * Java * Joy * OCaml * Perl * Prolog * Python * Ruby * Scheme
10 years ago by @draganigajic
(0)

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

#### 14Beautiful Soup

Beautiful Soup is a Python HTML/XML parser designed for quick turnaround projects like screen-scraping.
16 years ago by @naufraghi
(0)

•

•

#### 10XML.com: Introducing del.icio.us

and it repays you by exposing its data and functionality in several ways so that you can get it back again without asking any favors or getting specia
17 years ago by @pietrosperoni
(0)

•

•

#### 45World Wide Web Consortium

16 years ago by @buzz
(0)

•

#### 15Bibutils

The bibutils program set interconverts between various bibliography formats using a common XML intermediate.
15 years ago by @mobileink
(0)

•

#### 3A co-relational model of data for large shared data banks

E. Meijer, and G. Bierman. Commun. ACM (April 2011)
10 years ago by @hidders
(0)

•

volume 925 of Lecture Notes in Computer Science, page 24--52. Springer, (1995)
13 years ago by @gron
(0)

•

#### 1Monads for natural language semantics

•

O. Kiselyov, and C. chieh Shan. Haskell , page 1--12. ACM, (2008)
10 years ago by @mhwombat
(0)

•

#### 8Quilt: An XML Query Language for Heterogeneous Data Sources.

D. Chamberlin, J. Robie, and D. Florescu. WebDB (Informal Proceedings) , page 53-62. (2000)
20 years ago by @dblp
(0)

•

#### 5Data on the Web: from relations to semistructured data and XML

S. Abiteboul, P. Buneman, and D. Suciu. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, (2000)
13 years ago by @benedikt.linse
(0)

•

#### 15The Semantic Web: A Guide to the Future of XML, Web Services and Knowledge Management

M. Daconta, L. Obrst, and K. Smith. John Wiley & Sons Inc.,, Indianapolis, IN, (2003)
13 years ago by @aljsanchez
(0)

•

#### 6Extensible Markup Language (XML) 1.0

W3C, (1998)
15 years ago by @sudhir
(0)

•

#### 8The Wikipedia XML Corpus

L. Denoyer, and P. Gallinari. SIGIR Forum (2006)
15 years ago by @hotho
(0)

•

#### 2Konzeption und prototypische Realisierung eines XML-Feed-Aggregators für multimediale Inhalte

Technische Universität Dresden, (2006)
14 years ago by @flh
(0)

•

#### 3Xcerpt and visXcerpt: Twin Query Languages for the Semantic Web

Proceedings of 3rd International Semantic Web Conference, Hiroshima, Japan (7th--11th November 2004) , (2004)
14 years ago by @gibeon
(0)

•

#### 3Towards Data-Integration on the Semantic Web: Querying RDF with Xcerpt

Institute of Computer Science, LMU, Munich, Diplomarbeit/diploma thesis, (2005)
13 years ago by @benedikt.linse
(0)

•

#### 5Implementation of Web Query Languages Reconsidered: Beyond Tree and Single-Language Algebras at (Almost) No Cost

Ludwig-Maxmilians University Munich, Dissertation/doctoral thesis, (2008)
13 years ago by @benedikt.linse
(0)

•

#### 8XSL Transformations (XSLT) Version 2.0

W3C Recommendation, W3C, (January 2007)
13 years ago by @benedikt.linse
(0)

•

#### 4Design and implementation of a graphical interface to XQuery

E. Augurusa, D. Braga, A. Campi, and S. Ceri. SAC '03: Proceedings of the 2003 ACM symposium on Applied computing , page 1163--1167. New York, NY, USA, ACM, (2003)
14 years ago by @kossmoboleat
(0)

•

•

#### 9Web and Semantic Web Query Languages: A Survey

J. Bailey, F. Bry, T. Furche, and S. Schaffert. Reasoning Web, First International Summer School 2005 , volume 3564 of LNCS, Springer-Verlag, (2005)
13 years ago by @benedikt.linse
(0)

•

#### 2Aspect-Oriented Programming and Component Weaving: Using XML Representations of Abstract Syntax Trees

(February 2002)
15 years ago by @yijunyu
(0)

•

#### 3Comparative Analysis of Five XML Query Languages

A. Bonifati, and S. Ceri. CoRR (1999)informal publication.
13 years ago by @benedikt.linse
(0)

•

#### 5Xcerpt: A Rule-Based Query and Transformation Language for the Web

University of Munich, (2004)
13 years ago by @benedikt.linse
(0)