Goose  Diff

Differences From Artifact [5db552f0bf]:

  • File bs/builtins/types/template/build.h — part of check-in [ef1e94f44d] at 2019-06-29 11:40:08 on branch trunk — Added a domain specifier in function and template function types. (user: achavasse size: 692)

To Artifact [40ccb92d8e]:

  • File bs/builtins/types/template/build.h — part of check-in [5fd301c5f9] at 2019-07-07 10:33:19 on branch trunk — Parser: refactored function and template function parsing to go through a common code path to build function types. (user: achavasse size: 669)

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

namespace empathy::builtins
{
    extern optional< TDecl > BuildTDecl( const Context& c, const Term& typeTExpr, const StringId& name );
    extern TFuncType BuildTFuncType( const Term& domain, const Value& returnType, const Value& params );
    extern optional< Term > BuildTFuncSignature( const Context& c, const TFuncType& tft );
    extern optional< Value > BuildTFunc( const Context& c, const Term& identity, const Term& domain, const Value& returnType, const Value& params, pvec&& 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
14
#ifndef EMPATHY_BUILTINS_TEMPLATE_BUILD_H
#define EMPATHY_BUILTINS_TEMPLATE_BUILD_H

namespace empathy::builtins
{
    extern optional< TDecl > BuildTDecl( const Context& c, const Term& typeTExpr, const StringId& name );
    extern TFuncType BuildTFuncType( const Term& domain, const Value& returnType, const Value& params );
    extern optional< Term > BuildTFuncSignature( const Context& c, const TFuncType& tft );
    extern optional< Value > BuildTFunc( const Context& c, const TFuncType& tft, const Term& identity, const Value& params, pvec&& body );

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

#endif