---
title: Declarations
summary: null
url: https://www.fastly.com/documentation/reference/vcl/declarations
---

In VCL, the area of a program outside of any built-in subroutines or custom subroutines is used for declaring static constructs that can be used during VCL processing. This area is called "init" in tools like [Fastly Fiddle](https://fiddle.fastly.dev) and if targeting it with [VCL snippets](https://www.fastly.com/documentation/guides/full-site-delivery/custom-vcl/developer-guide-using/#vcl-snippets).

- [ACL](https://www.fastly.com/documentation/reference/vcl/declarations/acl/)
- [Backend](https://www.fastly.com/documentation/reference/vcl/declarations/backend/)
- [Director](https://www.fastly.com/documentation/reference/vcl/declarations/director/)
- [Local variables](https://www.fastly.com/documentation/reference/vcl/declarations/local-variables/)
- [Penaltybox](https://www.fastly.com/documentation/reference/vcl/declarations/penaltybox/)
- [Ratecounter](https://www.fastly.com/documentation/reference/vcl/declarations/ratecounter/)
- [Sub](https://www.fastly.com/documentation/reference/vcl/declarations/sub/)
- [Table](https://www.fastly.com/documentation/reference/vcl/declarations/table/)
