RosettaCodeData/Task/Call-a-function/Dyalect/call-a-function-9.dyalect

12 lines
487 B
Plaintext

//Built-in functions are regular functions from an implicitly imported "lang" module
//There is no actual difference between these functions and user-defined functions
//You can however write a function that would check if a given function is declared in "lang" module:
func isBuiltin(fn) =>
fn.Name is not nil && fn.Name in lang && lang[fn.Name] == fn
//Usage:
func foo() { } //A user-defined function
print(isBuiltin(foo)) //Prints: false
print(isBuiltin(assert)) //Prints: true