-
Notifications
You must be signed in to change notification settings - Fork 0
Home
The Dhall wiki is organized into the following four sections:
These posts explain the context and motivation behind the language:
-
Programmable configuration files
Learn when it is appropriate to use the Dhall configuration language
-
Tour the core programming language features
-
Study how Dhall configuration files provide programming language features without sacrificing safety
-
Example commercial use cases for Dhall
-
Read this if you're interested in the motivation behind various language design choices
These guides help you get your hands dirty with working examples:
-
The official website for the language includes an interactive demo that you can use to try out Dhall in your browser
-
Getting started: Generate JSON or YAML
Use Dhall to simplify large and repetitive JSON or YAML configuration files
-
Study Dhall best practices in the context of the large and messy NetHack configuration format
These cookbooks teach you how to solve specific tasks:
-
Ramp up quickly with a cheat sheet if you're already familiar with functional programming
-
Frequently Asked Questions (FAQ)
Common questions and workarounds for limitations of the language
-
Migration: Swapped syntax for Natural numbers and Integers
Migrate your code to support the change in syntax for
Natural
numbers andInteger
s -
Migration: Deprecation of constructors keyword
Migrate your code to remove the obsolete
constructors
keyword -
Migration: Deprecation of old Optional literal syntax
Migrate your code to remove obsolete
List
-likeOptional
literals -
Migration: Deprecation of old union literal syntax
Migrate your code to remove the old union literal syntax
-
How to translate recursive code to Dhall
Embed recursive data types and functions in a non-recursive language
-
How to add a new built in function
Upgrade the language with new functionality
-
How to type-check and normalize incomplete code
Benefit from the language even when prototyping
These comprehensive resources cover details that other texts will gloss over:
-
Machine-readable specification of the Dhall grammar
-
Full specification of the language semantics
-
Built in types, functions, and operators
A list of all available built-in functionality
-
The latest release of the Dhall Prelude
This work is licensed under a Creative Commons Attribution 4.0 International License.
- Home
- Discussion
- Tutorials
- How-to guides
- Cheatsheet
- Frequently Asked Questions (FAQ)
- Migration: Swapped syntax for Natural numbers and Integers
- Migration: Deprecation of constructors keyword
- Migration: Deprecation of old Optional literal syntax
- Migration: Deprecation of old union literal syntax
- How to translate recursive code to Dhall
- How to add a new built in function
- How to type-check and normalize incomplete code
- References