Introduction

These documents explain the rationale, contracts, and tradeoffs behind HFF's language design. The language specification defines the query language; records provide context for individual design choices.

Record Status Date Author
001: Compact Predicates Accepted 2026-10-11 @ornew
002: Guards and Presence Accepted 2026-10-11 @ornew
003: Collection Predicates Accepted 2026-10-11 @ornew
004: Go API and Backend Construction Accepted 2026-10-11 @ornew
005: Explicit Type Guards Accepted 2026-10-11 @ornew
006: Method Calls Without Empty Parentheses Accepted 2026-10-11 @ornew
007. Structural Equality Capabilities Accepted 2026-10-11 @ornew
008. Versioned Time-Zone Profiles Accepted 2026-10-11 @ornew
009. Extension Method Contracts Implemented 2026-10-11 @ornew
010. SQL Extension Translation Accepted 2026-10-11 @ornew
011. Compatibility Profiles Accepted 2026-10-12 @ornew
012. PostgreSQL JSONB Type Metadata Accepted 2026-10-12 @ornew
013. PostgreSQL Flattened Structure Presence Accepted 2026-10-12 @ornew
014. PostgreSQL Relation Bindings Accepted 2026-10-12 @ornew
015. Exact PostgreSQL Float Arithmetic Superseded 2026-10-13 @ornew
016. Canonical PostgreSQL JSON Serialization Accepted 2026-10-13 @ornew
017. PostgreSQL JSON Parsing Accepted 2026-10-13 @ornew
018. PostgreSQL Timestamp Storage Accepted 2026-10-13 @ornew
019. PostgreSQL JSON Union Dispatch Accepted 2026-10-13 @ornew
020. PostgreSQL JSON Timestamp Values Accepted 2026-10-13 @ornew
021. Backend-Native Approximate Float Semantics Accepted 2026-10-14 @ornew
022. Versioned configuration documents Accepted 2026-10-14 @ornew

Use the record template when adding a design record.

Explore HFF
Search documentation

Search the language specification and guides.