Skip to content

Instantly share code, notes, and snippets.

/// Provides basic types and syntax for defining XML and HTML fragments
/// as a deep EDSL in F#. Design goals:
///
/// A. Allow different concrente interpretations, including:
/// 1. XML documents and fragments
/// 2. HTML(5) documents and fragmetns
/// 3. XML or HTML templates with placeholders and/or instructions
///
/// B. Provide minimal type safetiy ensuring some sanity but not encoding every
/// invariant, which seems not practical with the weak F# type system.