> For the complete documentation index, see [llms.txt](https://docs.zenprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zenprotocol.com/zf.md).

# Contracts Language ZF\*

ZF\* is the smart contracting language for the Zen Protocol.\
ZF\* is a dialect of the [F\* language](https://www.fstar-lang.org/).

### Prerequisites

Before beginning to develop with ZF\*, it is worth developing familiarity with a statically typed functional language, such as [F#](https://fsharp.org/), [OCaml](https://ocaml.org/), or [Haskell](https://www.haskell.org/).\
\
It's worth skimming through the [F\* tutorial](https://www.fstar-lang.org/tutorial/). Note that the F\* tutorial also assumes familiarity with F#, OCaml, or Haskell.

#### Recommended resources

F# ( Online )\
&#x20; \* [F# Programming WikiBook](https://en.wikibooks.org/wiki/F_Sharp_Programming)\
&#x20; \* [F# for C#, Java or Python developers](https://fsharpforfunandprofit.com/)\
&#x20; \* [F# Cheat Sheet\
&#x20;](http://dungpa.github.io/fsharp-cheatsheet/) \* [Learn F# in Y Minutes](https://learnxinyminutes.com/docs/fsharp/)\
\
F# ( Books )\
&#x20; \* [Real-World Functional Programming](https://www.amazon.com/Real-World-Functional-Programming-Tomas-Petricek/dp/1933988924)\
&#x20; \* [Expert F# 4.0](https://www.amazon.com/Expert-F-4-0-Don-Syme/dp/1484207416)\
\
OCaml ( Online )\
&#x20; \* [OCaml Tutorials](https://ocaml.org/learn/tutorials/)\
&#x20; \* [Real World OCaml](http://dev.realworldocaml.org/) (Dev version)\
\
OCaml ( Books )\
&#x20; \* [Real World OCaml](https://www.amazon.com/Real-World-OCaml-Functional-programming/dp/144932391X) (Slightly out of date. Use the online dev version for more up-to-date information)\
\
Haskell ( Online )\
&#x20; \* [Learn You a Haskell for Great Good!](http://learnyouahaskell.com/chapters)\
\
Haskell ( Books )\
&#x20; \* [Learn You a Haskell for Great Good!](http://learnyouahaskell.com/chapters)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zenprotocol.com/zf.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
