dust/tree-sitter-dust/corpus/functions.txt
2023-12-11 11:17:37 -05:00

188 lines
4.5 KiB
Plaintext

================================================================================
Simple Function
================================================================================
fn || { "Hiya" }
--------------------------------------------------------------------------------
(root
(statement
(expression
(value
(function
(block
(statement
(expression
(value
(string))))))))))
================================================================================
Function Assignment
================================================================================
foobar <(str) -> str> = fn |text| { text }
--------------------------------------------------------------------------------
(root
(statement
(assignment
(identifier)
(type_definition
(type
(type)
(type)))
(assignment_operator)
(statement
(expression
(value
(function
(identifier)
(block
(statement
(expression
(identifier)))))))))))
================================================================================
Function Call
================================================================================
(foobar "Hiya")
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(expression
(identifier))
(expression
(value
(string)))))))
================================================================================
Complex Function
================================================================================
fn |message number| {
(output message)
(output number)
}
--------------------------------------------------------------------------------
(root
(statement
(expression
(value
(function
(identifier)
(identifier)
(block
(statement
(expression
(function_call
(expression
(identifier
(built_in_function)))
(expression
(identifier)))))
(statement
(expression
(function_call
(expression
(identifier
(built_in_function)))
(expression
(identifier)))))))))))
================================================================================
Complex Function Call
================================================================================
(foobar
"hi"
42
{
x = 1
y = 2
}
)
--------------------------------------------------------------------------------
(root
(statement
(expression
(function_call
(expression
(identifier))
(expression
(value
(string)))
(expression
(value
(integer)))
(expression
(value
(map
(identifier)
(statement
(expression
(value
(integer))))
(identifier)
(statement
(expression
(value
(integer)))))))))))
================================================================================
Callback Function
================================================================================
foobar <(() -> str) -> str> = fn |cb| {
(cb)
}
(foobar fn || { 'Hiya' })
--------------------------------------------------------------------------------
(root
(statement
(assignment
(identifier)
(type_definition
(type
(type
(type))
(type)))
(assignment_operator)
(statement
(expression
(value
(function
(identifier)
(block
(statement
(expression
(function_call
(expression
(identifier))))))))))))
(statement
(expression
(function_call
(expression
(identifier))
(expression
(value
(function
(block
(statement
(expression
(value
(string))))))))))))