Hello World
-- HelloWorld.daml module HelloWorld where -- A top-level value with an explicit type signature. -- The colon : means "has type". greeting : Text greeting = "Hello, World!" -- A function: takes a Text, returns a Text. -- <> is the string concatenation operator. greet : Text -> Text greet name = "Hello, " <> name <> "!" -- Function application uses spaces, not parentheses. result : Text result = greet "DAML" -- evaluates to "Hello, DAML!"
Key points
Module structure
module Name whereis required as the first non-comment line. The module name must match the filename exactly.
Types & syntax
- The single colon
:means "has type". Type signatures are optional but strongly recommended. - Function application uses spaces:
greet "DAML", notgreet("DAML"). <>concatenatesTextvalues.
Immutability
- DAML has no mutable variables. Every binding is immutable.
- There is no
mainfunction. Top-level values are definitions, not sequential statements.