Goose  Artifact [00e9171ad7]

Artifact 00e9171ad7406207a28fd7fcf225277cd48bea451fb218ef2b6caa5b9971674b:

  • File bs/builtins/types/template/build.h — part of check-in [1fe5a1ac2b] at 2021-10-31 18:52:16 on branch trunk —
    • Reverted most of the horribly complicated changes done since [b3ff9af3c2fe4925], other than the ability to hash all terms, values, instructions and predicates
    • Solved the problem for which tests were added in [b3ff9af3c2fe4925] in a much simpler way
    (user: zlodo size: 568)

#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& parentIdentity, const Term& identity, const Value& params, ptr< void > body );

    extern optional< Term > BuildArgPatternFromTFuncType( const Context& c, const Value& tfuncType );
}

#endif