> For the complete documentation index, see [llms.txt](https://docs.herodotus.dev/herodotus-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.herodotus.dev/herodotus-docs/developers/data-processor/jargon.md).

# HDP Jargon

This page is a glossary of terms used in the Data Processor. If you want to check out how to interact with the Data Processor, please check out the [Data Processor API](/herodotus-docs/developers/api-docs.md).

## Task

A task is a unit of processing. A task should be something **complete and unique**. It should have all the relevant data defined and also specify what computation we need to perform (either implicitly or explicitly).

* Regardless of type, a task should have three common behaviors: `encode`, `commit`, and `decode`. Because of this, we can batch both Data Lake Compute-type tasks and Module-type tasks in the same Merkle tree!
* We have two different types of tasks, and for each task type, we are providing detailed explanation pages:
  * [Data Lake](/herodotus-docs/developers/data-processor/jargon/what-is-datalake.md)
  * [Module](/herodotus-docs/developers/data-processor/jargon/what-is-module.md)
* Data Lake tasks are generally faster for processing large datasets with simple aggregation, but Module tasks allow for fully arbitrary computations to be verified as well.

## Program Registry

The Program Registry is a server that uploads compiled Cairo programs (also known as CASM files), which are needed to call a module. Check out the detailed API documentation [here](/herodotus-docs/developers/api-docs/program-registry.md).

The program hash is a unique calculation of the program bytecode. Based on the compiler version, the computation might vary slightly. You can also retrieve the exact hash via the `cairo-run` command from [cairo-lang](https://github.com/starkware-libs/cairo-lang).

Our main motivation is to have a registry of Cairo programs so that we can retrieve the compiled Cairo program using the given program hash.


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.herodotus.dev/herodotus-docs/developers/data-processor/jargon.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
