Goose  Diff

Differences From Artifact [c73033e19d]:

  • File bs/builtins/types/template/build.h — part of check-in [65cbac9aa3] at 2019-03-19 20:17:30 on branch trunk — Higher-order functions: implemented BuildArgPatternFromFuncType() and BuildArgPatternFromTFuncType(). (user: achavasse size: 463)

To Artifact [c410fc1e7d]:

  • File bs/builtins/types/template/build.h — part of check-in [63fb3517ff] at 2019-03-27 22:53:21 on branch trunk — Templates: split out tfunc signature construction into a separate function. (user: achavasse size: 578)

1
2
3
4
5
6

7
8
9
10
11
12
#ifndef EMPATHY_BUILTINS_TEMPLATE_BUILD_H
#define EMPATHY_BUILTINS_TEMPLATE_BUILD_H

namespace empathy::builtins
{
    extern TFuncType BuildTFuncType( const Value& returnType, const Value& params );

    extern optional< Value > BuildTFunc( const Context& c, const StringId& id, const Value& returnType, const Value& params, vector< Term >&& body );

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

#endif






>






1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef EMPATHY_BUILTINS_TEMPLATE_BUILD_H
#define EMPATHY_BUILTINS_TEMPLATE_BUILD_H

namespace empathy::builtins
{
    extern TFuncType BuildTFuncType( const Value& returnType, const Value& params );
    extern optional< Term > BuildTFuncSignature( const Context& c, const Value& returnType, const Value& params );
    extern optional< Value > BuildTFunc( const Context& c, const StringId& id, const Value& returnType, const Value& params, vector< Term >&& body );

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

#endif