Differences From Artifact [116b3bffec]:
- File bs/sema/hole.cpp — part of check-in [aee388d9c0] at 2019-08-09 19:54:22 on branch trunk — Cleanup: got rid of the half-assed location and poisoning systems in ir::Terms. (user: achavasse size: 990)
To Artifact [82c217400b]:
- File
bs/sema/hole.cpp
— part of check-in
[75bcd81044]
at
2019-08-15 01:27:35
on branch trunk
—
- Implemented the DropValue() extension point, called when a previously pushed value is dropped without being used.
- ir, sema: the complexity of an ir expression is now directly counted by ir::Vector, so that we don't have to deal with it in every unification rule (and it was missing from most of them, which caused incorrect overload resolutions in some cases).
1 2 3 4 5 6 7 8 |
#include "sema.h"
namespace empathy::sema
{
Term MkHole( const Hole& h )
{
return visit( [&]( auto&& x )
{
| | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include "sema.h"
namespace empathy::sema
{
Term MkHole( const Hole& h )
{
return visit( [&]( auto&& x )
{
return SetComplexity( TVEC( TSID( hole ), TERM( x ) ), 0 );
}, h );
}
const Term& HolePattern()
{
static auto hp = TVEC( TSID( hole ), ANYTERM( _ ) );
return hp;
|
| ︙ | ︙ |