1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 13 1
5        , srcInfoPoints =
6            [ SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 1 1
7            , SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 1
8            , SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 1
9            , SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 1
10            , SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 1
11            , SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 1
12            , SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 1
13            , SrcSpan "tests/examples/DoubleHashOp.hs" 13 1 13 1
14            , SrcSpan "tests/examples/DoubleHashOp.hs" 13 1 13 1
15            ]
16        }
17      (Just
18         (ModuleHead
19            SrcSpanInfo
20              { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 26
21              , srcInfoPoints =
22                  [ SrcSpan "tests/examples/DoubleHashOp.hs" 2 1 2 7
23                  , SrcSpan "tests/examples/DoubleHashOp.hs" 2 21 2 26
24                  ]
25              }
26            (ModuleName
27               SrcSpanInfo
28                 { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 2 8 2 20
29                 , srcInfoPoints = []
30                 }
31               "DoubleHashOp")
32            Nothing
33            Nothing))
34      [ LanguagePragma
35          SrcSpanInfo
36            { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 1 31
37            , srcInfoPoints =
38                [ SrcSpan "tests/examples/DoubleHashOp.hs" 1 1 1 13
39                , SrcSpan "tests/examples/DoubleHashOp.hs" 1 28 1 31
40                ]
41            }
42          [ Ident
43              SrcSpanInfo
44                { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 1 14 1 27
45                , srcInfoPoints = []
46                }
47              "UnboxedTuples"
48          ]
49      ]
50      []
51      [ TypeSig
52          SrcSpanInfo
53            { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 22
54            , srcInfoPoints =
55                [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 6 4 8 ]
56            }
57          [ Symbol
58              SrcSpanInfo
59                { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 5
60                , srcInfoPoints =
61                    [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 1 4 2
62                    , SrcSpan "tests/examples/DoubleHashOp.hs" 4 2 4 4
63                    , SrcSpan "tests/examples/DoubleHashOp.hs" 4 4 4 5
64                    ]
65                }
66              "##"
67          ]
68          (TyFun
69             SrcSpanInfo
70               { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 9 4 22
71               , srcInfoPoints =
72                   [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 11 4 13 ]
73               }
74             (TyVar
75                SrcSpanInfo
76                  { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 9 4 10
77                  , srcInfoPoints = []
78                  }
79                (Ident
80                   SrcSpanInfo
81                     { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 9 4 10
82                     , srcInfoPoints = []
83                     }
84                   "a"))
85             (TyFun
86                SrcSpanInfo
87                  { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 14 4 22
88                  , srcInfoPoints =
89                      [ SrcSpan "tests/examples/DoubleHashOp.hs" 4 16 4 18 ]
90                  }
91                (TyVar
92                   SrcSpanInfo
93                     { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 14 4 15
94                     , srcInfoPoints = []
95                     }
96                   (Ident
97                      SrcSpanInfo
98                        { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 14 4 15
99                        , srcInfoPoints = []
100                        }
101                      "b"))
102                (TyCon
103                   SrcSpanInfo
104                     { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 19 4 22
105                     , srcInfoPoints = []
106                     }
107                   (UnQual
108                      SrcSpanInfo
109                        { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 19 4 22
110                        , srcInfoPoints = []
111                        }
112                      (Ident
113                         SrcSpanInfo
114                           { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 4 19 4 22
115                           , srcInfoPoints = []
116                           }
117                         "Int")))))
118      , FunBind
119          SrcSpanInfo
120            { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 11
121            , srcInfoPoints = []
122            }
123          [ InfixMatch
124              SrcSpanInfo
125                { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 11
126                , srcInfoPoints = []
127                }
128              (PVar
129                 SrcSpanInfo
130                   { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 2
131                   , srcInfoPoints = []
132                   }
133                 (Ident
134                    SrcSpanInfo
135                      { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 1 5 2
136                      , srcInfoPoints = []
137                      }
138                    "a"))
139              (Symbol
140                 SrcSpanInfo
141                   { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 3 5 5
142                   , srcInfoPoints = []
143                   }
144                 "##")
145              [ PVar
146                  SrcSpanInfo
147                    { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 6 5 7
148                    , srcInfoPoints = []
149                    }
150                  (Ident
151                     SrcSpanInfo
152                       { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 6 5 7
153                       , srcInfoPoints = []
154                       }
155                     "b")
156              ]
157              (UnGuardedRhs
158                 SrcSpanInfo
159                   { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 8 5 11
160                   , srcInfoPoints =
161                       [ SrcSpan "tests/examples/DoubleHashOp.hs" 5 8 5 9 ]
162                   }
163                 (Lit
164                    SrcSpanInfo
165                      { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 10 5 11
166                      , srcInfoPoints = []
167                      }
168                    (Int
169                       SrcSpanInfo
170                         { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 5 10 5 11
171                         , srcInfoPoints = []
172                         }
173                       0
174                       "0")))
175              Nothing
176          ]
177      , TypeSig
178          SrcSpanInfo
179            { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 22
180            , srcInfoPoints =
181                [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 6 7 8 ]
182            }
183          [ Symbol
184              SrcSpanInfo
185                { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 5
186                , srcInfoPoints =
187                    [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 1 7 2
188                    , SrcSpan "tests/examples/DoubleHashOp.hs" 7 2 7 4
189                    , SrcSpan "tests/examples/DoubleHashOp.hs" 7 4 7 5
190                    ]
191                }
192              "#*"
193          ]
194          (TyFun
195             SrcSpanInfo
196               { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 9 7 22
197               , srcInfoPoints =
198                   [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 11 7 13 ]
199               }
200             (TyVar
201                SrcSpanInfo
202                  { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 9 7 10
203                  , srcInfoPoints = []
204                  }
205                (Ident
206                   SrcSpanInfo
207                     { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 9 7 10
208                     , srcInfoPoints = []
209                     }
210                   "a"))
211             (TyFun
212                SrcSpanInfo
213                  { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 14 7 22
214                  , srcInfoPoints =
215                      [ SrcSpan "tests/examples/DoubleHashOp.hs" 7 16 7 18 ]
216                  }
217                (TyVar
218                   SrcSpanInfo
219                     { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 14 7 15
220                     , srcInfoPoints = []
221                     }
222                   (Ident
223                      SrcSpanInfo
224                        { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 14 7 15
225                        , srcInfoPoints = []
226                        }
227                      "b"))
228                (TyCon
229                   SrcSpanInfo
230                     { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 19 7 22
231                     , srcInfoPoints = []
232                     }
233                   (UnQual
234                      SrcSpanInfo
235                        { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 19 7 22
236                        , srcInfoPoints = []
237                        }
238                      (Ident
239                         SrcSpanInfo
240                           { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 7 19 7 22
241                           , srcInfoPoints = []
242                           }
243                         "Int")))))
244      , FunBind
245          SrcSpanInfo
246            { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 11
247            , srcInfoPoints = []
248            }
249          [ InfixMatch
250              SrcSpanInfo
251                { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 11
252                , srcInfoPoints = []
253                }
254              (PVar
255                 SrcSpanInfo
256                   { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 2
257                   , srcInfoPoints = []
258                   }
259                 (Ident
260                    SrcSpanInfo
261                      { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 1 8 2
262                      , srcInfoPoints = []
263                      }
264                    "a"))
265              (Symbol
266                 SrcSpanInfo
267                   { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 3 8 5
268                   , srcInfoPoints = []
269                   }
270                 "#*")
271              [ PVar
272                  SrcSpanInfo
273                    { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 6 8 7
274                    , srcInfoPoints = []
275                    }
276                  (Ident
277                     SrcSpanInfo
278                       { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 6 8 7
279                       , srcInfoPoints = []
280                       }
281                     "b")
282              ]
283              (UnGuardedRhs
284                 SrcSpanInfo
285                   { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 8 8 11
286                   , srcInfoPoints =
287                       [ SrcSpan "tests/examples/DoubleHashOp.hs" 8 8 8 9 ]
288                   }
289                 (Lit
290                    SrcSpanInfo
291                      { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 10 8 11
292                      , srcInfoPoints = []
293                      }
294                    (Int
295                       SrcSpanInfo
296                         { srcInfoSpan = SrcSpan "tests/examples/DoubleHashOp.hs" 8 10 8 11
297                         , srcInfoPoints = []
298                         }
299                       1
300                       "1")))
301              Nothing
302          ]
303      ]
304  , [ Comment
305        False
306        (SrcSpan "tests/examples/DoubleHashOp.hs" 10 1 10 36)
307        " This still does not work though:"
308    , Comment
309        False
310        (SrcSpan "tests/examples/DoubleHashOp.hs" 11 1 11 24)
311        " (#) :: a -> b -> Int"
312    , Comment
313        False
314        (SrcSpan "tests/examples/DoubleHashOp.hs" 12 1 12 13)
315        " a # b = 2"
316    ]
317  )
318