This commit is contained in:
Paul Chiusano 2019-04-25 23:27:10 -04:00
parent 528307dd2f
commit 21b86ba141
4 changed files with 8 additions and 13 deletions

View File

@ -40,7 +40,6 @@ import Unison.Parser (Ann (..), Annotated, ann)
import qualified Unison.Parser as Parser
import qualified Unison.Reference as R
import Unison.Referent (Referent)
import qualified Unison.Referent as Referent
import Unison.Result (Note (..))
import qualified Unison.Settings as Settings
import qualified Unison.Term as Term
@ -58,6 +57,7 @@ import Unison.Util.Range (Range (..))
import Unison.Var (Var)
import qualified Unison.Var as Var
import qualified Unison.PrettyPrintEnv as PPE
import qualified Unison.TermPrinter as TermPrinter
type Env = PPE.PrettyPrintEnv
@ -709,16 +709,11 @@ renderContext env ctx@(C.Context es) = " Γ\n "
showElem _ (C.Marker v) = "|" <> shortName v <> "|"
renderTerm :: (IsString s, Var v) => Env -> C.Term v loc -> s
renderTerm _ (ABT.Var' v) | Settings.demoHideVarNumber =
fromString (Text.unpack $ Var.name v)
renderTerm env (Term.Ref' r) =
fromString (HQ.toString $ PPE.termName env (Referent.Ref r))
renderTerm _ e =
let s = show e
in -- todo: pretty print
if length s > Settings.renderTermMaxLength
then fromString (take Settings.renderTermMaxLength s <> "...")
else fromString s
renderTerm env e =
let s = Color.toPlain $ TermPrinter.pretty' (Just 80) env (Term.unTypeVar e)
in if length s > Settings.renderTermMaxLength
then fromString (take Settings.renderTermMaxLength s <> "...")
else fromString s
-- | renders a type with no special styling
renderType' :: (IsString s, Var v) => Env -> Type.AnnotatedType v loc -> s

View File

@ -130,7 +130,8 @@ pretty
pretty n AmbientContext { precedence = p, blockContext = bc, infixContext = ic } term
= specialCases term $ \case
Var' v -> parenIfInfix name ic . prettyHashQualified $ name
where name = HQ.fromVar v
-- OK since all term vars are user specified, any freshening was just added during typechecking
where name = HQ.fromVar (Var.reset v)
Ref' r -> parenIfInfix name ic . prettyHashQualified' $ name
where name = PrettyPrintEnv.termName n (Referent.Ref r)
Ann' tm t ->

View File

@ -801,7 +801,6 @@ synthesize e = scope (InSynthesize e) $
if isClosed then pure $ generalizeExistentials ctx2 t
else pure (apply ctx t)
doRetract (Marker m)
-- m <- extendMarker Var.inferOther
v' <- ABT.freshen e freshenVar
appendContext (context [Ann v' tbinding])
t <- applyM =<< synthesize (ABT.bindInheritAnnotation e (Term.var() v'))