ParseOk ( Module SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 1 8 1 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 1 , SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 1 , SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 1 , SrcSpan "tests/examples/FFIExtensions.hs" 4 1 4 1 , SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 1 , SrcSpan "tests/examples/FFIExtensions.hs" 8 1 8 1 , SrcSpan "tests/examples/FFIExtensions.hs" 8 1 8 1 ] } (Just (ModuleHead SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 27 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 7 , SrcSpan "tests/examples/FFIExtensions.hs" 2 22 2 27 ] } (ModuleName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 2 8 2 21 , srcInfoPoints = [] } "FFIExtensions") Nothing Nothing)) [ LanguagePragma SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 69 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 13 , SrcSpan "tests/examples/FFIExtensions.hs" 1 38 1 39 , SrcSpan "tests/examples/FFIExtensions.hs" 1 56 1 57 , SrcSpan "tests/examples/FFIExtensions.hs" 1 66 1 69 ] } [ Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 14 1 38 , srcInfoPoints = [] } "ForeignFunctionInterface" , Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 40 1 56 , srcInfoPoints = [] } "InterruptibleFFI" , Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 58 1 65 , srcInfoPoints = [] } "CApiFFI" ] ] [] [ ForImp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 1 5 38 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 4 1 4 8 , SrcSpan "tests/examples/FFIExtensions.hs" 4 9 4 15 , SrcSpan "tests/examples/FFIExtensions.hs" 5 4 5 11 , SrcSpan "tests/examples/FFIExtensions.hs" 5 18 5 20 ] } (CCall SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 16 4 21 , srcInfoPoints = [] }) (Just (PlayInterruptible SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 22 4 35 , srcInfoPoints = [] })) (Just "sleep") (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 12 5 17 , srcInfoPoints = [] } "sleep") (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 38 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 5 27 5 29 ] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26 , srcInfoPoints = [] } "CUint"))) (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 38 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32 , srcInfoPoints = [] } "IO"))) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38 , srcInfoPoints = [] } "CUint"))))) , ForImp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 54 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 8 , SrcSpan "tests/examples/FFIExtensions.hs" 7 9 7 15 , SrcSpan "tests/examples/FFIExtensions.hs" 7 21 7 33 , SrcSpan "tests/examples/FFIExtensions.hs" 7 36 7 38 ] } (CApi SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 16 7 20 , srcInfoPoints = [] }) Nothing (Just "header.h f") (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 34 7 35 , srcInfoPoints = [] } "f") (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 54 , srcInfoPoints = [ SrcSpan "tests/examples/FFIExtensions.hs" 7 44 7 46 ] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43 , srcInfoPoints = [] } "CInt"))) (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 54 , srcInfoPoints = [] } (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49 , srcInfoPoints = [] } "IO"))) (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54 , srcInfoPoints = [] } (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54 , srcInfoPoints = [] } (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54 , srcInfoPoints = [] } "CInt"))))) ] , [] )