unisonweb / unison

A friendly programming language from the future
https://unison-lang.org
Other
5.75k stars 269 forks source link

`display check` crashes ucm #2144

Open LoPoHa opened 3 years ago

LoPoHa commented 3 years ago

See the title. I assume check is a builtin and it happens with other functions?

.> display check
ucm: can't serialize term with blanks
CallStack (from HasCallStack):
  error, called at src/Unison/Codebase/SqliteCodebase/Conversions.hs:122:26 in unison-parser-typechecker-0.0.0-DaPEC8BhFLfBuvI7Fapoon:Unison.Codebase.SqliteCodebase.Conversions
LoPoHa commented 3 years ago
display putBytes
ucm: unimplemented: symbol1to2 Pattern-1
CallStack (from HasCallStack):
  error, called at src/Unison/Codebase/SqliteCodebase/Conversions.hs:246:16 in unison-parser-typechecker-0.0.0-DaPEC8BhFLfBuvI7Fapoon:Unison.Codebase.SqliteCodebase.Conversions

It seems to happen with builtins

hojberg commented 3 years ago

I also get this with List.map (which isn't a builtin).

LoPoHa commented 3 years ago

Looking at it again, the errors in display check and display putBytes or display List.map are a different. display check has the error ucm: can't serialize term with blanks while display putBytes and display List.map have the error ucm: unimplemented: symbol1to2 Pattern-1 Should these be separated issues?

pchiusano commented 3 years ago

@LoPoHa any chance you can try this again with current trunk?

The ones that have the unimplemented: symbol1to2 should have been fixed by #2138. I'm less sure about the other ones though.

aryairani commented 3 years ago

@pchiusano putBytes displays now, but with the same wrong variable names we saw in #2138 / #2153

_M2.test.internals.v1.Test.check still bombs with can't serialize term with blanks. I don't know why evaluating check would produce a term with blanks.