Skip to content

Instantly share code, notes, and snippets.

@danidiaz
Created February 6, 2020 07:26
Show Gist options
  • Select an option

  • Save danidiaz/b4accb6f5bb398ef2b36a6c47e6cca4a to your computer and use it in GitHub Desktop.

Select an option

Save danidiaz/b4accb6f5bb398ef2b36a6c47e6cca4a to your computer and use it in GitHub Desktop.
typelevelshot.txt
Prelude M R> :set -XTypeApplications -XDataKinds -XFlexibleContexts -XAllowAmbiguousTypes
import qualified Data.RBR as R -- from "red-black-record"
Prelude M R> :{
Prelude M R| let r = R.insertI @"a" (3::Int)
Prelude M R| . R.insertI @"b" False
Prelude M R| . R.insertI @"c" 'c'
Prelude M R| $ R.unit
Prelude M R| :}
Prelude M R> :t r
r :: R.Record
R.I
('Data.RBR.Internal.N
'Data.RBR.Internal.B
('Data.RBR.Internal.N
'Data.RBR.Internal.B
'Data.RBR.Internal.E
"a"
Int
'Data.RBR.Internal.E)
"b"
Bool
('Data.RBR.Internal.N
'Data.RBR.Internal.B
'Data.RBR.Internal.E
"c"
Char
'Data.RBR.Internal.E))
r :: R.Record R.I (R.FromList '[ '("a",Int), '("b",Bool), '("c",Char) ])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment