#ifndef GOOSE_BUILTINS_TEMPLATE_BUILD_H #define GOOSE_BUILTINS_TEMPLATE_BUILD_H namespace goose::builtins { extern TFuncType BuildTFuncType( const Value& returnType, const Value& params ); extern optional< Term > BuildTFuncSignature( const Context& c, const TFuncType& tft ); extern Value BuildTFunc( const Context& c, const TFuncType& tft, const Term& identity, const Value& params, ptr< void > body ); extern optional< Term > BuildArgPatternFromTFuncType( const Context& c, const Value& tfuncType ); } #endif