Goose  Artifact [d0278564b4]

Artifact d0278564b41d8d40e9972f3c519a55e3a5312eac46bb2f080de49ea5740231b3:

  • File bs/builtins/types/template/build.h — part of check-in [00408e8723] at 2021-09-26 21:11:32 on branch trunk — TDecl: instead of directly storing the type signature (and forgetting all about the nested TExprs), we store the TExpr and generate the signature during typechecking (user: achavasse size: 530)

#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