TDNR seems to work!

This commit is contained in:
Runar Bjarnason 2018-08-13 14:18:12 -04:00
parent 03f2beb6aa
commit 7c55d507b7
3 changed files with 7 additions and 6 deletions

View File

@ -1,3 +1,4 @@
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE OverloadedLists #-}
@ -167,13 +168,14 @@ typeDirectedNameResolution resultSoFar env = do
Typechecking (Context.Note (Context.SolvedBlank (B.Resolve loc n) _ it) _)
-> do
suggestions <-
State.lift
fmap join
. State.lift
. traverse (resolve it)
. join
. maybeToList
. Map.lookup (Text.pack n)
$ terms env
suggestOrReplace loc (Text.pack n) it (join suggestions)
suggestOrReplace loc (Text.pack n) it suggestions
_ -> pure ()
where
suggestOrReplace

View File

@ -4,20 +4,19 @@
module Unison.Test.Typechecker where
import EasyTest
import Control.Monad (join, void)
import Control.Monad.IO.Class (liftIO)
import Data.Foldable (traverse_)
import Data.Text (unpack)
import Data.Text.IO (readFile)
import EasyTest
import System.FilePath (joinPath, splitPath)
import System.FilePath.Find (always, extension, find, (==?))
import Unison.FileParsers (Type, Term, parseAndSynthesizeAsFile)
import Unison.Parser as Parser
import qualified Unison.PrintError as PrintError
import qualified Unison.Result as Result
import Unison.Result (Result(..))
import qualified Unison.Result as Result
import Unison.Symbol (Symbol)
import Unison.Util.Monoid (intercalateMap)

View File

@ -1,6 +1,6 @@
-- Should resolve + with Type-directeded name resolution
x :: UInt64
x : UInt64
x = 4 + 2
x