# 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: 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.
