import { Definition } from "./definition" ; import { Expression } from "./expression" ; import { Node } from "./node" ; export interface FunctionValue extends Node { params : IdWithOptionalType [ ] ; body : Expression [ ] ; returns : Expression [ ] ; } export function isFunctionValue ( node ) { return node . type === "Lambda" ; } export interface IdWithOptionalType extends Node { name : string ; dataType ? : Expression ; } export function isIdWithOptionalType ( node ) { return node . type === "WeaklyTypedIdentifier" ; }