blob: 91e88eb44f5422985505b63ee921ef86476ed48f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# Annotations can be used to provide metadata used by the interpreter or via
# code using reflection (?).
#
# Annotations are scoped with the closest scopes take precedence, so if you
# had a package scoped annotation with strict mode enabled, but then a locally
# scoped annotation on a function with strict mode disabled strict mode would
# be disabled for that function.
#
# Scopes available:
# - package :: the current module and all other modules in the package
# - module :: only the current module
# - local :: only the current scope (default)
# - expr :: only the following expression
@package:name("Example Sloth program");
@package:author("Cody <cody@codyq.dev>");
@package:summary("This program is a little tour de Sloth");
@package:license("MIT");
# Similarly to TypeScript Sloth is a hybrid between a dyncmially typed and
# statically typed language, however if you would like to enforce static typing
# you can enable strict mode.
#
# Using strict mode is required for publishing to canopy.
@package:strict(true);
|