git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge branch 'master' into pure11
41d055fAndy Arvanitis
.travis.yml+3
@@ -24,6 +24,9 @@ matrix:
24 - env: GHCVER=7.10.2 STACKAGE=nightly-2015-09-29
24 - env: GHCVER=7.10.2 STACKAGE=nightly-2015-09-29
25 compiler: ": #GHC 7.10.2 nightly-2015-09-29"
25 compiler: ": #GHC 7.10.2 nightly-2015-09-29"
26 addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
26 addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.2,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
27+ - env: GHCVER=7.10.3
28+ compiler: ": #GHC 7.10.3"
29+ addons: {apt: {packages: [cabal-install-1.22,ghc-7.10.3,happy-1.19.5,alex-3.1.4], sources: [hvr-ghc]}}
27before_install:
30before_install:
28 - unset CC
31 - unset CC
29 - export PATH="/opt/ghc/$GHCVER/bin:$PATH"
32 - export PATH="/opt/ghc/$GHCVER/bin:$PATH"
CONTRIBUTING.md+1−1
@@ -30,7 +30,7 @@ updated.
30You can automate this (if you have bash):
30You can automate this (if you have bash):
31
31
32- get a copy of [cabal-dependency-licenses][]
32- get a copy of [cabal-dependency-licenses][]
33−- run at the command line: `./license/generate > LICENSE`
33+- run at the command line: `runhaskell license-generator/generate.hs > LICENSE`
34
34
35[cabal-dependency-licenses]: https://github.com/jaspervdj/cabal-dependency-licenses
35[cabal-dependency-licenses]: https://github.com/jaspervdj/cabal-dependency-licenses
36
36
LICENSE+631−464
@@ -31,6 +31,7 @@ PureScript uses the following Haskell library packages. Their license files foll
31 array
31 array
32 attoparsec
32 attoparsec
33 base
33 base
34+ base-compat
34 binary
35 binary
35 blaze-builder
36 blaze-builder
36 bower-json
37 bower-json
@@ -50,7 +51,9 @@ PureScript uses the following Haskell library packages. Their license files foll
50 monad-control
51 monad-control
51 mtl
52 mtl
52 nats
53 nats
54+ old-locale
53 optparse-applicative
55 optparse-applicative
56+ parallel
54 parsec
57 parsec
55 pattern-arrows
58 pattern-arrows
56 pretty
59 pretty
@@ -63,6 +66,7 @@ PureScript uses the following Haskell library packages. Their license files foll
63 split
66 split
64 stm
67 stm
65 syb
68 syb
69+ tagged
66 template-haskell
70 template-haskell
67 terminfo
71 terminfo
68 text
72 text
@@ -111,22 +115,22 @@ HUnit LICENSE file:
111
115
112 HUnit is Copyright (c) Dean Herington, 2002, all rights reserved,
116 HUnit is Copyright (c) Dean Herington, 2002, all rights reserved,
113 and is distributed as free software under the following license.
117 and is distributed as free software under the following license.
114−
118+
115 Redistribution and use in source and binary forms, with or without
119 Redistribution and use in source and binary forms, with or without
116 modification, are permitted provided that the following conditions
120 modification, are permitted provided that the following conditions
117 are met:
121 are met:
118−
122+
119 - Redistributions of source code must retain the above copyright
123 - Redistributions of source code must retain the above copyright
120 notice, this list of conditions, and the following disclaimer.
124 notice, this list of conditions, and the following disclaimer.
121−
125+
122 - Redistributions in binary form must reproduce the above copyright
126 - Redistributions in binary form must reproduce the above copyright
123 notice, this list of conditions, and the following disclaimer in the
127 notice, this list of conditions, and the following disclaimer in the
124 documentation and/or other materials provided with the distribution.
128 documentation and/or other materials provided with the distribution.
125−
129+
126 - The names of the copyright holders may not be used to endorse or
130 - The names of the copyright holders may not be used to endorse or
127 promote products derived from this software without specific prior
131 promote products derived from this software without specific prior
128 written permission.
132 written permission.
129−
133+
130 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY
134 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY
131 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
135 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
132 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
136 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@@ -142,24 +146,24 @@ HUnit LICENSE file:
142aeson LICENSE file:
146aeson LICENSE file:
143
147
144 Copyright (c) 2011, MailRank, Inc.
148 Copyright (c) 2011, MailRank, Inc.
145−
149+
146 All rights reserved.
150 All rights reserved.
147−
151+
148 Redistribution and use in source and binary forms, with or without
152 Redistribution and use in source and binary forms, with or without
149 modification, are permitted provided that the following conditions
153 modification, are permitted provided that the following conditions
150 are met:
154 are met:
151−
155+
152 1. Redistributions of source code must retain the above copyright
156 1. Redistributions of source code must retain the above copyright
153 notice, this list of conditions and the following disclaimer.
157 notice, this list of conditions and the following disclaimer.
154−
158+
155 2. Redistributions in binary form must reproduce the above copyright
159 2. Redistributions in binary form must reproduce the above copyright
156 notice, this list of conditions and the following disclaimer in the
160 notice, this list of conditions and the following disclaimer in the
157 documentation and/or other materials provided with the distribution.
161 documentation and/or other materials provided with the distribution.
158−
162+
159 3. Neither the name of the author nor the names of his contributors
163 3. Neither the name of the author nor the names of his contributors
160 may be used to endorse or promote products derived from this software
164 may be used to endorse or promote products derived from this software
161 without specific prior written permission.
165 without specific prior written permission.
162−
166+
163 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
167 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
164 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
168 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
165 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
169 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -175,7 +179,7 @@ aeson LICENSE file:
175aeson-better-errors LICENSE file:
179aeson-better-errors LICENSE file:
176
180
177 Copyright (c) 2015 Harry Garrood
181 Copyright (c) 2015 Harry Garrood
178−
182+
179 Permission is hereby granted, free of charge, to any person obtaining
183 Permission is hereby granted, free of charge, to any person obtaining
180 a copy of this software and associated documentation files (the
184 a copy of this software and associated documentation files (the
181 "Software"), to deal in the Software without restriction, including
185 "Software"), to deal in the Software without restriction, including
@@ -183,10 +187,10 @@ aeson-better-errors LICENSE file:
183 distribute, sublicense, and/or sell copies of the Software, and to
187 distribute, sublicense, and/or sell copies of the Software, and to
184 permit persons to whom the Software is furnished to do so, subject to
188 permit persons to whom the Software is furnished to do so, subject to
185 the following conditions:
189 the following conditions:
186−
190+
187 The above copyright notice and this permission notice shall be included
191 The above copyright notice and this permission notice shall be included
188 in all copies or substantial portions of the Software.
192 in all copies or substantial portions of the Software.
189−
193+
190 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
194 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
191 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
195 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
192 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
196 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
@@ -199,10 +203,10 @@ ansi-terminal LICENSE file:
199
203
200 Copyright (c) 2008, Maximilian Bolingbroke
204 Copyright (c) 2008, Maximilian Bolingbroke
201 All rights reserved.
205 All rights reserved.
202−
206+
203 Redistribution and use in source and binary forms, with or without modification, are permitted
207 Redistribution and use in source and binary forms, with or without modification, are permitted
204 provided that the following conditions are met:
208 provided that the following conditions are met:
205−
209+
206 * Redistributions of source code must retain the above copyright notice, this list of
210 * Redistributions of source code must retain the above copyright notice, this list of
207 conditions and the following disclaimer.
211 conditions and the following disclaimer.
208 * Redistributions in binary form must reproduce the above copyright notice, this list of
212 * Redistributions in binary form must reproduce the above copyright notice, this list of
@@ -210,7 +214,7 @@ ansi-terminal LICENSE file:
210 provided with the distribution.
214 provided with the distribution.
211 * Neither the name of Maximilian Bolingbroke nor the names of other contributors may be used to
215 * Neither the name of Maximilian Bolingbroke nor the names of other contributors may be used to
212 endorse or promote products derived from this software without specific prior written permission.
216 endorse or promote products derived from this software without specific prior written permission.
213−
217+
214 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
218 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
215 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
219 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
216 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
220 FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
@@ -223,19 +227,19 @@ ansi-terminal LICENSE file:
223ansi-wl-pprint LICENSE file:
227ansi-wl-pprint LICENSE file:
224
228
225 Copyright 2008, Daan Leijen and Max Bolingbroke. All rights reserved.
229 Copyright 2008, Daan Leijen and Max Bolingbroke. All rights reserved.
226−
230+
227 Redistribution and use in source and binary forms, with or without
231 Redistribution and use in source and binary forms, with or without
228 modification, are permitted provided that the following conditions are
232 modification, are permitted provided that the following conditions are
229 met:
233 met:
230−
234+
231 * Redistributions of source code must retain the above copyright
235 * Redistributions of source code must retain the above copyright
232 notice, this list of conditions and the following disclaimer.
236 notice, this list of conditions and the following disclaimer.
233−
237+
234 * Redistributions in binary form must reproduce the above copyright
238 * Redistributions in binary form must reproduce the above copyright
235 notice, this list of conditions and the following disclaimer in
239 notice, this list of conditions and the following disclaimer in
236 the documentation and/or other materials provided with the
240 the documentation and/or other materials provided with the
237 distribution.
241 distribution.
238−
242+
239 This software is provided by the copyright holders "as is" and any
243 This software is provided by the copyright holders "as is" and any
240 express or implied warranties, including, but not limited to, the
244 express or implied warranties, including, but not limited to, the
241 implied warranties of merchantability and fitness for a particular
245 implied warranties of merchantability and fitness for a particular
@@ -251,43 +255,43 @@ ansi-wl-pprint LICENSE file:
251array LICENSE file:
255array LICENSE file:
252
256
253 This library (libraries/base) is derived from code from several
257 This library (libraries/base) is derived from code from several
254− sources:
258+ sources:
255−
259+
256 * Code from the GHC project which is largely (c) The University of
260 * Code from the GHC project which is largely (c) The University of
257 Glasgow, and distributable under a BSD-style license (see below),
261 Glasgow, and distributable under a BSD-style license (see below),
258−
262+
259 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
263 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
260 and freely redistributable (but see the full license for
264 and freely redistributable (but see the full license for
261 restrictions).
265 restrictions).
262−
266+
263 * Code from the Haskell Foreign Function Interface specification,
267 * Code from the Haskell Foreign Function Interface specification,
264 which is (c) Manuel M. T. Chakravarty and freely redistributable
268 which is (c) Manuel M. T. Chakravarty and freely redistributable
265 (but see the full license for restrictions).
269 (but see the full license for restrictions).
266−
270+
267 The full text of these licenses is reproduced below. All of the
271 The full text of these licenses is reproduced below. All of the
268 licenses are BSD-style or compatible.
272 licenses are BSD-style or compatible.
269−
273+
270 -----------------------------------------------------------------------------
274 -----------------------------------------------------------------------------
271−
275+
272 The Glasgow Haskell Compiler License
276 The Glasgow Haskell Compiler License
273−
277+
274− Copyright 2004, The University Court of the University of Glasgow.
278+ Copyright 2004, The University Court of the University of Glasgow.
275 All rights reserved.
279 All rights reserved.
276−
280+
277 Redistribution and use in source and binary forms, with or without
281 Redistribution and use in source and binary forms, with or without
278 modification, are permitted provided that the following conditions are met:
282 modification, are permitted provided that the following conditions are met:
279−
283+
280 - Redistributions of source code must retain the above copyright notice,
284 - Redistributions of source code must retain the above copyright notice,
281 this list of conditions and the following disclaimer.
285 this list of conditions and the following disclaimer.
282−
286+
283 - Redistributions in binary form must reproduce the above copyright notice,
287 - Redistributions in binary form must reproduce the above copyright notice,
284 this list of conditions and the following disclaimer in the documentation
288 this list of conditions and the following disclaimer in the documentation
285 and/or other materials provided with the distribution.
289 and/or other materials provided with the distribution.
286−
290+
287 - Neither name of the University nor the names of its contributors may be
291 - Neither name of the University nor the names of its contributors may be
288 used to endorse or promote products derived from this software without
292 used to endorse or promote products derived from this software without
289− specific prior written permission.
293+ specific prior written permission.
290−
294+
291 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
295 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
292 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
296 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
293 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
297 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -300,14 +304,14 @@ array LICENSE file:
300 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
304 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
301 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
305 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
302 DAMAGE.
306 DAMAGE.
303−
307+
304 -----------------------------------------------------------------------------
308 -----------------------------------------------------------------------------
305−
309+
306 Code derived from the document "Report on the Programming Language
310 Code derived from the document "Report on the Programming Language
307 Haskell 98", is distributed under the following license:
311 Haskell 98", is distributed under the following license:
308−
312+
309 Copyright (c) 2002 Simon Peyton Jones
313 Copyright (c) 2002 Simon Peyton Jones
310−
314+
311 The authors intend this Report to belong to the entire Haskell
315 The authors intend this Report to belong to the entire Haskell
312 community, and so we grant permission to copy and distribute it for
316 community, and so we grant permission to copy and distribute it for
313 any purpose, provided that it is reproduced in its entirety,
317 any purpose, provided that it is reproduced in its entirety,
@@ -315,15 +319,15 @@ array LICENSE file:
315 copied and distributed for any purpose, provided that the modified
319 copied and distributed for any purpose, provided that the modified
316 version is clearly presented as such, and that it does not claim to
320 version is clearly presented as such, and that it does not claim to
317 be a definition of the Haskell 98 Language.
321 be a definition of the Haskell 98 Language.
318−
322+
319 -----------------------------------------------------------------------------
323 -----------------------------------------------------------------------------
320−
324+
321 Code derived from the document "The Haskell 98 Foreign Function
325 Code derived from the document "The Haskell 98 Foreign Function
322 Interface, An Addendum to the Haskell 98 Report" is distributed under
326 Interface, An Addendum to the Haskell 98 Report" is distributed under
323 the following license:
327 the following license:
324−
328+
325 Copyright (c) 2002 Manuel M. T. Chakravarty
329 Copyright (c) 2002 Manuel M. T. Chakravarty
326−
330+
327 The authors intend this Report to belong to the entire Haskell
331 The authors intend this Report to belong to the entire Haskell
328 community, and so we grant permission to copy and distribute it for
332 community, and so we grant permission to copy and distribute it for
329 any purpose, provided that it is reproduced in its entirety,
333 any purpose, provided that it is reproduced in its entirety,
@@ -331,30 +335,30 @@ array LICENSE file:
331 copied and distributed for any purpose, provided that the modified
335 copied and distributed for any purpose, provided that the modified
332 version is clearly presented as such, and that it does not claim to
336 version is clearly presented as such, and that it does not claim to
333 be a definition of the Haskell 98 Foreign Function Interface.
337 be a definition of the Haskell 98 Foreign Function Interface.
334−
338+
335 -----------------------------------------------------------------------------
339 -----------------------------------------------------------------------------
336
340
337attoparsec LICENSE file:
341attoparsec LICENSE file:
338
342
339 Copyright (c) Lennart Kolmodin
343 Copyright (c) Lennart Kolmodin
340−
344+
341 All rights reserved.
345 All rights reserved.
342−
346+
343 Redistribution and use in source and binary forms, with or without
347 Redistribution and use in source and binary forms, with or without
344 modification, are permitted provided that the following conditions
348 modification, are permitted provided that the following conditions
345 are met:
349 are met:
346−
350+
347 1. Redistributions of source code must retain the above copyright
351 1. Redistributions of source code must retain the above copyright
348 notice, this list of conditions and the following disclaimer.
352 notice, this list of conditions and the following disclaimer.
349−
353+
350 2. Redistributions in binary form must reproduce the above copyright
354 2. Redistributions in binary form must reproduce the above copyright
351 notice, this list of conditions and the following disclaimer in the
355 notice, this list of conditions and the following disclaimer in the
352 documentation and/or other materials provided with the distribution.
356 documentation and/or other materials provided with the distribution.
353−
357+
354 3. Neither the name of the author nor the names of his contributors
358 3. Neither the name of the author nor the names of his contributors
355 may be used to endorse or promote products derived from this software
359 may be used to endorse or promote products derived from this software
356 without specific prior written permission.
360 without specific prior written permission.
357−
361+
358 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
362 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
359 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
363 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
360 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
364 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -370,43 +374,43 @@ attoparsec LICENSE file:
370base LICENSE file:
374base LICENSE file:
371
375
372 This library (libraries/base) is derived from code from several
376 This library (libraries/base) is derived from code from several
373− sources:
377+ sources:
374−
378+
375 * Code from the GHC project which is largely (c) The University of
379 * Code from the GHC project which is largely (c) The University of
376 Glasgow, and distributable under a BSD-style license (see below),
380 Glasgow, and distributable under a BSD-style license (see below),
377−
381+
378 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
382 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
379 and freely redistributable (but see the full license for
383 and freely redistributable (but see the full license for
380 restrictions).
384 restrictions).
381−
385+
382 * Code from the Haskell Foreign Function Interface specification,
386 * Code from the Haskell Foreign Function Interface specification,
383 which is (c) Manuel M. T. Chakravarty and freely redistributable
387 which is (c) Manuel M. T. Chakravarty and freely redistributable
384 (but see the full license for restrictions).
388 (but see the full license for restrictions).
385−
389+
386 The full text of these licenses is reproduced below. All of the
390 The full text of these licenses is reproduced below. All of the
387 licenses are BSD-style or compatible.
391 licenses are BSD-style or compatible.
388−
392+
389 -----------------------------------------------------------------------------
393 -----------------------------------------------------------------------------
390−
394+
391 The Glasgow Haskell Compiler License
395 The Glasgow Haskell Compiler License
392−
396+
393− Copyright 2004, The University Court of the University of Glasgow.
397+ Copyright 2004, The University Court of the University of Glasgow.
394 All rights reserved.
398 All rights reserved.
395−
399+
396 Redistribution and use in source and binary forms, with or without
400 Redistribution and use in source and binary forms, with or without
397 modification, are permitted provided that the following conditions are met:
401 modification, are permitted provided that the following conditions are met:
398−
402+
399 - Redistributions of source code must retain the above copyright notice,
403 - Redistributions of source code must retain the above copyright notice,
400 this list of conditions and the following disclaimer.
404 this list of conditions and the following disclaimer.
401−
405+
402 - Redistributions in binary form must reproduce the above copyright notice,
406 - Redistributions in binary form must reproduce the above copyright notice,
403 this list of conditions and the following disclaimer in the documentation
407 this list of conditions and the following disclaimer in the documentation
404 and/or other materials provided with the distribution.
408 and/or other materials provided with the distribution.
405−
409+
406 - Neither name of the University nor the names of its contributors may be
410 - Neither name of the University nor the names of its contributors may be
407 used to endorse or promote products derived from this software without
411 used to endorse or promote products derived from this software without
408− specific prior written permission.
412+ specific prior written permission.
409−
413+
410 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
414 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
411 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
415 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
412 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
416 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -419,14 +423,14 @@ base LICENSE file:
419 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
423 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
420 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
424 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
421 DAMAGE.
425 DAMAGE.
422−
426+
423 -----------------------------------------------------------------------------
427 -----------------------------------------------------------------------------
424−
428+
425 Code derived from the document "Report on the Programming Language
429 Code derived from the document "Report on the Programming Language
426 Haskell 98", is distributed under the following license:
430 Haskell 98", is distributed under the following license:
427−
431+
428 Copyright (c) 2002 Simon Peyton Jones
432 Copyright (c) 2002 Simon Peyton Jones
429−
433+
430 The authors intend this Report to belong to the entire Haskell
434 The authors intend this Report to belong to the entire Haskell
431 community, and so we grant permission to copy and distribute it for
435 community, and so we grant permission to copy and distribute it for
432 any purpose, provided that it is reproduced in its entirety,
436 any purpose, provided that it is reproduced in its entirety,
@@ -434,15 +438,15 @@ base LICENSE file:
434 copied and distributed for any purpose, provided that the modified
438 copied and distributed for any purpose, provided that the modified
435 version is clearly presented as such, and that it does not claim to
439 version is clearly presented as such, and that it does not claim to
436 be a definition of the Haskell 98 Language.
440 be a definition of the Haskell 98 Language.
437−
441+
438 -----------------------------------------------------------------------------
442 -----------------------------------------------------------------------------
439−
443+
440 Code derived from the document "The Haskell 98 Foreign Function
444 Code derived from the document "The Haskell 98 Foreign Function
441 Interface, An Addendum to the Haskell 98 Report" is distributed under
445 Interface, An Addendum to the Haskell 98 Report" is distributed under
442 the following license:
446 the following license:
443−
447+
444 Copyright (c) 2002 Manuel M. T. Chakravarty
448 Copyright (c) 2002 Manuel M. T. Chakravarty
445−
449+
446 The authors intend this Report to belong to the entire Haskell
450 The authors intend this Report to belong to the entire Haskell
447 community, and so we grant permission to copy and distribute it for
451 community, and so we grant permission to copy and distribute it for
448 any purpose, provided that it is reproduced in its entirety,
452 any purpose, provided that it is reproduced in its entirety,
@@ -450,30 +454,52 @@ base LICENSE file:
450 copied and distributed for any purpose, provided that the modified
454 copied and distributed for any purpose, provided that the modified
451 version is clearly presented as such, and that it does not claim to
455 version is clearly presented as such, and that it does not claim to
452 be a definition of the Haskell 98 Foreign Function Interface.
456 be a definition of the Haskell 98 Foreign Function Interface.
453−
457+
454 -----------------------------------------------------------------------------
458 -----------------------------------------------------------------------------
455
459
460+base-compat LICENSE file:
461+
462+ Copyright (c) 2012-2015 Simon Hengel <sol@typeful.net> and Ryan Scott <ryan.gl.scott@ku.edu>
463+
464+ Permission is hereby granted, free of charge, to any person obtaining a copy
465+ of this software and associated documentation files (the "Software"), to deal
466+ in the Software without restriction, including without limitation the rights
467+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
468+ copies of the Software, and to permit persons to whom the Software is
469+ furnished to do so, subject to the following conditions:
470+
471+ The above copyright notice and this permission notice shall be included in
472+ all copies or substantial portions of the Software.
473+
474+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
475+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
476+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
477+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
478+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
479+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
480+ THE SOFTWARE.
481+
456binary LICENSE file:
482binary LICENSE file:
457
483
458 Copyright (c) Lennart Kolmodin
484 Copyright (c) Lennart Kolmodin
459−
485+
460 All rights reserved.
486 All rights reserved.
461−
487+
462 Redistribution and use in source and binary forms, with or without
488 Redistribution and use in source and binary forms, with or without
463 modification, are permitted provided that the following conditions
489 modification, are permitted provided that the following conditions
464 are met:
490 are met:
465−
491+
466 1. Redistributions of source code must retain the above copyright
492 1. Redistributions of source code must retain the above copyright
467 notice, this list of conditions and the following disclaimer.
493 notice, this list of conditions and the following disclaimer.
468−
494+
469 2. Redistributions in binary form must reproduce the above copyright
495 2. Redistributions in binary form must reproduce the above copyright
470 notice, this list of conditions and the following disclaimer in the
496 notice, this list of conditions and the following disclaimer in the
471 documentation and/or other materials provided with the distribution.
497 documentation and/or other materials provided with the distribution.
472−
498+
473 3. Neither the name of the author nor the names of his contributors
499 3. Neither the name of the author nor the names of his contributors
474 may be used to endorse or promote products derived from this software
500 may be used to endorse or promote products derived from this software
475 without specific prior written permission.
501 without specific prior written permission.
476−
502+
477 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
503 THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND ANY EXPRESS
478 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
504 OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
479 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
505 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -489,24 +515,24 @@ binary LICENSE file:
489blaze-builder LICENSE file:
515blaze-builder LICENSE file:
490
516
491 Copyright Jasper Van der Jeugt 2010, Simon Meier 2010 & 2011
517 Copyright Jasper Van der Jeugt 2010, Simon Meier 2010 & 2011
492−
518+
493 All rights reserved.
519 All rights reserved.
494−
520+
495 Redistribution and use in source and binary forms, with or without
521 Redistribution and use in source and binary forms, with or without
496 modification, are permitted provided that the following conditions are met:
522 modification, are permitted provided that the following conditions are met:
497−
523+
498 * Redistributions of source code must retain the above copyright
524 * Redistributions of source code must retain the above copyright
499 notice, this list of conditions and the following disclaimer.
525 notice, this list of conditions and the following disclaimer.
500−
526+
501 * Redistributions in binary form must reproduce the above
527 * Redistributions in binary form must reproduce the above
502 copyright notice, this list of conditions and the following
528 copyright notice, this list of conditions and the following
503 disclaimer in the documentation and/or other materials provided
529 disclaimer in the documentation and/or other materials provided
504 with the distribution.
530 with the distribution.
505−
531+
506 * Neither the name of Jasper Van der Jeugt nor the names of other
532 * Neither the name of Jasper Van der Jeugt nor the names of other
507 contributors may be used to endorse or promote products derived
533 contributors may be used to endorse or promote products derived
508 from this software without specific prior written permission.
534 from this software without specific prior written permission.
509−
535+
510 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
536 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
511 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
537 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
512 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
538 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -522,7 +548,7 @@ blaze-builder LICENSE file:
522bower-json LICENSE file:
548bower-json LICENSE file:
523
549
524 Copyright (c) 2015 Harry Garrood
550 Copyright (c) 2015 Harry Garrood
525−
551+
526 Permission is hereby granted, free of charge, to any person obtaining
552 Permission is hereby granted, free of charge, to any person obtaining
527 a copy of this software and associated documentation files (the
553 a copy of this software and associated documentation files (the
528 "Software"), to deal in the Software without restriction, including
554 "Software"), to deal in the Software without restriction, including
@@ -530,10 +556,10 @@ bower-json LICENSE file:
530 distribute, sublicense, and/or sell copies of the Software, and to
556 distribute, sublicense, and/or sell copies of the Software, and to
531 permit persons to whom the Software is furnished to do so, subject to
557 permit persons to whom the Software is furnished to do so, subject to
532 the following conditions:
558 the following conditions:
533−
559+
534 The above copyright notice and this permission notice shall be included
560 The above copyright notice and this permission notice shall be included
535 in all copies or substantial portions of the Software.
561 in all copies or substantial portions of the Software.
536−
562+
537 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
563 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
538 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
564 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
539 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
565 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
@@ -545,7 +571,7 @@ bower-json LICENSE file:
545boxes LICENSE file:
571boxes LICENSE file:
546
572
547 Copyright (c) Brent Yorgey 2008
573 Copyright (c) Brent Yorgey 2008
548−
574+
549 Redistribution and use in source and binary forms, with or without
575 Redistribution and use in source and binary forms, with or without
550 modification, are permitted provided that the following conditions
576 modification, are permitted provided that the following conditions
551 are met:
577 are met:
@@ -557,9 +583,9 @@ boxes LICENSE file:
557 3. Neither the name of the author nor the names of other contributors
583 3. Neither the name of the author nor the names of other contributors
558 may be used to endorse or promote products derived from this software
584 may be used to endorse or promote products derived from this software
559 without specific prior written permission.
585 without specific prior written permission.
560−
586+
561 All other rights are reserved.
587 All other rights are reserved.
562−
588+
563 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND
589 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND
564 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
590 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
565 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
591 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -578,9 +604,9 @@ bytestring LICENSE file:
578 (c) Duncan Coutts 2006-2015
604 (c) Duncan Coutts 2006-2015
579 (c) David Roundy 2003-2005
605 (c) David Roundy 2003-2005
580 (c) Simon Meier 2010-2011
606 (c) Simon Meier 2010-2011
581−
607+
582 All rights reserved.
608 All rights reserved.
583−
609+
584 Redistribution and use in source and binary forms, with or without
610 Redistribution and use in source and binary forms, with or without
585 modification, are permitted provided that the following conditions
611 modification, are permitted provided that the following conditions
586 are met:
612 are met:
@@ -592,7 +618,7 @@ bytestring LICENSE file:
592 3. Neither the name of the author nor the names of his contributors
618 3. Neither the name of the author nor the names of his contributors
593 may be used to endorse or promote products derived from this software
619 may be used to endorse or promote products derived from this software
594 without specific prior written permission.
620 without specific prior written permission.
595−
621+
596 THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
622 THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
597 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
623 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
598 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
624 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -608,24 +634,24 @@ bytestring LICENSE file:
608containers LICENSE file:
634containers LICENSE file:
609
635
610 The Glasgow Haskell Compiler License
636 The Glasgow Haskell Compiler License
611−
637+
612 Copyright 2004, The University Court of the University of Glasgow.
638 Copyright 2004, The University Court of the University of Glasgow.
613 All rights reserved.
639 All rights reserved.
614−
640+
615 Redistribution and use in source and binary forms, with or without
641 Redistribution and use in source and binary forms, with or without
616 modification, are permitted provided that the following conditions are met:
642 modification, are permitted provided that the following conditions are met:
617−
643+
618 - Redistributions of source code must retain the above copyright notice,
644 - Redistributions of source code must retain the above copyright notice,
619 this list of conditions and the following disclaimer.
645 this list of conditions and the following disclaimer.
620−
646+
621 - Redistributions in binary form must reproduce the above copyright notice,
647 - Redistributions in binary form must reproduce the above copyright notice,
622 this list of conditions and the following disclaimer in the documentation
648 this list of conditions and the following disclaimer in the documentation
623 and/or other materials provided with the distribution.
649 and/or other materials provided with the distribution.
624−
650+
625 - Neither name of the University nor the names of its contributors may be
651 - Neither name of the University nor the names of its contributors may be
626 used to endorse or promote products derived from this software without
652 used to endorse or promote products derived from this software without
627 specific prior written permission.
653 specific prior written permission.
628−
654+
629 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
655 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
630 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
656 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
631 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
657 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -644,28 +670,28 @@ deepseq LICENSE file:
644 This library (deepseq) is derived from code from the GHC project which
670 This library (deepseq) is derived from code from the GHC project which
645 is largely (c) The University of Glasgow, and distributable under a
671 is largely (c) The University of Glasgow, and distributable under a
646 BSD-style license (see below).
672 BSD-style license (see below).
647−
673+
648 -----------------------------------------------------------------------------
674 -----------------------------------------------------------------------------
649−
675+
650 The Glasgow Haskell Compiler License
676 The Glasgow Haskell Compiler License
651−
677+
652− Copyright 2001-2009, The University Court of the University of Glasgow.
678+ Copyright 2001-2009, The University Court of the University of Glasgow.
653 All rights reserved.
679 All rights reserved.
654−
680+
655 Redistribution and use in source and binary forms, with or without
681 Redistribution and use in source and binary forms, with or without
656 modification, are permitted provided that the following conditions are met:
682 modification, are permitted provided that the following conditions are met:
657−
683+
658 - Redistributions of source code must retain the above copyright notice,
684 - Redistributions of source code must retain the above copyright notice,
659 this list of conditions and the following disclaimer.
685 this list of conditions and the following disclaimer.
660−
686+
661 - Redistributions in binary form must reproduce the above copyright notice,
687 - Redistributions in binary form must reproduce the above copyright notice,
662 this list of conditions and the following disclaimer in the documentation
688 this list of conditions and the following disclaimer in the documentation
663 and/or other materials provided with the distribution.
689 and/or other materials provided with the distribution.
664−
690+
665 - Neither name of the University nor the names of its contributors may be
691 - Neither name of the University nor the names of its contributors may be
666 used to endorse or promote products derived from this software without
692 used to endorse or promote products derived from this software without
667− specific prior written permission.
693+ specific prior written permission.
668−
694+
669 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
695 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
670 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
696 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
671 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
697 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -678,45 +704,45 @@ deepseq LICENSE file:
678 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
704 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
679 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
705 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
680 DAMAGE.
706 DAMAGE.
681−
707+
682 -----------------------------------------------------------------------------
708 -----------------------------------------------------------------------------
683
709
684directory LICENSE file:
710directory LICENSE file:
685
711
686 This library (libraries/base) is derived from code from two
712 This library (libraries/base) is derived from code from two
687− sources:
713+ sources:
688−
714+
689 * Code from the GHC project which is largely (c) The University of
715 * Code from the GHC project which is largely (c) The University of
690 Glasgow, and distributable under a BSD-style license (see below),
716 Glasgow, and distributable under a BSD-style license (see below),
691−
717+
692 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
718 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
693 and freely redistributable (but see the full license for
719 and freely redistributable (but see the full license for
694 restrictions).
720 restrictions).
695−
721+
696 The full text of these licenses is reproduced below. Both of the
722 The full text of these licenses is reproduced below. Both of the
697 licenses are BSD-style or compatible.
723 licenses are BSD-style or compatible.
698−
724+
699 -----------------------------------------------------------------------------
725 -----------------------------------------------------------------------------
700−
726+
701 The Glasgow Haskell Compiler License
727 The Glasgow Haskell Compiler License
702−
728+
703− Copyright 2004, The University Court of the University of Glasgow.
729+ Copyright 2004, The University Court of the University of Glasgow.
704 All rights reserved.
730 All rights reserved.
705−
731+
706 Redistribution and use in source and binary forms, with or without
732 Redistribution and use in source and binary forms, with or without
707 modification, are permitted provided that the following conditions are met:
733 modification, are permitted provided that the following conditions are met:
708−
734+
709 - Redistributions of source code must retain the above copyright notice,
735 - Redistributions of source code must retain the above copyright notice,
710 this list of conditions and the following disclaimer.
736 this list of conditions and the following disclaimer.
711−
737+
712 - Redistributions in binary form must reproduce the above copyright notice,
738 - Redistributions in binary form must reproduce the above copyright notice,
713 this list of conditions and the following disclaimer in the documentation
739 this list of conditions and the following disclaimer in the documentation
714 and/or other materials provided with the distribution.
740 and/or other materials provided with the distribution.
715−
741+
716 - Neither name of the University nor the names of its contributors may be
742 - Neither name of the University nor the names of its contributors may be
717 used to endorse or promote products derived from this software without
743 used to endorse or promote products derived from this software without
718− specific prior written permission.
744+ specific prior written permission.
719−
745+
720 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
746 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
721 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
747 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
722 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
748 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -729,14 +755,14 @@ directory LICENSE file:
729 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
755 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
730 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
756 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
731 DAMAGE.
757 DAMAGE.
732−
758+
733 -----------------------------------------------------------------------------
759 -----------------------------------------------------------------------------
734−
760+
735 Code derived from the document "Report on the Programming Language
761 Code derived from the document "Report on the Programming Language
736 Haskell 98", is distributed under the following license:
762 Haskell 98", is distributed under the following license:
737−
763+
738 Copyright (c) 2002 Simon Peyton Jones
764 Copyright (c) 2002 Simon Peyton Jones
739−
765+
740 The authors intend this Report to belong to the entire Haskell
766 The authors intend this Report to belong to the entire Haskell
741 community, and so we grant permission to copy and distribute it for
767 community, and so we grant permission to copy and distribute it for
742 any purpose, provided that it is reproduced in its entirety,
768 any purpose, provided that it is reproduced in its entirety,
@@ -744,31 +770,31 @@ directory LICENSE file:
744 copied and distributed for any purpose, provided that the modified
770 copied and distributed for any purpose, provided that the modified
745 version is clearly presented as such, and that it does not claim to
771 version is clearly presented as such, and that it does not claim to
746 be a definition of the Haskell 98 Language.
772 be a definition of the Haskell 98 Language.
747−
773+
748 -----------------------------------------------------------------------------
774 -----------------------------------------------------------------------------
749
775
750dlist LICENSE file:
776dlist LICENSE file:
751
777
752 Copyright (c) 2006-2009 Don Stewart, 2013-2014 Sean Leather
778 Copyright (c) 2006-2009 Don Stewart, 2013-2014 Sean Leather
753−
779+
754 All rights reserved.
780 All rights reserved.
755−
781+
756 Redistribution and use in source and binary forms, with or without
782 Redistribution and use in source and binary forms, with or without
757 modification, are permitted provided that the following conditions are
783 modification, are permitted provided that the following conditions are
758 met:
784 met:
759−
785+
760 * Redistributions of source code must retain the above copyright
786 * Redistributions of source code must retain the above copyright
761 notice, this list of conditions and the following disclaimer.
787 notice, this list of conditions and the following disclaimer.
762−
788+
763 * Redistributions in binary form must reproduce the above
789 * Redistributions in binary form must reproduce the above
764 copyright notice, this list of conditions and the following
790 copyright notice, this list of conditions and the following
765 disclaimer in the documentation and/or other materials provided
791 disclaimer in the documentation and/or other materials provided
766 with the distribution.
792 with the distribution.
767−
793+
768 * Neither the name of Don Stewart nor the names of other
794 * Neither the name of Don Stewart nor the names of other
769 contributors may be used to endorse or promote products derived
795 contributors may be used to endorse or promote products derived
770 from this software without specific prior written permission.
796 from this software without specific prior written permission.
771−
797+
772 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
798 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
773 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
799 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
774 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
800 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -785,23 +811,23 @@ filepath LICENSE file:
785
811
786 Copyright Neil Mitchell 2005-2015.
812 Copyright Neil Mitchell 2005-2015.
787 All rights reserved.
813 All rights reserved.
788−
814+
789 Redistribution and use in source and binary forms, with or without
815 Redistribution and use in source and binary forms, with or without
790 modification, are permitted provided that the following conditions are
816 modification, are permitted provided that the following conditions are
791 met:
817 met:
792−
818+
793 * Redistributions of source code must retain the above copyright
819 * Redistributions of source code must retain the above copyright
794 notice, this list of conditions and the following disclaimer.
820 notice, this list of conditions and the following disclaimer.
795−
821+
796 * Redistributions in binary form must reproduce the above
822 * Redistributions in binary form must reproduce the above
797 copyright notice, this list of conditions and the following
823 copyright notice, this list of conditions and the following
798 disclaimer in the documentation and/or other materials provided
824 disclaimer in the documentation and/or other materials provided
799 with the distribution.
825 with the distribution.
800−
826+
801 * Neither the name of Neil Mitchell nor the names of other
827 * Neither the name of Neil Mitchell nor the names of other
802 contributors may be used to endorse or promote products derived
828 contributors may be used to endorse or promote products derived
803 from this software without specific prior written permission.
829 from this software without specific prior written permission.
804−
830+
805 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
831 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
806 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
832 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
807 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
833 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -817,39 +843,39 @@ filepath LICENSE file:
817ghc-prim LICENSE file:
843ghc-prim LICENSE file:
818
844
819 This library (libraries/ghc-prim) is derived from code from several
845 This library (libraries/ghc-prim) is derived from code from several
820− sources:
846+ sources:
821−
847+
822 * Code from the GHC project which is largely (c) The University of
848 * Code from the GHC project which is largely (c) The University of
823 Glasgow, and distributable under a BSD-style license (see below),
849 Glasgow, and distributable under a BSD-style license (see below),
824−
850+
825 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
851 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
826 and freely redistributable (but see the full license for
852 and freely redistributable (but see the full license for
827 restrictions).
853 restrictions).
828−
854+
829 The full text of these licenses is reproduced below. All of the
855 The full text of these licenses is reproduced below. All of the
830 licenses are BSD-style or compatible.
856 licenses are BSD-style or compatible.
831−
857+
832 -----------------------------------------------------------------------------
858 -----------------------------------------------------------------------------
833−
859+
834 The Glasgow Haskell Compiler License
860 The Glasgow Haskell Compiler License
835−
861+
836− Copyright 2004, The University Court of the University of Glasgow.
862+ Copyright 2004, The University Court of the University of Glasgow.
837 All rights reserved.
863 All rights reserved.
838−
864+
839 Redistribution and use in source and binary forms, with or without
865 Redistribution and use in source and binary forms, with or without
840 modification, are permitted provided that the following conditions are met:
866 modification, are permitted provided that the following conditions are met:
841−
867+
842 - Redistributions of source code must retain the above copyright notice,
868 - Redistributions of source code must retain the above copyright notice,
843 this list of conditions and the following disclaimer.
869 this list of conditions and the following disclaimer.
844−
870+
845 - Redistributions in binary form must reproduce the above copyright notice,
871 - Redistributions in binary form must reproduce the above copyright notice,
846 this list of conditions and the following disclaimer in the documentation
872 this list of conditions and the following disclaimer in the documentation
847 and/or other materials provided with the distribution.
873 and/or other materials provided with the distribution.
848−
874+
849 - Neither name of the University nor the names of its contributors may be
875 - Neither name of the University nor the names of its contributors may be
850 used to endorse or promote products derived from this software without
876 used to endorse or promote products derived from this software without
851− specific prior written permission.
877+ specific prior written permission.
852−
878+
853 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
879 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
854 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
880 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
855 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
881 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -862,14 +888,14 @@ ghc-prim LICENSE file:
862 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
888 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
863 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
889 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
864 DAMAGE.
890 DAMAGE.
865−
891+
866 -----------------------------------------------------------------------------
892 -----------------------------------------------------------------------------
867−
893+
868 Code derived from the document "Report on the Programming Language
894 Code derived from the document "Report on the Programming Language
869 Haskell 98", is distributed under the following license:
895 Haskell 98", is distributed under the following license:
870−
896+
871 Copyright (c) 2002 Simon Peyton Jones
897 Copyright (c) 2002 Simon Peyton Jones
872−
898+
873 The authors intend this Report to belong to the entire Haskell
899 The authors intend this Report to belong to the entire Haskell
874 community, and so we grant permission to copy and distribute it for
900 community, and so we grant permission to copy and distribute it for
875 any purpose, provided that it is reproduced in its entirety,
901 any purpose, provided that it is reproduced in its entirety,
@@ -877,29 +903,29 @@ ghc-prim LICENSE file:
877 copied and distributed for any purpose, provided that the modified
903 copied and distributed for any purpose, provided that the modified
878 version is clearly presented as such, and that it does not claim to
904 version is clearly presented as such, and that it does not claim to
879 be a definition of the Haskell 98 Language.
905 be a definition of the Haskell 98 Language.
880−
906+
881
907
882hashable LICENSE file:
908hashable LICENSE file:
883
909
884 Copyright Milan Straka 2010
910 Copyright Milan Straka 2010
885−
911+
886 All rights reserved.
912 All rights reserved.
887−
913+
888 Redistribution and use in source and binary forms, with or without
914 Redistribution and use in source and binary forms, with or without
889 modification, are permitted provided that the following conditions are met:
915 modification, are permitted provided that the following conditions are met:
890−
916+
891 * Redistributions of source code must retain the above copyright
917 * Redistributions of source code must retain the above copyright
892 notice, this list of conditions and the following disclaimer.
918 notice, this list of conditions and the following disclaimer.
893−
919+
894 * Redistributions in binary form must reproduce the above
920 * Redistributions in binary form must reproduce the above
895 copyright notice, this list of conditions and the following
921 copyright notice, this list of conditions and the following
896 disclaimer in the documentation and/or other materials provided
922 disclaimer in the documentation and/or other materials provided
897 with the distribution.
923 with the distribution.
898−
924+
899 * Neither the name of Milan Straka nor the names of other
925 * Neither the name of Milan Straka nor the names of other
900 contributors may be used to endorse or promote products derived
926 contributors may be used to endorse or promote products derived
901 from this software without specific prior written permission.
927 from this software without specific prior written permission.
902−
928+
903 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
929 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
904 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
930 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
905 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
931 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -916,17 +942,17 @@ haskeline LICENSE file:
916
942
917 Copyright 2007-2009, Judah Jacobson.
943 Copyright 2007-2009, Judah Jacobson.
918 All Rights Reserved.
944 All Rights Reserved.
919−
945+
920 Redistribution and use in source and binary forms, with or without
946 Redistribution and use in source and binary forms, with or without
921 modification, are permitted provided that the following conditions are met:
947 modification, are permitted provided that the following conditions are met:
922−
948+
923 - Redistribution of source code must retain the above copyright notice,
949 - Redistribution of source code must retain the above copyright notice,
924 this list of conditions and the following disclaimer.
950 this list of conditions and the following disclaimer.
925−
951+
926 - Redistribution in binary form must reproduce the above copyright notice,
952 - Redistribution in binary form must reproduce the above copyright notice,
927 this list of conditions and the following disclaimer in the documentation
953 this list of conditions and the following disclaimer in the documentation
928 and/or other materials provided with the distribution.
954 and/or other materials provided with the distribution.
929−
955+
930 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
956 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
931 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
957 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
932 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
958 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -941,24 +967,24 @@ haskeline LICENSE file:
941integer-gmp LICENSE file:
967integer-gmp LICENSE file:
942
968
943 Copyright (c) 2014, Herbert Valerio Riedel
969 Copyright (c) 2014, Herbert Valerio Riedel
944−
970+
945 All rights reserved.
971 All rights reserved.
946−
972+
947 Redistribution and use in source and binary forms, with or without
973 Redistribution and use in source and binary forms, with or without
948 modification, are permitted provided that the following conditions are met:
974 modification, are permitted provided that the following conditions are met:
949−
975+
950 * Redistributions of source code must retain the above copyright
976 * Redistributions of source code must retain the above copyright
951 notice, this list of conditions and the following disclaimer.
977 notice, this list of conditions and the following disclaimer.
952−
978+
953 * Redistributions in binary form must reproduce the above
979 * Redistributions in binary form must reproduce the above
954 copyright notice, this list of conditions and the following
980 copyright notice, this list of conditions and the following
955 disclaimer in the documentation and/or other materials provided
981 disclaimer in the documentation and/or other materials provided
956 with the distribution.
982 with the distribution.
957−
983+
958 * Neither the name of Herbert Valerio Riedel nor the names of other
984 * Neither the name of Herbert Valerio Riedel nor the names of other
959 contributors may be used to endorse or promote products derived
985 contributors may be used to endorse or promote products derived
960 from this software without specific prior written permission.
986 from this software without specific prior written permission.
961−
987+
962 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
988 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
963 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
989 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
964 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
990 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -974,24 +1000,24 @@ integer-gmp LICENSE file:
974language-javascript LICENSE file:
1000language-javascript LICENSE file:
975
1001
976 Copyright (c)2010, Alan Zimmerman
1002 Copyright (c)2010, Alan Zimmerman
977−
1003+
978 All rights reserved.
1004 All rights reserved.
979−
1005+
980 Redistribution and use in source and binary forms, with or without
1006 Redistribution and use in source and binary forms, with or without
981 modification, are permitted provided that the following conditions are met:
1007 modification, are permitted provided that the following conditions are met:
982−
1008+
983 * Redistributions of source code must retain the above copyright
1009 * Redistributions of source code must retain the above copyright
984 notice, this list of conditions and the following disclaimer.
1010 notice, this list of conditions and the following disclaimer.
985−
1011+
986 * Redistributions in binary form must reproduce the above
1012 * Redistributions in binary form must reproduce the above
987 copyright notice, this list of conditions and the following
1013 copyright notice, this list of conditions and the following
988 disclaimer in the documentation and/or other materials provided
1014 disclaimer in the documentation and/or other materials provided
989 with the distribution.
1015 with the distribution.
990−
1016+
991 * Neither the name of Alan Zimmerman nor the names of other
1017 * Neither the name of Alan Zimmerman nor the names of other
992 contributors may be used to endorse or promote products derived
1018 contributors may be used to endorse or promote products derived
993 from this software without specific prior written permission.
1019 from this software without specific prior written permission.
994−
1020+
995 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
996 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1022 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
997 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1023 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1008,22 +1034,22 @@ lifted-base LICENSE file:
1008
1034
1009 Copyright © 2010-2012, Bas van Dijk, Anders Kaseorg
1035 Copyright © 2010-2012, Bas van Dijk, Anders Kaseorg
1010 All rights reserved.
1036 All rights reserved.
1011−
1037+
1012 Redistribution and use in source and binary forms, with or without
1038 Redistribution and use in source and binary forms, with or without
1013 modification, are permitted provided that the following conditions are
1039 modification, are permitted provided that the following conditions are
1014 met:
1040 met:
1015−
1041+
1016 • Redistributions of source code must retain the above copyright
1042 • Redistributions of source code must retain the above copyright
1017 notice, this list of conditions and the following disclaimer.
1043 notice, this list of conditions and the following disclaimer.
1018−
1044+
1019 • Redistributions in binary form must reproduce the above copyright
1045 • Redistributions in binary form must reproduce the above copyright
1020 notice, this list of conditions and the following disclaimer in the
1046 notice, this list of conditions and the following disclaimer in the
1021 documentation and/or other materials provided with the distribution.
1047 documentation and/or other materials provided with the distribution.
1022−
1048+
1023 • Neither the name of the author nor the names of other contributors
1049 • Neither the name of the author nor the names of other contributors
1024 may be used to endorse or promote products derived from this
1050 may be used to endorse or promote products derived from this
1025 software without specific prior written permission.
1051 software without specific prior written permission.
1026−
1052+
1027 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1053 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1028 “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1054 “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1029 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1055 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1040,22 +1066,22 @@ monad-control LICENSE file:
1040
1066
1041 Copyright © 2010, Bas van Dijk, Anders Kaseorg
1067 Copyright © 2010, Bas van Dijk, Anders Kaseorg
1042 All rights reserved.
1068 All rights reserved.
1043−
1069+
1044 Redistribution and use in source and binary forms, with or without
1070 Redistribution and use in source and binary forms, with or without
1045 modification, are permitted provided that the following conditions are
1071 modification, are permitted provided that the following conditions are
1046 met:
1072 met:
1047−
1073+
1048 • Redistributions of source code must retain the above copyright
1074 • Redistributions of source code must retain the above copyright
1049 notice, this list of conditions and the following disclaimer.
1075 notice, this list of conditions and the following disclaimer.
1050−
1076+
1051 • Redistributions in binary form must reproduce the above copyright
1077 • Redistributions in binary form must reproduce the above copyright
1052 notice, this list of conditions and the following disclaimer in the
1078 notice, this list of conditions and the following disclaimer in the
1053 documentation and/or other materials provided with the distribution.
1079 documentation and/or other materials provided with the distribution.
1054−
1080+
1055 • Neither the name of the author nor the names of other contributors
1081 • Neither the name of the author nor the names of other contributors
1056 may be used to endorse or promote products derived from this
1082 may be used to endorse or promote products derived from this
1057 software without specific prior written permission.
1083 software without specific prior written permission.
1058−
1084+
1059 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1085 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1060 “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1086 “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1061 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1087 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1071,24 +1097,24 @@ monad-control LICENSE file:
1071mtl LICENSE file:
1097mtl LICENSE file:
1072
1098
1073 The Glasgow Haskell Compiler License
1099 The Glasgow Haskell Compiler License
1074−
1100+
1075 Copyright 2004, The University Court of the University of Glasgow.
1101 Copyright 2004, The University Court of the University of Glasgow.
1076 All rights reserved.
1102 All rights reserved.
1077−
1103+
1078 Redistribution and use in source and binary forms, with or without
1104 Redistribution and use in source and binary forms, with or without
1079 modification, are permitted provided that the following conditions are met:
1105 modification, are permitted provided that the following conditions are met:
1080−
1106+
1081 - Redistributions of source code must retain the above copyright notice,
1107 - Redistributions of source code must retain the above copyright notice,
1082 this list of conditions and the following disclaimer.
1108 this list of conditions and the following disclaimer.
1083−
1109+
1084 - Redistributions in binary form must reproduce the above copyright notice,
1110 - Redistributions in binary form must reproduce the above copyright notice,
1085 this list of conditions and the following disclaimer in the documentation
1111 this list of conditions and the following disclaimer in the documentation
1086 and/or other materials provided with the distribution.
1112 and/or other materials provided with the distribution.
1087−
1113+
1088 - Neither name of the University nor the names of its contributors may be
1114 - Neither name of the University nor the names of its contributors may be
1089 used to endorse or promote products derived from this software without
1115 used to endorse or promote products derived from this software without
1090 specific prior written permission.
1116 specific prior written permission.
1091−
1117+
1092 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1118 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1093 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1119 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1094 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1120 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1105,24 +1131,24 @@ mtl LICENSE file:
1105nats LICENSE file:
1131nats LICENSE file:
1106
1132
1107 Copyright 2011-2014 Edward Kmett
1133 Copyright 2011-2014 Edward Kmett
1108−
1134+
1109 All rights reserved.
1135 All rights reserved.
1110−
1136+
1111 Redistribution and use in source and binary forms, with or without
1137 Redistribution and use in source and binary forms, with or without
1112 modification, are permitted provided that the following conditions
1138 modification, are permitted provided that the following conditions
1113 are met:
1139 are met:
1114−
1140+
1115 1. Redistributions of source code must retain the above copyright
1141 1. Redistributions of source code must retain the above copyright
1116 notice, this list of conditions and the following disclaimer.
1142 notice, this list of conditions and the following disclaimer.
1117−
1143+
1118 2. Redistributions in binary form must reproduce the above copyright
1144 2. Redistributions in binary form must reproduce the above copyright
1119 notice, this list of conditions and the following disclaimer in the
1145 notice, this list of conditions and the following disclaimer in the
1120 documentation and/or other materials provided with the distribution.
1146 documentation and/or other materials provided with the distribution.
1121−
1147+
1122 3. Neither the name of the author nor the names of his contributors
1148 3. Neither the name of the author nor the names of his contributors
1123 may be used to endorse or promote products derived from this software
1149 may be used to endorse or promote products derived from this software
1124 without specific prior written permission.
1150 without specific prior written permission.
1125−
1151+
1126 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1152 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1127 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1153 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1128 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1154 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -1135,52 +1161,160 @@ nats LICENSE file:
1135 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1161 ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1136 POSSIBILITY OF SUCH DAMAGE.
1162 POSSIBILITY OF SUCH DAMAGE.
1137
1163
1138−optparse-applicative LICENSE file:
1164+old-locale LICENSE file:
1139
1165
1140− Copyright (c) 2012, Paolo Capriotti
1166+ This library (libraries/base) is derived from code from two
1141−
1167+ sources:
1168+
1169+ * Code from the GHC project which is largely (c) The University of
1170+ Glasgow, and distributable under a BSD-style license (see below),
1171+
1172+ * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
1173+ and freely redistributable (but see the full license for
1174+ restrictions).
1175+
1176+ The full text of these licenses is reproduced below. Both of the
1177+ licenses are BSD-style or compatible.
1178+
1179+ -----------------------------------------------------------------------------
1180+
1181+ The Glasgow Haskell Compiler License
1182+
1183+ Copyright 2004, The University Court of the University of Glasgow.
1142 All rights reserved.
1184 All rights reserved.
1143−
1185+
1144 Redistribution and use in source and binary forms, with or without
1186 Redistribution and use in source and binary forms, with or without
1145 modification, are permitted provided that the following conditions are met:
1187 modification, are permitted provided that the following conditions are met:
1146−
1147− * Redistributions of source code must retain the above copyright
1148− notice, this list of conditions and the following disclaimer.
1149−
1150− * Redistributions in binary form must reproduce the above
1151− copyright notice, this list of conditions and the following
1152− disclaimer in the documentation and/or other materials provided
1153− with the distribution.
1154−
1155− * Neither the name of Paolo Capriotti nor the names of other
1156− contributors may be used to endorse or promote products derived
1157− from this software without specific prior written permission.
1158−
1159− THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1160− "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1161− LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1162− A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1163− OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1164− SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1165− LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1166− DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1167− THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1168− (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1169− OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1170
1188
1171−parsec LICENSE file:
1189+ - Redistributions of source code must retain the above copyright notice,
1190+ this list of conditions and the following disclaimer.
1172
1191
1192+ - Redistributions in binary form must reproduce the above copyright notice,
1193+ this list of conditions and the following disclaimer in the documentation
1194+ and/or other materials provided with the distribution.
1195+
1196+ - Neither name of the University nor the names of its contributors may be
1197+ used to endorse or promote products derived from this software without
1198+ specific prior written permission.
1199+
1200+ THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1201+ GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1202+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1203+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1204+ UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
1205+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1206+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1207+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1208+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1209+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1210+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1211+ DAMAGE.
1212+
1213+ -----------------------------------------------------------------------------
1214+
1215+ Code derived from the document "Report on the Programming Language
1216+ Haskell 98", is distributed under the following license:
1217+
1218+ Copyright (c) 2002 Simon Peyton Jones
1219+
1220+ The authors intend this Report to belong to the entire Haskell
1221+ community, and so we grant permission to copy and distribute it for
1222+ any purpose, provided that it is reproduced in its entirety,
1223+ including this Notice. Modified versions of this Report may also be
1224+ copied and distributed for any purpose, provided that the modified
1225+ version is clearly presented as such, and that it does not claim to
1226+ be a definition of the Haskell 98 Language.
1227+
1228+ -----------------------------------------------------------------------------
1229+
1230+optparse-applicative LICENSE file:
1231+
1232+ Copyright (c) 2012, Paolo Capriotti
1233+
1234+ All rights reserved.
1235+
1236+ Redistribution and use in source and binary forms, with or without
1237+ modification, are permitted provided that the following conditions are met:
1238+
1239+ * Redistributions of source code must retain the above copyright
1240+ notice, this list of conditions and the following disclaimer.
1241+
1242+ * Redistributions in binary form must reproduce the above
1243+ copyright notice, this list of conditions and the following
1244+ disclaimer in the documentation and/or other materials provided
1245+ with the distribution.
1246+
1247+ * Neither the name of Paolo Capriotti nor the names of other
1248+ contributors may be used to endorse or promote products derived
1249+ from this software without specific prior written permission.
1250+
1251+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1252+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1253+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1254+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1255+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1256+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1257+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1258+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1259+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1260+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1261+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1262+
1263+parallel LICENSE file:
1264+
1265+ This library (libraries/parallel) is derived from code from
1266+ the GHC project which is largely (c) The University of
1267+ Glasgow, and distributable under a BSD-style license (see below).
1268+
1269+ -----------------------------------------------------------------------------
1270+
1271+ The Glasgow Haskell Compiler License
1272+
1273+ Copyright 2004, The University Court of the University of Glasgow.
1274+ All rights reserved.
1275+
1276+ Redistribution and use in source and binary forms, with or without
1277+ modification, are permitted provided that the following conditions are met:
1278+
1279+ - Redistributions of source code must retain the above copyright notice,
1280+ this list of conditions and the following disclaimer.
1281+
1282+ - Redistributions in binary form must reproduce the above copyright notice,
1283+ this list of conditions and the following disclaimer in the documentation
1284+ and/or other materials provided with the distribution.
1285+
1286+ - Neither name of the University nor the names of its contributors may be
1287+ used to endorse or promote products derived from this software without
1288+ specific prior written permission.
1289+
1290+ THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1291+ GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1292+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1293+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1294+ UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
1295+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1296+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1297+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1298+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1299+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1300+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1301+ DAMAGE.
1302+
1303+ -----------------------------------------------------------------------------
1304+
1305+parsec LICENSE file:
1306+
1173− Copyright 1999-2000, Daan Leijen; 2007, Paolo Martini. All rights reserved.
1307+ Copyright 1999-2000, Daan Leijen; 2007, Paolo Martini. All rights reserved.
1174−
1308+
1175− Redistribution and use in source and binary forms, with or without
1309+ Redistribution and use in source and binary forms, with or without
1176− modification, are permitted provided that the following conditions are met:
1310+ modification, are permitted provided that the following conditions are met:
1177−
1311+
1178− * Redistributions of source code must retain the above copyright notice,
1312+ * Redistributions of source code must retain the above copyright notice,
1179− this list of conditions and the following disclaimer.
1313+ this list of conditions and the following disclaimer.
1180− * Redistributions in binary form must reproduce the above copyright
1314+ * Redistributions in binary form must reproduce the above copyright
1181 notice, this list of conditions and the following disclaimer in the
1315 notice, this list of conditions and the following disclaimer in the
1182 documentation and/or other materials provided with the distribution.
1316 documentation and/or other materials provided with the distribution.
1183−
1317+
1184 This software is provided by the copyright holders "as is" and any express or
1318 This software is provided by the copyright holders "as is" and any express or
1185 implied warranties, including, but not limited to, the implied warranties of
1319 implied warranties, including, but not limited to, the implied warranties of
1186 merchantability and fitness for a particular purpose are disclaimed. In no
1320 merchantability and fitness for a particular purpose are disclaimed. In no
@@ -1195,19 +1329,19 @@ parsec LICENSE file:
1195pattern-arrows LICENSE file:
1329pattern-arrows LICENSE file:
1196
1330
1197 The MIT License (MIT)
1331 The MIT License (MIT)
1198−
1332+
1199 Copyright (c) 2013 Phil Freeman
1333 Copyright (c) 2013 Phil Freeman
1200−
1334+
1201 Permission is hereby granted, free of charge, to any person obtaining a copy of
1335 Permission is hereby granted, free of charge, to any person obtaining a copy of
1202 this software and associated documentation files (the "Software"), to deal in
1336 this software and associated documentation files (the "Software"), to deal in
1203 the Software without restriction, including without limitation the rights to
1337 the Software without restriction, including without limitation the rights to
1204 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1338 use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
1205 the Software, and to permit persons to whom the Software is furnished to do so,
1339 the Software, and to permit persons to whom the Software is furnished to do so,
1206 subject to the following conditions:
1340 subject to the following conditions:
1207−
1341+
1208 The above copyright notice and this permission notice shall be included in all
1342 The above copyright notice and this permission notice shall be included in all
1209 copies or substantial portions of the Software.
1343 copies or substantial portions of the Software.
1210−
1344+
1211 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1345 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1212 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1346 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1213 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
1347 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
@@ -1220,28 +1354,28 @@ pretty LICENSE file:
1220 This library (libraries/pretty) is derived from code from
1354 This library (libraries/pretty) is derived from code from
1221 the GHC project which is largely (c) The University of
1355 the GHC project which is largely (c) The University of
1222 Glasgow, and distributable under a BSD-style license (see below).
1356 Glasgow, and distributable under a BSD-style license (see below).
1223−
1357+
1224 -----------------------------------------------------------------------------
1358 -----------------------------------------------------------------------------
1225−
1359+
1226 The Glasgow Haskell Compiler License
1360 The Glasgow Haskell Compiler License
1227−
1361+
1228− Copyright 2004, The University Court of the University of Glasgow.
1362+ Copyright 2004, The University Court of the University of Glasgow.
1229 All rights reserved.
1363 All rights reserved.
1230−
1364+
1231 Redistribution and use in source and binary forms, with or without
1365 Redistribution and use in source and binary forms, with or without
1232 modification, are permitted provided that the following conditions are met:
1366 modification, are permitted provided that the following conditions are met:
1233−
1367+
1234 - Redistributions of source code must retain the above copyright notice,
1368 - Redistributions of source code must retain the above copyright notice,
1235 this list of conditions and the following disclaimer.
1369 this list of conditions and the following disclaimer.
1236−
1370+
1237 - Redistributions in binary form must reproduce the above copyright notice,
1371 - Redistributions in binary form must reproduce the above copyright notice,
1238 this list of conditions and the following disclaimer in the documentation
1372 this list of conditions and the following disclaimer in the documentation
1239 and/or other materials provided with the distribution.
1373 and/or other materials provided with the distribution.
1240−
1374+
1241 - Neither name of the University nor the names of its contributors may be
1375 - Neither name of the University nor the names of its contributors may be
1242 used to endorse or promote products derived from this software without
1376 used to endorse or promote products derived from this software without
1243− specific prior written permission.
1377+ specific prior written permission.
1244−
1378+
1245 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1379 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1246 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1380 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1247 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1381 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1254,28 +1388,28 @@ pretty LICENSE file:
1254 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1388 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1255 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1389 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1256 DAMAGE.
1390 DAMAGE.
1257−
1391+
1258 -----------------------------------------------------------------------------
1392 -----------------------------------------------------------------------------
1259
1393
1260primitive LICENSE file:
1394primitive LICENSE file:
1261
1395
1262 Copyright (c) 2008-2009, Roman Leshchinskiy
1396 Copyright (c) 2008-2009, Roman Leshchinskiy
1263 All rights reserved.
1397 All rights reserved.
1264−
1398+
1265 Redistribution and use in source and binary forms, with or without
1399 Redistribution and use in source and binary forms, with or without
1266 modification, are permitted provided that the following conditions are met:
1400 modification, are permitted provided that the following conditions are met:
1267−
1401+
1268 - Redistributions of source code must retain the above copyright notice,
1402 - Redistributions of source code must retain the above copyright notice,
1269 this list of conditions and the following disclaimer.
1403 this list of conditions and the following disclaimer.
1270−
1404+
1271 - Redistributions in binary form must reproduce the above copyright notice,
1405 - Redistributions in binary form must reproduce the above copyright notice,
1272 this list of conditions and the following disclaimer in the documentation
1406 this list of conditions and the following disclaimer in the documentation
1273 and/or other materials provided with the distribution.
1407 and/or other materials provided with the distribution.
1274−
1408+
1275 - Neither name of the University nor the names of its contributors may be
1409 - Neither name of the University nor the names of its contributors may be
1276 used to endorse or promote products derived from this software without
1410 used to endorse or promote products derived from this software without
1277− specific prior written permission.
1411+ specific prior written permission.
1278−
1412+
1279 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1413 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1280 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1414 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1281 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1415 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1288,44 +1422,44 @@ primitive LICENSE file:
1288 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1422 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1289 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1423 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1290 DAMAGE.
1424 DAMAGE.
1291−
1425+
1292
1426
1293process LICENSE file:
1427process LICENSE file:
1294
1428
1295 This library (libraries/process) is derived from code from two
1429 This library (libraries/process) is derived from code from two
1296− sources:
1430+ sources:
1297−
1431+
1298 * Code from the GHC project which is largely (c) The University of
1432 * Code from the GHC project which is largely (c) The University of
1299 Glasgow, and distributable under a BSD-style license (see below),
1433 Glasgow, and distributable under a BSD-style license (see below),
1300−
1434+
1301 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
1435 * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
1302 and freely redistributable (but see the full license for
1436 and freely redistributable (but see the full license for
1303 restrictions).
1437 restrictions).
1304−
1438+
1305 The full text of these licenses is reproduced below. Both of the
1439 The full text of these licenses is reproduced below. Both of the
1306 licenses are BSD-style or compatible.
1440 licenses are BSD-style or compatible.
1307−
1441+
1308 -----------------------------------------------------------------------------
1442 -----------------------------------------------------------------------------
1309−
1443+
1310 The Glasgow Haskell Compiler License
1444 The Glasgow Haskell Compiler License
1311−
1445+
1312− Copyright 2004, The University Court of the University of Glasgow.
1446+ Copyright 2004, The University Court of the University of Glasgow.
1313 All rights reserved.
1447 All rights reserved.
1314−
1448+
1315 Redistribution and use in source and binary forms, with or without
1449 Redistribution and use in source and binary forms, with or without
1316 modification, are permitted provided that the following conditions are met:
1450 modification, are permitted provided that the following conditions are met:
1317−
1451+
1318 - Redistributions of source code must retain the above copyright notice,
1452 - Redistributions of source code must retain the above copyright notice,
1319 this list of conditions and the following disclaimer.
1453 this list of conditions and the following disclaimer.
1320−
1454+
1321 - Redistributions in binary form must reproduce the above copyright notice,
1455 - Redistributions in binary form must reproduce the above copyright notice,
1322 this list of conditions and the following disclaimer in the documentation
1456 this list of conditions and the following disclaimer in the documentation
1323 and/or other materials provided with the distribution.
1457 and/or other materials provided with the distribution.
1324−
1458+
1325 - Neither name of the University nor the names of its contributors may be
1459 - Neither name of the University nor the names of its contributors may be
1326 used to endorse or promote products derived from this software without
1460 used to endorse or promote products derived from this software without
1327− specific prior written permission.
1461+ specific prior written permission.
1328−
1462+
1329 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1463 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1330 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1464 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1331 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1465 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1338,14 +1472,14 @@ process LICENSE file:
1338 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1472 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1339 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1473 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1340 DAMAGE.
1474 DAMAGE.
1341−
1475+
1342 -----------------------------------------------------------------------------
1476 -----------------------------------------------------------------------------
1343−
1477+
1344 Code derived from the document "Report on the Programming Language
1478 Code derived from the document "Report on the Programming Language
1345 Haskell 98", is distributed under the following license:
1479 Haskell 98", is distributed under the following license:
1346−
1480+
1347 Copyright (c) 2002 Simon Peyton Jones
1481 Copyright (c) 2002 Simon Peyton Jones
1348−
1482+
1349 The authors intend this Report to belong to the entire Haskell
1483 The authors intend this Report to belong to the entire Haskell
1350 community, and so we grant permission to copy and distribute it for
1484 community, and so we grant permission to copy and distribute it for
1351 any purpose, provided that it is reproduced in its entirety,
1485 any purpose, provided that it is reproduced in its entirety,
@@ -1353,7 +1487,7 @@ process LICENSE file:
1353 copied and distributed for any purpose, provided that the modified
1487 copied and distributed for any purpose, provided that the modified
1354 version is clearly presented as such, and that it does not claim to
1488 version is clearly presented as such, and that it does not claim to
1355 be a definition of the Haskell 98 Language.
1489 be a definition of the Haskell 98 Language.
1356−
1490+
1357 -----------------------------------------------------------------------------
1491 -----------------------------------------------------------------------------
1358
1492
1359rts LICENSE file:
1493rts LICENSE file:
@@ -1364,23 +1498,23 @@ safe LICENSE file:
1364
1498
1365 Copyright Neil Mitchell 2007-2015.
1499 Copyright Neil Mitchell 2007-2015.
1366 All rights reserved.
1500 All rights reserved.
1367−
1501+
1368 Redistribution and use in source and binary forms, with or without
1502 Redistribution and use in source and binary forms, with or without
1369 modification, are permitted provided that the following conditions are
1503 modification, are permitted provided that the following conditions are
1370 met:
1504 met:
1371−
1505+
1372 * Redistributions of source code must retain the above copyright
1506 * Redistributions of source code must retain the above copyright
1373 notice, this list of conditions and the following disclaimer.
1507 notice, this list of conditions and the following disclaimer.
1374−
1508+
1375 * Redistributions in binary form must reproduce the above
1509 * Redistributions in binary form must reproduce the above
1376 copyright notice, this list of conditions and the following
1510 copyright notice, this list of conditions and the following
1377 disclaimer in the documentation and/or other materials provided
1511 disclaimer in the documentation and/or other materials provided
1378 with the distribution.
1512 with the distribution.
1379−
1513+
1380 * Neither the name of Neil Mitchell nor the names of other
1514 * Neither the name of Neil Mitchell nor the names of other
1381 contributors may be used to endorse or promote products derived
1515 contributors may be used to endorse or promote products derived
1382 from this software without specific prior written permission.
1516 from this software without specific prior written permission.
1383−
1517+
1384 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1518 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1385 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1519 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1386 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1520 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1396,24 +1530,24 @@ safe LICENSE file:
1396scientific LICENSE file:
1530scientific LICENSE file:
1397
1531
1398 Copyright (c) 2013, Bas van Dijk
1532 Copyright (c) 2013, Bas van Dijk
1399−
1533+
1400 All rights reserved.
1534 All rights reserved.
1401−
1535+
1402 Redistribution and use in source and binary forms, with or without
1536 Redistribution and use in source and binary forms, with or without
1403 modification, are permitted provided that the following conditions are met:
1537 modification, are permitted provided that the following conditions are met:
1404−
1538+
1405 * Redistributions of source code must retain the above copyright
1539 * Redistributions of source code must retain the above copyright
1406 notice, this list of conditions and the following disclaimer.
1540 notice, this list of conditions and the following disclaimer.
1407−
1541+
1408 * Redistributions in binary form must reproduce the above
1542 * Redistributions in binary form must reproduce the above
1409 copyright notice, this list of conditions and the following
1543 copyright notice, this list of conditions and the following
1410 disclaimer in the documentation and/or other materials provided
1544 disclaimer in the documentation and/or other materials provided
1411 with the distribution.
1545 with the distribution.
1412−
1546+
1413 * Neither the name of Bas van Dijk nor the names of other
1547 * Neither the name of Bas van Dijk nor the names of other
1414 contributors may be used to endorse or promote products derived
1548 contributors may be used to endorse or promote products derived
1415 from this software without specific prior written permission.
1549 from this software without specific prior written permission.
1416−
1550+
1417 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1551 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1418 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1552 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1419 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1553 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1429,20 +1563,20 @@ scientific LICENSE file:
1429semigroups LICENSE file:
1563semigroups LICENSE file:
1430
1564
1431 Copyright 2011-2015 Edward Kmett
1565 Copyright 2011-2015 Edward Kmett
1432−
1566+
1433 All rights reserved.
1567 All rights reserved.
1434−
1568+
1435 Redistribution and use in source and binary forms, with or without
1569 Redistribution and use in source and binary forms, with or without
1436 modification, are permitted provided that the following conditions
1570 modification, are permitted provided that the following conditions
1437 are met:
1571 are met:
1438−
1572+
1439 1. Redistributions of source code must retain the above copyright
1573 1. Redistributions of source code must retain the above copyright
1440 notice, this list of conditions and the following disclaimer.
1574 notice, this list of conditions and the following disclaimer.
1441−
1575+
1442 2. Redistributions in binary form must reproduce the above copyright
1576 2. Redistributions in binary form must reproduce the above copyright
1443 notice, this list of conditions and the following disclaimer in the
1577 notice, this list of conditions and the following disclaimer in the
1444 documentation and/or other materials provided with the distribution.
1578 documentation and/or other materials provided with the distribution.
1445−
1579+
1446 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1580 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1447 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1581 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1448 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1582 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -1458,9 +1592,9 @@ semigroups LICENSE file:
1458split LICENSE file:
1592split LICENSE file:
1459
1593
1460 Copyright (c) 2008 Brent Yorgey, Louis Wasserman
1594 Copyright (c) 2008 Brent Yorgey, Louis Wasserman
1461−
1595+
1462 All rights reserved.
1596 All rights reserved.
1463−
1597+
1464 Redistribution and use in source and binary forms, with or without
1598 Redistribution and use in source and binary forms, with or without
1465 modification, are permitted provided that the following conditions
1599 modification, are permitted provided that the following conditions
1466 are met:
1600 are met:
@@ -1472,7 +1606,7 @@ split LICENSE file:
1472 3. Neither the name of the author nor the names of other contributors
1606 3. Neither the name of the author nor the names of other contributors
1473 may be used to endorse or promote products derived from this software
1607 may be used to endorse or promote products derived from this software
1474 without specific prior written permission.
1608 without specific prior written permission.
1475−
1609+
1476 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND
1610 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND
1477 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1611 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1478 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1612 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -1488,24 +1622,24 @@ split LICENSE file:
1488stm LICENSE file:
1622stm LICENSE file:
1489
1623
1490 The Glasgow Haskell Compiler License
1624 The Glasgow Haskell Compiler License
1491−
1625+
1492− Copyright 2004, The University Court of the University of Glasgow.
1626+ Copyright 2004, The University Court of the University of Glasgow.
1493 All rights reserved.
1627 All rights reserved.
1494−
1628+
1495 Redistribution and use in source and binary forms, with or without
1629 Redistribution and use in source and binary forms, with or without
1496 modification, are permitted provided that the following conditions are met:
1630 modification, are permitted provided that the following conditions are met:
1497−
1631+
1498 - Redistributions of source code must retain the above copyright notice,
1632 - Redistributions of source code must retain the above copyright notice,
1499 this list of conditions and the following disclaimer.
1633 this list of conditions and the following disclaimer.
1500−
1634+
1501 - Redistributions in binary form must reproduce the above copyright notice,
1635 - Redistributions in binary form must reproduce the above copyright notice,
1502 this list of conditions and the following disclaimer in the documentation
1636 this list of conditions and the following disclaimer in the documentation
1503 and/or other materials provided with the distribution.
1637 and/or other materials provided with the distribution.
1504−
1638+
1505 - Neither name of the University nor the names of its contributors may be
1639 - Neither name of the University nor the names of its contributors may be
1506 used to endorse or promote products derived from this software without
1640 used to endorse or promote products derived from this software without
1507− specific prior written permission.
1641+ specific prior written permission.
1508−
1642+
1509 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1643 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1510 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1644 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1511 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1645 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1521,112 +1655,145 @@ stm LICENSE file:
1521
1655
1522syb LICENSE file:
1656syb LICENSE file:
1523
1657
1524− This library (libraries/syb) is derived from code from several
1658+ This library (libraries/syb) is derived from code from several
1525− sources:
1659+ sources:
1526−
1660+
1527− * Code from the GHC project which is largely (c) The University of
1661+ * Code from the GHC project which is largely (c) The University of
1528− Glasgow, and distributable under a BSD-style license (see below),
1662+ Glasgow, and distributable under a BSD-style license (see below),
1529−
1663+
1530− * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
1664+ * Code from the Haskell 98 Report which is (c) Simon Peyton Jones
1531− and freely redistributable (but see the full license for
1665+ and freely redistributable (but see the full license for
1532− restrictions).
1666+ restrictions).
1533−
1667+
1534− * Code from the Haskell Foreign Function Interface specification,
1668+ * Code from the Haskell Foreign Function Interface specification,
1535− which is (c) Manuel M. T. Chakravarty and freely redistributable
1669+ which is (c) Manuel M. T. Chakravarty and freely redistributable
1536− (but see the full license for restrictions).
1670+ (but see the full license for restrictions).
1537−
1671+
1538− The full text of these licenses is reproduced below. All of the
1672+ The full text of these licenses is reproduced below. All of the
1539− licenses are BSD-style or compatible.
1673+ licenses are BSD-style or compatible.
1540−
1674+
1541− -----------------------------------------------------------------------------
1675+ -----------------------------------------------------------------------------
1542−
1676+
1543− The Glasgow Haskell Compiler License
1677+ The Glasgow Haskell Compiler License
1544−
1678+
1545− Copyright 2004, The University Court of the University of Glasgow.
1679+ Copyright 2004, The University Court of the University of Glasgow.
1546− All rights reserved.
1680+ All rights reserved.
1547−
1681+
1548− Redistribution and use in source and binary forms, with or without
1682+ Redistribution and use in source and binary forms, with or without
1549− modification, are permitted provided that the following conditions are met:
1683+ modification, are permitted provided that the following conditions are met:
1550−
1684+
1551− - Redistributions of source code must retain the above copyright notice,
1685+ - Redistributions of source code must retain the above copyright notice,
1552− this list of conditions and the following disclaimer.
1686+ this list of conditions and the following disclaimer.
1553−
1687+
1554− - Redistributions in binary form must reproduce the above copyright notice,
1688+ - Redistributions in binary form must reproduce the above copyright notice,
1555− this list of conditions and the following disclaimer in the documentation
1689+ this list of conditions and the following disclaimer in the documentation
1556− and/or other materials provided with the distribution.
1690+ and/or other materials provided with the distribution.
1557−
1691+
1558− - Neither name of the University nor the names of its contributors may be
1692+ - Neither name of the University nor the names of its contributors may be
1559− used to endorse or promote products derived from this software without
1693+ used to endorse or promote products derived from this software without
1560− specific prior written permission.
1694+ specific prior written permission.
1561−
1695+
1562− THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1696+ THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1563− GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1697+ GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1564− INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1698+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1565− FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1699+ FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
1566− UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
1700+ UNIVERSITY COURT OF THE UNIVERSITY OF GLASGOW OR THE CONTRIBUTORS BE LIABLE
1567− FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1701+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1568− DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1702+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1569− SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1703+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1570− CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1704+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1571− LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1705+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1572− OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1706+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1573− DAMAGE.
1707+ DAMAGE.
1574−
1708+
1575− -----------------------------------------------------------------------------
1709+ -----------------------------------------------------------------------------
1576−
1710+
1577− Code derived from the document "Report on the Programming Language
1711+ Code derived from the document "Report on the Programming Language
1578− Haskell 98", is distributed under the following license:
1712+ Haskell 98", is distributed under the following license:
1579−
1713+
1580− Copyright (c) 2002 Simon Peyton Jones
1714+ Copyright (c) 2002 Simon Peyton Jones
1581−
1715+
1582− The authors intend this Report to belong to the entire Haskell
1716+ The authors intend this Report to belong to the entire Haskell
1583− community, and so we grant permission to copy and distribute it for
1717+ community, and so we grant permission to copy and distribute it for
1584− any purpose, provided that it is reproduced in its entirety,
1718+ any purpose, provided that it is reproduced in its entirety,
1585− including this Notice. Modified versions of this Report may also be
1719+ including this Notice. Modified versions of this Report may also be
1586− copied and distributed for any purpose, provided that the modified
1720+ copied and distributed for any purpose, provided that the modified
1587− version is clearly presented as such, and that it does not claim to
1721+ version is clearly presented as such, and that it does not claim to
1588− be a definition of the Haskell 98 Language.
1722+ be a definition of the Haskell 98 Language.
1589−
1723+
1590− -----------------------------------------------------------------------------
1724+ -----------------------------------------------------------------------------
1591−
1725+
1592− Code derived from the document "The Haskell 98 Foreign Function
1726+ Code derived from the document "The Haskell 98 Foreign Function
1593− Interface, An Addendum to the Haskell 98 Report" is distributed under
1727+ Interface, An Addendum to the Haskell 98 Report" is distributed under
1594− the following license:
1728+ the following license:
1595−
1729+
1596− Copyright (c) 2002 Manuel M. T. Chakravarty
1730+ Copyright (c) 2002 Manuel M. T. Chakravarty
1597−
1731+
1598− The authors intend this Report to belong to the entire Haskell
1732+ The authors intend this Report to belong to the entire Haskell
1599− community, and so we grant permission to copy and distribute it for
1733+ community, and so we grant permission to copy and distribute it for
1600− any purpose, provided that it is reproduced in its entirety,
1734+ any purpose, provided that it is reproduced in its entirety,
1601− including this Notice. Modified versions of this Report may also be
1735+ including this Notice. Modified versions of this Report may also be
1602− copied and distributed for any purpose, provided that the modified
1736+ copied and distributed for any purpose, provided that the modified
1603− version is clearly presented as such, and that it does not claim to
1737+ version is clearly presented as such, and that it does not claim to
1604− be a definition of the Haskell 98 Foreign Function Interface.
1738+ be a definition of the Haskell 98 Foreign Function Interface.
1605−
1739+
1606− -----------------------------------------------------------------------------
1740+ -----------------------------------------------------------------------------
1741+
1742+tagged LICENSE file:
1743+
1744+ Copyright (c) 2009-2015 Edward Kmett
1745+ All rights reserved.
1746+
1747+ Redistribution and use in source and binary forms, with or without
1748+ modification, are permitted provided that the following conditions are
1749+ met:
1750+
1751+ * Redistributions of source code must retain the above copyright
1752+ notice, this list of conditions and the following disclaimer.
1753+
1754+ * Redistributions in binary form must reproduce the above
1755+ copyright notice, this list of conditions and the following
1756+ disclaimer in the documentation and/or other materials provided
1757+ with the distribution.
1758+
1759+ * Neither the name of Edward Kmett nor the names of other
1760+ contributors may be used to endorse or promote products derived
1761+ from this software without specific prior written permission.
1762+
1763+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1764+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1765+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1766+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1767+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1768+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1769+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1770+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1771+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1772+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1773+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1607
1774
1608template-haskell LICENSE file:
1775template-haskell LICENSE file:
1609
1776
1610−
1777+
1611 The Glasgow Haskell Compiler License
1778 The Glasgow Haskell Compiler License
1612−
1779+
1613 Copyright 2002-2007, The University Court of the University of Glasgow.
1780 Copyright 2002-2007, The University Court of the University of Glasgow.
1614 All rights reserved.
1781 All rights reserved.
1615−
1782+
1616 Redistribution and use in source and binary forms, with or without
1783 Redistribution and use in source and binary forms, with or without
1617 modification, are permitted provided that the following conditions are met:
1784 modification, are permitted provided that the following conditions are met:
1618−
1785+
1619 - Redistributions of source code must retain the above copyright notice,
1786 - Redistributions of source code must retain the above copyright notice,
1620 this list of conditions and the following disclaimer.
1787 this list of conditions and the following disclaimer.
1621−
1788+
1622 - Redistributions in binary form must reproduce the above copyright notice,
1789 - Redistributions in binary form must reproduce the above copyright notice,
1623 this list of conditions and the following disclaimer in the documentation
1790 this list of conditions and the following disclaimer in the documentation
1624 and/or other materials provided with the distribution.
1791 and/or other materials provided with the distribution.
1625−
1792+
1626 - Neither name of the University nor the names of its contributors may be
1793 - Neither name of the University nor the names of its contributors may be
1627 used to endorse or promote products derived from this software without
1794 used to endorse or promote products derived from this software without
1628 specific prior written permission.
1795 specific prior written permission.
1629−
1796+
1630 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1797 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1631 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1798 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1632 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1799 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1639,23 +1806,23 @@ template-haskell LICENSE file:
1639 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1806 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1640 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1807 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1641 DAMAGE.
1808 DAMAGE.
1642−
1809+
1643
1810
1644terminfo LICENSE file:
1811terminfo LICENSE file:
1645
1812
1646 Copyright 2007, Judah Jacobson.
1813 Copyright 2007, Judah Jacobson.
1647 All Rights Reserved.
1814 All Rights Reserved.
1648−
1815+
1649 Redistribution and use in source and binary forms, with or without
1816 Redistribution and use in source and binary forms, with or without
1650 modification, are permitted provided that the following conditions are met:
1817 modification, are permitted provided that the following conditions are met:
1651−
1818+
1652 - Redistribution of source code must retain the above copyright notice,
1819 - Redistribution of source code must retain the above copyright notice,
1653 this list of conditions and the following disclamer.
1820 this list of conditions and the following disclamer.
1654−
1821+
1655 - Redistribution in binary form must reproduce the above copyright notice,
1822 - Redistribution in binary form must reproduce the above copyright notice,
1656 this list of conditions and the following disclamer in the documentation
1823 this list of conditions and the following disclamer in the documentation
1657 and/or other materials provided with the distribution.
1824 and/or other materials provided with the distribution.
1658−
1825+
1659 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
1826 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
1660 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1827 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1661 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1828 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -1671,19 +1838,19 @@ text LICENSE file:
1671
1838
1672 Copyright (c) 2008-2009, Tom Harper
1839 Copyright (c) 2008-2009, Tom Harper
1673 All rights reserved.
1840 All rights reserved.
1674−
1841+
1675 Redistribution and use in source and binary forms, with or without
1842 Redistribution and use in source and binary forms, with or without
1676 modification, are permitted provided that the following conditions
1843 modification, are permitted provided that the following conditions
1677 are met:
1844 are met:
1678−
1845+
1679 * Redistributions of source code must retain the above copyright
1846 * Redistributions of source code must retain the above copyright
1680 notice, this list of conditions and the following disclaimer.
1847 notice, this list of conditions and the following disclaimer.
1681−
1848+
1682 * Redistributions in binary form must reproduce the above
1849 * Redistributions in binary form must reproduce the above
1683 copyright notice, this list of conditions and the following
1850 copyright notice, this list of conditions and the following
1684 disclaimer in the documentation and/or other materials provided
1851 disclaimer in the documentation and/or other materials provided
1685 with the distribution.
1852 with the distribution.
1686−
1853+
1687 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1854 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1688 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1855 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1689 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1856 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1700,36 +1867,36 @@ time LICENSE file:
1700
1867
1701 TimeLib is Copyright (c) Ashley Yakeley, 2004-2014. All rights reserved.
1868 TimeLib is Copyright (c) Ashley Yakeley, 2004-2014. All rights reserved.
1702 Certain sections are Copyright 2004, The University Court of the University of Glasgow. All rights reserved.
1869 Certain sections are Copyright 2004, The University Court of the University of Glasgow. All rights reserved.
1703−
1870+
1704 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1871 Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1705−
1872+
1706 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
1873 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
1707−
1874+
1708 - Neither name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
1875 - Neither name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
1709−
1876+
1710 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1877 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1711
1878
1712transformers LICENSE file:
1879transformers LICENSE file:
1713
1880
1714 The Glasgow Haskell Compiler License
1881 The Glasgow Haskell Compiler License
1715−
1882+
1716 Copyright 2004, The University Court of the University of Glasgow.
1883 Copyright 2004, The University Court of the University of Glasgow.
1717 All rights reserved.
1884 All rights reserved.
1718−
1885+
1719 Redistribution and use in source and binary forms, with or without
1886 Redistribution and use in source and binary forms, with or without
1720 modification, are permitted provided that the following conditions are met:
1887 modification, are permitted provided that the following conditions are met:
1721−
1888+
1722 - Redistributions of source code must retain the above copyright notice,
1889 - Redistributions of source code must retain the above copyright notice,
1723 this list of conditions and the following disclaimer.
1890 this list of conditions and the following disclaimer.
1724−
1891+
1725 - Redistributions in binary form must reproduce the above copyright notice,
1892 - Redistributions in binary form must reproduce the above copyright notice,
1726 this list of conditions and the following disclaimer in the documentation
1893 this list of conditions and the following disclaimer in the documentation
1727 and/or other materials provided with the distribution.
1894 and/or other materials provided with the distribution.
1728−
1895+
1729 - Neither name of the University nor the names of its contributors may be
1896 - Neither name of the University nor the names of its contributors may be
1730 used to endorse or promote products derived from this software without
1897 used to endorse or promote products derived from this software without
1731 specific prior written permission.
1898 specific prior written permission.
1732−
1899+
1733 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1900 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1734 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1901 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1735 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1902 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1747,19 +1914,19 @@ transformers-base LICENSE file:
1747
1914
1748 Copyright (c) 2011, Mikhail Vorozhtsov, Bas van Dijk
1915 Copyright (c) 2011, Mikhail Vorozhtsov, Bas van Dijk
1749 All rights reserved.
1916 All rights reserved.
1750−
1917+
1751− Redistribution and use in source and binary forms, with or without
1918+ Redistribution and use in source and binary forms, with or without
1752 modification, are permitted provided that the following conditions are met:
1919 modification, are permitted provided that the following conditions are met:
1753−
1920+
1754− - Redistributions of source code must retain the above copyright notice,
1921+ - Redistributions of source code must retain the above copyright notice,
1755 this list of conditions and the following disclaimer.
1922 this list of conditions and the following disclaimer.
1756− - Redistributions in binary form must reproduce the above copyright
1923+ - Redistributions in binary form must reproduce the above copyright
1757− notice, this list of conditions and the following disclaimer in the
1924+ notice, this list of conditions and the following disclaimer in the
1758 documentation and/or other materials provided with the distribution.
1925 documentation and/or other materials provided with the distribution.
1759− - Neither the names of the copyright owners nor the names of the
1926+ - Neither the names of the copyright owners nor the names of the
1760− contributors may be used to endorse or promote products derived
1927+ contributors may be used to endorse or promote products derived
1761 from this software without specific prior written permission.
1928 from this software without specific prior written permission.
1762−
1929+
1763 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1930 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1764 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1931 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1765 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1932 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1771,29 +1938,29 @@ transformers-base LICENSE file:
1771 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1938 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1772 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1939 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1773 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1940 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1774−
1941+
1775
1942
1776transformers-compat LICENSE file:
1943transformers-compat LICENSE file:
1777
1944
1778 Copyright 2012 Edward Kmett
1945 Copyright 2012 Edward Kmett
1779−
1946+
1780 All rights reserved.
1947 All rights reserved.
1781−
1948+
1782 Redistribution and use in source and binary forms, with or without
1949 Redistribution and use in source and binary forms, with or without
1783 modification, are permitted provided that the following conditions
1950 modification, are permitted provided that the following conditions
1784 are met:
1951 are met:
1785−
1952+
1786 1. Redistributions of source code must retain the above copyright
1953 1. Redistributions of source code must retain the above copyright
1787 notice, this list of conditions and the following disclaimer.
1954 notice, this list of conditions and the following disclaimer.
1788−
1955+
1789 2. Redistributions in binary form must reproduce the above copyright
1956 2. Redistributions in binary form must reproduce the above copyright
1790 notice, this list of conditions and the following disclaimer in the
1957 notice, this list of conditions and the following disclaimer in the
1791 documentation and/or other materials provided with the distribution.
1958 documentation and/or other materials provided with the distribution.
1792−
1959+
1793 3. Neither the name of the author nor the names of his contributors
1960 3. Neither the name of the author nor the names of his contributors
1794 may be used to endorse or promote products derived from this software
1961 may be used to endorse or promote products derived from this software
1795 without specific prior written permission.
1962 without specific prior written permission.
1796−
1963+
1797 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1964 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1798 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1965 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1799 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1966 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -1809,24 +1976,24 @@ transformers-compat LICENSE file:
1809unix LICENSE file:
1976unix LICENSE file:
1810
1977
1811 The Glasgow Haskell Compiler License
1978 The Glasgow Haskell Compiler License
1812−
1979+
1813− Copyright 2004, The University Court of the University of Glasgow.
1980+ Copyright 2004, The University Court of the University of Glasgow.
1814 All rights reserved.
1981 All rights reserved.
1815−
1982+
1816 Redistribution and use in source and binary forms, with or without
1983 Redistribution and use in source and binary forms, with or without
1817 modification, are permitted provided that the following conditions are met:
1984 modification, are permitted provided that the following conditions are met:
1818−
1985+
1819 - Redistributions of source code must retain the above copyright notice,
1986 - Redistributions of source code must retain the above copyright notice,
1820 this list of conditions and the following disclaimer.
1987 this list of conditions and the following disclaimer.
1821−
1988+
1822 - Redistributions in binary form must reproduce the above copyright notice,
1989 - Redistributions in binary form must reproduce the above copyright notice,
1823 this list of conditions and the following disclaimer in the documentation
1990 this list of conditions and the following disclaimer in the documentation
1824 and/or other materials provided with the distribution.
1991 and/or other materials provided with the distribution.
1825−
1992+
1826 - Neither name of the University nor the names of its contributors may be
1993 - Neither name of the University nor the names of its contributors may be
1827 used to endorse or promote products derived from this software without
1994 used to endorse or promote products derived from this software without
1828− specific prior written permission.
1995+ specific prior written permission.
1829−
1996+
1830 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1997 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1831 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1998 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1832 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
1999 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1843,24 +2010,24 @@ unix LICENSE file:
1843unordered-containers LICENSE file:
2010unordered-containers LICENSE file:
1844
2011
1845 Copyright (c) 2010, Johan Tibell
2012 Copyright (c) 2010, Johan Tibell
1846−
2013+
1847 All rights reserved.
2014 All rights reserved.
1848−
2015+
1849 Redistribution and use in source and binary forms, with or without
2016 Redistribution and use in source and binary forms, with or without
1850 modification, are permitted provided that the following conditions are met:
2017 modification, are permitted provided that the following conditions are met:
1851−
2018+
1852 * Redistributions of source code must retain the above copyright
2019 * Redistributions of source code must retain the above copyright
1853 notice, this list of conditions and the following disclaimer.
2020 notice, this list of conditions and the following disclaimer.
1854−
2021+
1855 * Redistributions in binary form must reproduce the above
2022 * Redistributions in binary form must reproduce the above
1856 copyright notice, this list of conditions and the following
2023 copyright notice, this list of conditions and the following
1857 disclaimer in the documentation and/or other materials provided
2024 disclaimer in the documentation and/or other materials provided
1858 with the distribution.
2025 with the distribution.
1859−
2026+
1860 * Neither the name of Johan Tibell nor the names of other
2027 * Neither the name of Johan Tibell nor the names of other
1861 contributors may be used to endorse or promote products derived
2028 contributors may be used to endorse or promote products derived
1862 from this software without specific prior written permission.
2029 from this software without specific prior written permission.
1863−
2030+
1864 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2031 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1865 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2032 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1866 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2033 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -1904,21 +2071,21 @@ vector LICENSE file:
1904
2071
1905 Copyright (c) 2008-2012, Roman Leshchinskiy
2072 Copyright (c) 2008-2012, Roman Leshchinskiy
1906 All rights reserved.
2073 All rights reserved.
1907−
2074+
1908 Redistribution and use in source and binary forms, with or without
2075 Redistribution and use in source and binary forms, with or without
1909 modification, are permitted provided that the following conditions are met:
2076 modification, are permitted provided that the following conditions are met:
1910−
2077+
1911 - Redistributions of source code must retain the above copyright notice,
2078 - Redistributions of source code must retain the above copyright notice,
1912 this list of conditions and the following disclaimer.
2079 this list of conditions and the following disclaimer.
1913−
2080+
1914 - Redistributions in binary form must reproduce the above copyright notice,
2081 - Redistributions in binary form must reproduce the above copyright notice,
1915 this list of conditions and the following disclaimer in the documentation
2082 this list of conditions and the following disclaimer in the documentation
1916 and/or other materials provided with the distribution.
2083 and/or other materials provided with the distribution.
1917−
2084+
1918 - Neither name of the University nor the names of its contributors may be
2085 - Neither name of the University nor the names of its contributors may be
1919 used to endorse or promote products derived from this software without
2086 used to endorse or promote products derived from this software without
1920− specific prior written permission.
2087+ specific prior written permission.
1921−
2088+
1922 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
2089 THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY COURT OF THE UNIVERSITY OF
1923 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
2090 GLASGOW AND THE CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
1924 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
2091 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
@@ -1931,29 +2098,29 @@ vector LICENSE file:
1931 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2098 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1932 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
2099 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
1933 DAMAGE.
2100 DAMAGE.
1934−
2101+
1935
2102
1936void LICENSE file:
2103void LICENSE file:
1937
2104
1938 Copyright 2015 Edward Kmett
2105 Copyright 2015 Edward Kmett
1939−
2106+
1940 All rights reserved.
2107 All rights reserved.
1941−
2108+
1942 Redistribution and use in source and binary forms, with or without
2109 Redistribution and use in source and binary forms, with or without
1943 modification, are permitted provided that the following conditions
2110 modification, are permitted provided that the following conditions
1944 are met:
2111 are met:
1945−
2112+
1946 1. Redistributions of source code must retain the above copyright
2113 1. Redistributions of source code must retain the above copyright
1947 notice, this list of conditions and the following disclaimer.
2114 notice, this list of conditions and the following disclaimer.
1948−
2115+
1949 2. Redistributions in binary form must reproduce the above copyright
2116 2. Redistributions in binary form must reproduce the above copyright
1950 notice, this list of conditions and the following disclaimer in the
2117 notice, this list of conditions and the following disclaimer in the
1951 documentation and/or other materials provided with the distribution.
2118 documentation and/or other materials provided with the distribution.
1952−
2119+
1953 3. Neither the name of the author nor the names of his contributors
2120 3. Neither the name of the author nor the names of his contributors
1954 may be used to endorse or promote products derived from this software
2121 may be used to endorse or promote products derived from this software
1955 without specific prior written permission.
2122 without specific prior written permission.
1956−
2123+
1957 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
2124 THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
1958 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
2125 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1959 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2126 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
examples/passing/FieldPuns.pursnew file+8
@@ -0,0 +1,8 @@
1+module Main where
2+
3+import Prelude
4+import Control.Monad.Eff.Console
5+
6+greet { greeting, name } = log $ greeting <> ", " <> name <> "."
7+
8+main = greet { greeting: "Hello", name: "World" }
license-generator/generatedeleted−47
@@ -1,47 +0,0 @@
1−#!/bin/bash
2−# Generates the LICENSE file and prints it to standard output.
3−# Example use:
4−#
5−# ./license/generate > LICENSE
6−#
7−
8−set -e # exit on error
9−set -u # exit on undefined variable
10−set -o pipefail # propagate nonzero exit codes through pipelines
11−
12−export LC_CTYPE=C
13−export LANG=C
14−
15−if ! which cabal-dependency-licenses >/dev/null; then
16− echo "$0: the program 'cabal-dependency-licenses' is required." >&2
17− echo "$0: see Hackage: https://hackage.haskell.org/package/cabal-dependency-licenses" >&2
18− exit 1
19−fi
20−
21−echo_header() {
22− cat license-generator/header.txt
23−}
24−
25−echo_deps_names() {
26− cabal-dependency-licenses \
27− | grep '^- ' | sed 's/^..//' | gsort -h
28−}
29−
30−echo_deps_licenses() {
31− while read dep; do
32− echo "fetching LICENSE for: ${dep}" >&2
33− echo "${dep} LICENSE file:"
34− echo ""
35− curl --silent "https://hackage.haskell.org/package/${dep}/src/LICENSE" \
36− | sed 's/^/ /g' # indent by 2 characters
37− echo ""
38− done
39−}
40−
41−echo_deps_names > license-generator/tmp/deps.txt
42−
43−echo_header
44−echo ""
45−sed <license-generator/tmp/deps.txt 's/^/ /'
46−echo ""
47−echo_deps_licenses <license-generator/tmp/deps.txt
license-generator/generate.hsnew file+40
@@ -0,0 +1,40 @@
1+module Main (main) where
2+
3+import Control.Monad (forM_)
4+import Data.Char (isSpace)
5+import Data.List
6+import System.Process
7+import System.IO (hPutStrLn, stderr)
8+
9+echoHeader :: IO ()
10+echoHeader =
11+ readFile "license-generator/header.txt" >>= putStr
12+
13+depsNames :: IO [String]
14+depsNames = do
15+ i <- readProcess "cabal-dependency-licenses" [] ""
16+ return $ sort $ map (drop 2) $ filter startsWithDash $ lines i
17+ where
18+ startsWithDash ('-' : _) = True
19+ startsWithDash _ = False
20+
21+depsLicense :: String -> IO ()
22+depsLicense dep = do
23+ let licenseFile = if dep == "Glob" then "LICENSE.txt" else "LICENSE"
24+ hPutStrLn stderr dep
25+ license <- readProcess "curl" ["--silent", "https://hackage.haskell.org/package/" ++ dep ++ "/src/" ++ licenseFile] ""
26+ putStrLn $ dep ++ " LICENSE file:"
27+ putStrLn ""
28+ putStrLn $ f license
29+ where
30+ f = unlines . map trimEnd . map (" " ++) . lines
31+ trimEnd = reverse . dropWhile isSpace . reverse
32+
33+main :: IO ()
34+main = do
35+ deps <-depsNames
36+ echoHeader
37+ putStrLn ""
38+ forM_ deps $ \d -> putStr " " >> putStrLn d
39+ putStrLn ""
40+ forM_ deps depsLicense
license-generator/tmp/.gitkeepdeleted

No changes to the content.

psc-bundle/Main.hs+10−1
@@ -48,6 +48,7 @@ data Options = Options
48 , optionsEntryPoints :: [String]
48 , optionsEntryPoints :: [String]
49 , optionsMainModule :: Maybe String
49 , optionsMainModule :: Maybe String
50 , optionsNamespace :: String
50 , optionsNamespace :: String
51+ , optionsRequirePath :: Maybe FilePath
51 } deriving Show
52 } deriving Show
52
53
53-- | Given a filename, assuming it is in the correct place on disk, infer a ModuleIdentifier.
54-- | Given a filename, assuming it is in the correct place on disk, infer a ModuleIdentifier.
@@ -74,7 +75,7 @@ app Options{..} = do
74
75
75 let entryIds = (map (`ModuleIdentifier` Regular) optionsEntryPoints)
76 let entryIds = (map (`ModuleIdentifier` Regular) optionsEntryPoints)
76
77
77− bundle input entryIds optionsMainModule optionsNamespace
78+ bundle input entryIds optionsMainModule optionsNamespace optionsRequirePath
78
79
79-- | Command line options parser.
80-- | Command line options parser.
80options :: Parser Options
81options :: Parser Options
@@ -83,6 +84,7 @@ options = Options <$> some inputFile
83 <*> many entryPoint
84 <*> many entryPoint
84 <*> optional mainModule
85 <*> optional mainModule
85 <*> namespace
86 <*> namespace
87+ <*> optional requirePath
86 where
88 where
87 inputFile :: Parser FilePath
89 inputFile :: Parser FilePath
88 inputFile = strArgument $
90 inputFile = strArgument $
@@ -113,6 +115,13 @@ options = Options <$> some inputFile
113 <> Opts.value "PS"
115 <> Opts.value "PS"
114 <> showDefault
116 <> showDefault
115 <> help "Specify the namespace that PureScript modules will be exported to when running in the browser."
117 <> help "Specify the namespace that PureScript modules will be exported to when running in the browser."
118+
119+ requirePath :: Parser FilePath
120+ requirePath = strOption $
121+ short 'r'
122+ <> long "require-path"
123+ <> Opts.value ""
124+ <> help "The path prefix used in require() calls in the generated JavaScript"
116
125
117-- | Make it go.
126-- | Make it go.
118main :: IO ()
127main :: IO ()
psci/Completion.hs+3−8
@@ -1,19 +1,14 @@
1−{-# LANGUAGE CPP #-}
2−
3module Completion where
1module Completion where
4
2
3+import Prelude ()
4+import Prelude.Compat
5+
5import Data.Maybe (mapMaybe)
6import Data.Maybe (mapMaybe)
6import Data.List (nub, nubBy, sortBy, isPrefixOf, stripPrefix)
7import Data.List (nub, nubBy, sortBy, isPrefixOf, stripPrefix)
7import Data.Char (isUpper)
8import Data.Char (isUpper)
8import Data.Function (on)
9import Data.Function (on)
9−#if __GLASGOW_HASKELL__ < 710
10−import Data.Traversable (traverse)
11−#endif
12
10
13import Control.Arrow (second)
11import Control.Arrow (second)
14−#if __GLASGOW_HASKELL__ < 710
15−import Control.Applicative ((<$>), (<*>))
16−#endif
17import Control.Monad.Trans.Reader (asks, runReaderT, ReaderT)
12import Control.Monad.Trans.Reader (asks, runReaderT, ReaderT)
18import Control.Monad.Trans.State.Strict
13import Control.Monad.Trans.State.Strict
19
14
psci/PSCi.hs+7−8
@@ -17,15 +17,14 @@
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
18{-# LANGUAGE RecordWildCards #-}
18{-# LANGUAGE RecordWildCards #-}
19{-# LANGUAGE TupleSections #-}
19{-# LANGUAGE TupleSections #-}
20−{-# LANGUAGE CPP #-}
21
20
22module PSCi where
21module PSCi where
23
22
23+import Prelude ()
24+import Prelude.Compat
25+
24import Data.Foldable (traverse_)
26import Data.Foldable (traverse_)
25import Data.List (intercalate, nub, sort)
27import Data.List (intercalate, nub, sort)
26−#if __GLASGOW_HASKELL__ < 710
27−import Data.Traversable (traverse)
28−#endif
29import Data.Tuple (swap)
28import Data.Tuple (swap)
30import Data.Version (showVersion)
29import Data.Version (showVersion)
31import qualified Data.Map as M
30import qualified Data.Map as M
@@ -507,7 +506,7 @@ loadUserConfig = onFirstFileMatching readCommands pathGetters
507 if exists
506 if exists
508 then do
507 then do
509 ls <- lines <$> readFile configFile
508 ls <- lines <$> readFile configFile
510− case mapM parseCommand ls of
509+ case traverse parseCommand ls of
511 Left err -> print err >> exitFailure
510 Left err -> print err >> exitFailure
512 Right cs -> return $ Just cs
511 Right cs -> return $ Just cs
513 else
512 else
@@ -524,8 +523,8 @@ consoleIsDefined = any ((== P.ModuleName (map P.ProperName [ "Control", "Monad",
524loop :: PSCiOptions -> IO ()
523loop :: PSCiOptions -> IO ()
525loop PSCiOptions{..} = do
524loop PSCiOptions{..} = do
526 config <- loadUserConfig
525 config <- loadUserConfig
527− inputFiles <- concat <$> mapM glob psciInputFile
526+ inputFiles <- concat <$> traverse glob psciInputFile
528− foreignFiles <- concat <$> mapM glob psciForeignInputFiles
527+ foreignFiles <- concat <$> traverse glob psciForeignInputFiles
529 modulesOrFirstError <- loadAllModules inputFiles
528 modulesOrFirstError <- loadAllModules inputFiles
530 case modulesOrFirstError of
529 case modulesOrFirstError of
531 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
530 Left errs -> putStrLn (P.prettyPrintMultipleErrors False errs) >> exitFailure
@@ -540,7 +539,7 @@ loop PSCiOptions{..} = do
540 Right foreigns ->
539 Right foreigns ->
541 flip evalStateT (PSCiState inputFiles [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
540 flip evalStateT (PSCiState inputFiles [] modules foreigns [] psciInputNodeFlags) . runInputT (setComplete completion settings) $ do
542 outputStrLn prologueMessage
541 outputStrLn prologueMessage
543− traverse_ (mapM_ (runPSCI . handleCommand)) config
542+ traverse_ (traverse_ (runPSCI . handleCommand)) config
544 modules' <- lift $ gets psciLoadedModules
543 modules' <- lift $ gets psciLoadedModules
545 unless (consoleIsDefined (map snd modules')) . outputStrLn $ unlines
544 unless (consoleIsDefined (map snd modules')) . outputStrLn $ unlines
546 [ "PSCi requires the purescript-console module to be installed."
545 [ "PSCi requires the purescript-console module to be installed."
psci/Parser.hs+2−7
@@ -13,21 +13,16 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Parser
16module Parser
19 ( parseCommand
17 ( parseCommand
20 ) where
18 ) where
21
19
22−import Prelude hiding (lex)
20+import Prelude ()
21+import Prelude.Compat hiding (lex)
23
22
24import Data.Char (isSpace)
23import Data.Char (isSpace)
25import Data.List (intercalate)
24import Data.List (intercalate)
26
25
27−#if __GLASGOW_HASKELL__ < 710
28−import Control.Applicative hiding (many)
29−#endif
30−
31import Text.Parsec hiding ((<|>))
26import Text.Parsec hiding ((<|>))
32
27
33import qualified Language.PureScript as P
28import qualified Language.PureScript as P
psci/tests/Main.hs+3−4
@@ -1,14 +1,13 @@
1{-# LANGUAGE RecordWildCards #-}
1{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE TupleSections #-}
2{-# LANGUAGE TupleSections #-}
3−{-# LANGUAGE CPP #-}
4
3
5module Main where
4module Main where
6
5
6+import Prelude ()
7+import Prelude.Compat
8+
7import Control.Monad.Trans.State.Strict (runStateT)
9import Control.Monad.Trans.State.Strict (runStateT)
8import Control.Monad (when, forM)
10import Control.Monad (when, forM)
9−#if __GLASGOW_HASKELL__ < 710
10−import Control.Applicative
11−#endif
12import Control.Monad.Writer.Strict (runWriterT)
11import Control.Monad.Writer.Strict (runWriterT)
13import Control.Monad.Trans.Except (runExceptT)
12import Control.Monad.Trans.Except (runExceptT)
14
13
purescript.cabal+6−4
@@ -41,6 +41,7 @@ source-repository head
41
41
42library
42library
43 build-depends: base >=4.6 && <5,
43 build-depends: base >=4.6 && <5,
44+ base-compat >=0.6.0,
44 lifted-base >= 0.2.3 && < 0.2.4,
45 lifted-base >= 0.2.3 && < 0.2.4,
45 monad-control >= 1.0.0.0 && < 1.1,
46 monad-control >= 1.0.0.0 && < 1.1,
46 transformers-base >= 0.4.0 && < 0.5,
47 transformers-base >= 0.4.0 && < 0.5,
@@ -69,7 +70,8 @@ library
69 Glob >= 0.7 && < 0.8,
70 Glob >= 0.7 && < 0.8,
70 process >= 1.2.0 && < 1.4,
71 process >= 1.2.0 && < 1.4,
71 safe >= 0.3.9 && < 0.4,
72 safe >= 0.3.9 && < 0.4,
72− semigroups >= 0.16.2 && < 0.18
73+ semigroups >= 0.16.2 && < 0.19,
74+ parallel >= 3.2 && < 3.3
73
75
74 exposed-modules: Language.PureScript
76 exposed-modules: Language.PureScript
75 Language.PureScript.AST
77 Language.PureScript.AST
@@ -212,7 +214,7 @@ executable psci
212 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
214 build-depends: base >=4 && <5, containers -any, directory -any, filepath -any,
213 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
215 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
214 haskeline >= 0.7.0.0, purescript -any, transformers -any,
216 haskeline >= 0.7.0.0, purescript -any, transformers -any,
215− transformers-compat -any, process -any, time -any, Glob -any
217+ transformers-compat -any, process -any, time -any, Glob -any, base-compat >=0.6.0
216
218
217 main-is: Main.hs
219 main-is: Main.hs
218 buildable: True
220 buildable: True
@@ -287,7 +289,7 @@ test-suite tests
287 build-depends: base >=4 && <5, containers -any, directory -any,
289 build-depends: base >=4 && <5, containers -any, directory -any,
288 filepath -any, mtl -any, parsec -any, purescript -any,
290 filepath -any, mtl -any, parsec -any, purescript -any,
289 transformers -any, process -any, transformers-compat -any, time -any,
291 transformers -any, process -any, transformers-compat -any, time -any,
290− Glob -any
292+ Glob -any, base-compat >=0.6.0
291 type: exitcode-stdio-1.0
293 type: exitcode-stdio-1.0
292 main-is: Main.hs
294 main-is: Main.hs
293 other-modules: TestsSetup
295 other-modules: TestsSetup
@@ -299,7 +301,7 @@ test-suite psci-tests
299 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
301 mtl -any, optparse-applicative >= 0.10.0, parsec -any,
300 haskeline >= 0.7.0.0, purescript -any, transformers -any,
302 haskeline >= 0.7.0.0, purescript -any, transformers -any,
301 transformers-compat -any, process -any, HUnit -any, time -any,
303 transformers-compat -any, process -any, HUnit -any, time -any,
302− Glob -any
304+ Glob -any, base-compat >=0.6.0
303 type: exitcode-stdio-1.0
305 type: exitcode-stdio-1.0
304 main-is: Main.hs
306 main-is: Main.hs
305 other-modules: TestsSetup
307 other-modules: TestsSetup
src/Control/Monad/Logger.hs+3−5
@@ -12,19 +12,17 @@
12--
12--
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15−{-# LANGUAGE CPP #-}
16{-# LANGUAGE FlexibleInstances #-}
15{-# LANGUAGE FlexibleInstances #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
16{-# LANGUAGE MultiParamTypeClasses #-}
18{-# LANGUAGE TypeFamilies #-}
17{-# LANGUAGE TypeFamilies #-}
19
18
20module Control.Monad.Logger where
19module Control.Monad.Logger where
21
20
21+import Prelude ()
22+import Prelude.Compat
23+
22import Data.IORef
24import Data.IORef
23
25
24−#if __GLASGOW_HASKELL__ < 710
25−import Data.Monoid
26−import Control.Applicative
27−#endif
28import Control.Monad (ap)
26import Control.Monad (ap)
29import Control.Monad.IO.Class
27import Control.Monad.IO.Class
30import Control.Monad.Writer.Class
28import Control.Monad.Writer.Class
src/Control/Monad/Supply.hs+3−4
@@ -14,15 +14,14 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16{-# LANGUAGE GeneralizedNewtypeDeriving #-}
16{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17−{-# LANGUAGE CPP #-}
18
17
19module Control.Monad.Supply where
18module Control.Monad.Supply where
20
19
20+import Prelude ()
21+import Prelude.Compat
22+
21import Data.Functor.Identity
23import Data.Functor.Identity
22
24
23−#if __GLASGOW_HASKELL__ < 710
24−import Control.Applicative
25−#endif
26import Control.Monad.State
25import Control.Monad.State
27import Control.Monad.Error.Class (MonadError(..))
26import Control.Monad.Error.Class (MonadError(..))
28import Control.Monad.Reader
27import Control.Monad.Reader
src/Language/PureScript/AST/Declarations.hs+3−5
@@ -15,10 +15,12 @@
15{-# LANGUAGE DeriveDataTypeable #-}
15{-# LANGUAGE DeriveDataTypeable #-}
16{-# LANGUAGE ScopedTypeVariables #-}
16{-# LANGUAGE ScopedTypeVariables #-}
17{-# LANGUAGE TemplateHaskell #-}
17{-# LANGUAGE TemplateHaskell #-}
18−{-# LANGUAGE CPP #-}
19
18
20module Language.PureScript.AST.Declarations where
19module Language.PureScript.AST.Declarations where
21
20
21+import Prelude ()
22+import Prelude.Compat
23+
22import Data.Aeson.TH
24import Data.Aeson.TH
23
25
24import qualified Data.Data as D
26import qualified Data.Data as D
@@ -26,10 +28,6 @@ import qualified Data.Map as M
26
28
27import Control.Monad.Identity
29import Control.Monad.Identity
28
30
29−#if __GLASGOW_HASKELL__ < 710
30−import Control.Applicative
31−#endif
32−
33import Language.PureScript.AST.Binders
31import Language.PureScript.AST.Binders
34import Language.PureScript.AST.Operators
32import Language.PureScript.AST.Operators
35import Language.PureScript.AST.SourcePos
33import Language.PureScript.AST.SourcePos
src/Language/PureScript/AST/SourcePos.hs+3−5
@@ -12,7 +12,6 @@
12--
12--
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15−{-# LANGUAGE CPP #-}
16{-# LANGUAGE DeriveDataTypeable #-}
15{-# LANGUAGE DeriveDataTypeable #-}
17{-# LANGUAGE ScopedTypeVariables #-}
16{-# LANGUAGE ScopedTypeVariables #-}
18{-# LANGUAGE RecordWildCards #-}
17{-# LANGUAGE RecordWildCards #-}
@@ -20,14 +19,13 @@
20
19
21module Language.PureScript.AST.SourcePos where
20module Language.PureScript.AST.SourcePos where
22
21
22+import Prelude ()
23+import Prelude.Compat
24+
23import qualified Data.Data as D
25import qualified Data.Data as D
24import Data.Aeson ((.=), (.:))
26import Data.Aeson ((.=), (.:))
25import qualified Data.Aeson as A
27import qualified Data.Aeson as A
26
28
27−#if __GLASGOW_HASKELL__ < 710
28−import Control.Applicative
29−#endif
30−
31-- |
29-- |
32-- Source position information
30-- Source position information
33--
31--
src/Language/PureScript/AST/Traversals.hs+58−67
@@ -12,21 +12,12 @@
12--
12--
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15−{-# LANGUAGE CPP #-}
16−
17module Language.PureScript.AST.Traversals where
15module Language.PureScript.AST.Traversals where
18
16
19−#if __GLASGOW_HASKELL__ < 710
17+import Prelude ()
20−import Data.Monoid (Monoid(..), mconcat)
18+import Prelude.Compat
21−#endif
22−import Data.Maybe (mapMaybe)
23−#if __GLASGOW_HASKELL__ < 710
24−import Data.Traversable (traverse)
25−#endif
26
19
27−#if __GLASGOW_HASKELL__ < 710
20+import Data.Maybe (mapMaybe)
28−import Control.Applicative
29−#endif
30import Control.Monad
21import Control.Monad
31import Control.Arrow ((***), (+++), second)
22import Control.Arrow ((***), (+++), second)
32
23
@@ -101,10 +92,10 @@ everywhereOnValuesTopDownM :: (Functor m, Applicative m, Monad m) =>
101 (Declaration -> m Declaration, Expr -> m Expr, Binder -> m Binder)
92 (Declaration -> m Declaration, Expr -> m Expr, Binder -> m Binder)
102everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
93everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
103 where
94 where
104− f' (DataBindingGroupDeclaration ds) = DataBindingGroupDeclaration <$> mapM (f' <=< f) ds
95+ f' (DataBindingGroupDeclaration ds) = DataBindingGroupDeclaration <$> traverse (f' <=< f) ds
105− f' (ValueDeclaration name nameKind bs val) = ValueDeclaration name nameKind <$> mapM (h' <=< h) bs <*> eitherM (mapM (pairM (g' <=< g) (g' <=< g))) (g' <=< g) val
96+ f' (ValueDeclaration name nameKind bs val) = ValueDeclaration name nameKind <$> traverse (h' <=< h) bs <*> eitherM (traverse (pairM (g' <=< g) (g' <=< g))) (g' <=< g) val
106− f' (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> mapM (\(name, nameKind, val) -> (,,) name nameKind <$> (g val >>= g')) ds
97+ f' (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> traverse (\(name, nameKind, val) -> (,,) name nameKind <$> (g val >>= g')) ds
107− f' (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> mapM (f' <=< f) ds
98+ f' (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> traverse (f' <=< f) ds
108 f' (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> traverseTypeInstanceBody (traverse (f' <=< f)) ds
99 f' (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> traverseTypeInstanceBody (traverse (f' <=< f)) ds
109 f' (PositionedDeclaration pos com d) = PositionedDeclaration pos com <$> (f d >>= f')
100 f' (PositionedDeclaration pos com d) = PositionedDeclaration pos com <$> (f d >>= f')
110 f' other = f other
101 f' other = f other
@@ -114,37 +105,37 @@ everywhereOnValuesTopDownM f g h = (f' <=< f, g' <=< g, h' <=< h)
114 g' (Parens v) = Parens <$> (g v >>= g')
105 g' (Parens v) = Parens <$> (g v >>= g')
115 g' (OperatorSection op (Left v)) = OperatorSection <$> (g op >>= g') <*> (Left <$> (g v >>= g'))
106 g' (OperatorSection op (Left v)) = OperatorSection <$> (g op >>= g') <*> (Left <$> (g v >>= g'))
116 g' (OperatorSection op (Right v)) = OperatorSection <$> (g op >>= g') <*> (Right <$> (g v >>= g'))
107 g' (OperatorSection op (Right v)) = OperatorSection <$> (g op >>= g') <*> (Right <$> (g v >>= g'))
117− g' (ArrayLiteral vs) = ArrayLiteral <$> mapM (g' <=< g) vs
108+ g' (ArrayLiteral vs) = ArrayLiteral <$> traverse (g' <=< g) vs
118− g' (ObjectLiteral vs) = ObjectLiteral <$> mapM (sndM (g' <=< g)) vs
109+ g' (ObjectLiteral vs) = ObjectLiteral <$> traverse (sndM (g' <=< g)) vs
119− g' (ObjectConstructor vs) = ObjectConstructor <$> mapM (sndM $ maybeM (g' <=< g)) vs
110+ g' (ObjectConstructor vs) = ObjectConstructor <$> traverse (sndM $ maybeM (g' <=< g)) vs
120 g' (TypeClassDictionaryConstructorApp name v) = TypeClassDictionaryConstructorApp name <$> (g v >>= g')
111 g' (TypeClassDictionaryConstructorApp name v) = TypeClassDictionaryConstructorApp name <$> (g v >>= g')
121 g' (Accessor prop v) = Accessor prop <$> (g v >>= g')
112 g' (Accessor prop v) = Accessor prop <$> (g v >>= g')
122− g' (ObjectUpdate obj vs) = ObjectUpdate <$> (g obj >>= g') <*> mapM (sndM (g' <=< g)) vs
113+ g' (ObjectUpdate obj vs) = ObjectUpdate <$> (g obj >>= g') <*> traverse (sndM (g' <=< g)) vs
123− g' (ObjectUpdater obj vs) = ObjectUpdater <$> (maybeM g obj >>= maybeM g') <*> mapM (sndM $ maybeM (g' <=< g)) vs
114+ g' (ObjectUpdater obj vs) = ObjectUpdater <$> (maybeM g obj >>= maybeM g') <*> traverse (sndM $ maybeM (g' <=< g)) vs
124 g' (Abs name v) = Abs name <$> (g v >>= g')
115 g' (Abs name v) = Abs name <$> (g v >>= g')
125 g' (App v1 v2) = App <$> (g v1 >>= g') <*> (g v2 >>= g')
116 g' (App v1 v2) = App <$> (g v1 >>= g') <*> (g v2 >>= g')
126 g' (IfThenElse v1 v2 v3) = IfThenElse <$> (g v1 >>= g') <*> (g v2 >>= g') <*> (g v3 >>= g')
117 g' (IfThenElse v1 v2 v3) = IfThenElse <$> (g v1 >>= g') <*> (g v2 >>= g') <*> (g v3 >>= g')
127− g' (Case vs alts) = Case <$> mapM (g' <=< g) vs <*> mapM handleCaseAlternative alts
118+ g' (Case vs alts) = Case <$> traverse (g' <=< g) vs <*> traverse handleCaseAlternative alts
128 g' (TypedValue check v ty) = TypedValue check <$> (g v >>= g') <*> pure ty
119 g' (TypedValue check v ty) = TypedValue check <$> (g v >>= g') <*> pure ty
129− g' (Let ds v) = Let <$> mapM (f' <=< f) ds <*> (g v >>= g')
120+ g' (Let ds v) = Let <$> traverse (f' <=< f) ds <*> (g v >>= g')
130− g' (Do es) = Do <$> mapM handleDoNotationElement es
121+ g' (Do es) = Do <$> traverse handleDoNotationElement es
131 g' (PositionedValue pos com v) = PositionedValue pos com <$> (g v >>= g')
122 g' (PositionedValue pos com v) = PositionedValue pos com <$> (g v >>= g')
132 g' other = g other
123 g' other = g other
133
124
134− h' (ConstructorBinder ctor bs) = ConstructorBinder ctor <$> mapM (h' <=< h) bs
125+ h' (ConstructorBinder ctor bs) = ConstructorBinder ctor <$> traverse (h' <=< h) bs
135− h' (ObjectBinder bs) = ObjectBinder <$> mapM (sndM (h' <=< h)) bs
126+ h' (ObjectBinder bs) = ObjectBinder <$> traverse (sndM (h' <=< h)) bs
136− h' (ArrayBinder bs) = ArrayBinder <$> mapM (h' <=< h) bs
127+ h' (ArrayBinder bs) = ArrayBinder <$> traverse (h' <=< h) bs
137 h' (NamedBinder name b) = NamedBinder name <$> (h b >>= h')
128 h' (NamedBinder name b) = NamedBinder name <$> (h b >>= h')
138 h' (PositionedBinder pos com b) = PositionedBinder pos com <$> (h b >>= h')
129 h' (PositionedBinder pos com b) = PositionedBinder pos com <$> (h b >>= h')
139 h' (TypedBinder t b) = TypedBinder t <$> (h b >>= h')
130 h' (TypedBinder t b) = TypedBinder t <$> (h b >>= h')
140 h' other = h other
131 h' other = h other
141
132
142− handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> mapM (h' <=< h) bs
133+ handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> traverse (h' <=< h) bs
143− <*> eitherM (mapM (pairM (g' <=< g) (g' <=< g))) (g' <=< g) val
134+ <*> eitherM (traverse (pairM (g' <=< g) (g' <=< g))) (g' <=< g) val
144
135
145 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> (g' <=< g) v
136 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> (g' <=< g) v
146 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> (h' <=< h) b <*> (g' <=< g) v
137 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> (h' <=< h) b <*> (g' <=< g) v
147− handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> mapM (f' <=< f) ds
138+ handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> traverse (f' <=< f) ds
148 handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com <$> handleDoNotationElement e
139 handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com <$> handleDoNotationElement e
149
140
150everywhereOnValuesM :: (Functor m, Applicative m, Monad m) =>
141everywhereOnValuesM :: (Functor m, Applicative m, Monad m) =>
@@ -154,11 +145,11 @@ everywhereOnValuesM :: (Functor m, Applicative m, Monad m) =>
154 (Declaration -> m Declaration, Expr -> m Expr, Binder -> m Binder)
145 (Declaration -> m Declaration, Expr -> m Expr, Binder -> m Binder)
155everywhereOnValuesM f g h = (f', g', h')
146everywhereOnValuesM f g h = (f', g', h')
156 where
147 where
157− f' (DataBindingGroupDeclaration ds) = (DataBindingGroupDeclaration <$> mapM f' ds) >>= f
148+ f' (DataBindingGroupDeclaration ds) = (DataBindingGroupDeclaration <$> traverse f' ds) >>= f
158− f' (ValueDeclaration name nameKind bs val) = (ValueDeclaration name nameKind <$> mapM h' bs <*> eitherM (mapM (pairM g' g')) g' val) >>= f
149+ f' (ValueDeclaration name nameKind bs val) = (ValueDeclaration name nameKind <$> traverse h' bs <*> eitherM (traverse (pairM g' g')) g' val) >>= f
159− f' (BindingGroupDeclaration ds) = (BindingGroupDeclaration <$> mapM (\(name, nameKind, val) -> (,,) name nameKind <$> g' val) ds) >>= f
150+ f' (BindingGroupDeclaration ds) = (BindingGroupDeclaration <$> traverse (\(name, nameKind, val) -> (,,) name nameKind <$> g' val) ds) >>= f
160− f' (TypeClassDeclaration name args implies ds) = (TypeClassDeclaration name args implies <$> mapM f' ds) >>= f
151+ f' (TypeClassDeclaration name args implies ds) = (TypeClassDeclaration name args implies <$> traverse f' ds) >>= f
161− f' (TypeInstanceDeclaration name cs className args ds) = (TypeInstanceDeclaration name cs className args <$> traverseTypeInstanceBody (mapM f') ds) >>= f
152+ f' (TypeInstanceDeclaration name cs className args ds) = (TypeInstanceDeclaration name cs className args <$> traverseTypeInstanceBody (traverse f') ds) >>= f
162 f' (PositionedDeclaration pos com d) = (PositionedDeclaration pos com <$> f' d) >>= f
153 f' (PositionedDeclaration pos com d) = (PositionedDeclaration pos com <$> f' d) >>= f
163 f' other = f other
154 f' other = f other
164
155
@@ -167,37 +158,37 @@ everywhereOnValuesM f g h = (f', g', h')
167 g' (Parens v) = (Parens <$> g' v) >>= g
158 g' (Parens v) = (Parens <$> g' v) >>= g
168 g' (OperatorSection op (Left v)) = (OperatorSection <$> g' op <*> (Left <$> g' v)) >>= g
159 g' (OperatorSection op (Left v)) = (OperatorSection <$> g' op <*> (Left <$> g' v)) >>= g
169 g' (OperatorSection op (Right v)) = (OperatorSection <$> g' op <*> (Right <$> g' v)) >>= g
160 g' (OperatorSection op (Right v)) = (OperatorSection <$> g' op <*> (Right <$> g' v)) >>= g
170− g' (ArrayLiteral vs) = (ArrayLiteral <$> mapM g' vs) >>= g
161+ g' (ArrayLiteral vs) = (ArrayLiteral <$> traverse g' vs) >>= g
171− g' (ObjectLiteral vs) = (ObjectLiteral <$> mapM (sndM g') vs) >>= g
162+ g' (ObjectLiteral vs) = (ObjectLiteral <$> traverse (sndM g') vs) >>= g
172− g' (ObjectConstructor vs) = (ObjectConstructor <$> mapM (sndM $ maybeM g') vs) >>= g
163+ g' (ObjectConstructor vs) = (ObjectConstructor <$> traverse (sndM $ maybeM g') vs) >>= g
173 g' (TypeClassDictionaryConstructorApp name v) = (TypeClassDictionaryConstructorApp name <$> g' v) >>= g
164 g' (TypeClassDictionaryConstructorApp name v) = (TypeClassDictionaryConstructorApp name <$> g' v) >>= g
174 g' (Accessor prop v) = (Accessor prop <$> g' v) >>= g
165 g' (Accessor prop v) = (Accessor prop <$> g' v) >>= g
175− g' (ObjectUpdate obj vs) = (ObjectUpdate <$> g' obj <*> mapM (sndM g') vs) >>= g
166+ g' (ObjectUpdate obj vs) = (ObjectUpdate <$> g' obj <*> traverse (sndM g') vs) >>= g
176− g' (ObjectUpdater obj vs) = (ObjectUpdater <$> maybeM g' obj <*> mapM (sndM $ maybeM g') vs) >>= g
167+ g' (ObjectUpdater obj vs) = (ObjectUpdater <$> maybeM g' obj <*> traverse (sndM $ maybeM g') vs) >>= g
177 g' (Abs name v) = (Abs name <$> g' v) >>= g
168 g' (Abs name v) = (Abs name <$> g' v) >>= g
178 g' (App v1 v2) = (App <$> g' v1 <*> g' v2) >>= g
169 g' (App v1 v2) = (App <$> g' v1 <*> g' v2) >>= g
179 g' (IfThenElse v1 v2 v3) = (IfThenElse <$> g' v1 <*> g' v2 <*> g' v3) >>= g
170 g' (IfThenElse v1 v2 v3) = (IfThenElse <$> g' v1 <*> g' v2 <*> g' v3) >>= g
180− g' (Case vs alts) = (Case <$> mapM g' vs <*> mapM handleCaseAlternative alts) >>= g
171+ g' (Case vs alts) = (Case <$> traverse g' vs <*> traverse handleCaseAlternative alts) >>= g
181 g' (TypedValue check v ty) = (TypedValue check <$> g' v <*> pure ty) >>= g
172 g' (TypedValue check v ty) = (TypedValue check <$> g' v <*> pure ty) >>= g
182− g' (Let ds v) = (Let <$> mapM f' ds <*> g' v) >>= g
173+ g' (Let ds v) = (Let <$> traverse f' ds <*> g' v) >>= g
183− g' (Do es) = (Do <$> mapM handleDoNotationElement es) >>= g
174+ g' (Do es) = (Do <$> traverse handleDoNotationElement es) >>= g
184 g' (PositionedValue pos com v) = (PositionedValue pos com <$> g' v) >>= g
175 g' (PositionedValue pos com v) = (PositionedValue pos com <$> g' v) >>= g
185 g' other = g other
176 g' other = g other
186
177
187− h' (ConstructorBinder ctor bs) = (ConstructorBinder ctor <$> mapM h' bs) >>= h
178+ h' (ConstructorBinder ctor bs) = (ConstructorBinder ctor <$> traverse h' bs) >>= h
188− h' (ObjectBinder bs) = (ObjectBinder <$> mapM (sndM h') bs) >>= h
179+ h' (ObjectBinder bs) = (ObjectBinder <$> traverse (sndM h') bs) >>= h
189− h' (ArrayBinder bs) = (ArrayBinder <$> mapM h' bs) >>= h
180+ h' (ArrayBinder bs) = (ArrayBinder <$> traverse h' bs) >>= h
190 h' (NamedBinder name b) = (NamedBinder name <$> h' b) >>= h
181 h' (NamedBinder name b) = (NamedBinder name <$> h' b) >>= h
191 h' (PositionedBinder pos com b) = (PositionedBinder pos com <$> h' b) >>= h
182 h' (PositionedBinder pos com b) = (PositionedBinder pos com <$> h' b) >>= h
192 h' (TypedBinder t b) = (TypedBinder t <$> h' b) >>= h
183 h' (TypedBinder t b) = (TypedBinder t <$> h' b) >>= h
193 h' other = h other
184 h' other = h other
194
185
195− handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> mapM h' bs
186+ handleCaseAlternative (CaseAlternative bs val) = CaseAlternative <$> traverse h' bs
196− <*> eitherM (mapM (pairM g' g')) g' val
187+ <*> eitherM (traverse (pairM g' g')) g' val
197
188
198 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> g' v
189 handleDoNotationElement (DoNotationValue v) = DoNotationValue <$> g' v
199 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> h' b <*> g' v
190 handleDoNotationElement (DoNotationBind b v) = DoNotationBind <$> h' b <*> g' v
200− handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> mapM f' ds
191+ handleDoNotationElement (DoNotationLet ds) = DoNotationLet <$> traverse f' ds
201 handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com <$> handleDoNotationElement e
192 handleDoNotationElement (PositionedDoNotationElement pos com e) = PositionedDoNotationElement pos com <$> handleDoNotationElement e
202
193
203everythingOnValues :: (r -> r -> r) ->
194everythingOnValues :: (r -> r -> r) ->
@@ -345,11 +336,11 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
345 where
336 where
346 f'' s = uncurry f' <=< f s
337 f'' s = uncurry f' <=< f s
347
338
348− f' s (DataBindingGroupDeclaration ds) = DataBindingGroupDeclaration <$> mapM (f'' s) ds
339+ f' s (DataBindingGroupDeclaration ds) = DataBindingGroupDeclaration <$> traverse (f'' s) ds
349− f' s (ValueDeclaration name nameKind bs val) = ValueDeclaration name nameKind <$> mapM (h'' s) bs <*> eitherM (mapM (pairM (g'' s) (g'' s))) (g'' s) val
340+ f' s (ValueDeclaration name nameKind bs val) = ValueDeclaration name nameKind <$> traverse (h'' s) bs <*> eitherM (traverse (pairM (g'' s) (g'' s))) (g'' s) val
350− f' s (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> mapM (thirdM (g'' s)) ds
341+ f' s (BindingGroupDeclaration ds) = BindingGroupDeclaration <$> traverse (thirdM (g'' s)) ds
351− f' s (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> mapM (f'' s) ds
342+ f' s (TypeClassDeclaration name args implies ds) = TypeClassDeclaration name args implies <$> traverse (f'' s) ds
352− f' s (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> traverseTypeInstanceBody (mapM (f'' s)) ds
343+ f' s (TypeInstanceDeclaration name cs className args ds) = TypeInstanceDeclaration name cs className args <$> traverseTypeInstanceBody (traverse (f'' s)) ds
353 f' s (PositionedDeclaration pos com d1) = PositionedDeclaration pos com <$> f'' s d1
344 f' s (PositionedDeclaration pos com d1) = PositionedDeclaration pos com <$> f'' s d1
354 f' _ other = return other
345 f' _ other = return other
355
346
@@ -360,28 +351,28 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
360 g' s (Parens v) = Parens <$> g'' s v
351 g' s (Parens v) = Parens <$> g'' s v
361 g' s (OperatorSection op (Left v)) = OperatorSection <$> g'' s op <*> (Left <$> g'' s v)
352 g' s (OperatorSection op (Left v)) = OperatorSection <$> g'' s op <*> (Left <$> g'' s v)
362 g' s (OperatorSection op (Right v)) = OperatorSection <$> g'' s op <*> (Right <$> g'' s v)
353 g' s (OperatorSection op (Right v)) = OperatorSection <$> g'' s op <*> (Right <$> g'' s v)
363− g' s (ArrayLiteral vs) = ArrayLiteral <$> mapM (g'' s) vs
354+ g' s (ArrayLiteral vs) = ArrayLiteral <$> traverse (g'' s) vs
364− g' s (ObjectLiteral vs) = ObjectLiteral <$> mapM (sndM (g'' s)) vs
355+ g' s (ObjectLiteral vs) = ObjectLiteral <$> traverse (sndM (g'' s)) vs
365− g' s (ObjectConstructor vs) = ObjectConstructor <$> mapM (sndM $ maybeM (g'' s)) vs
356+ g' s (ObjectConstructor vs) = ObjectConstructor <$> traverse (sndM $ maybeM (g'' s)) vs
366 g' s (TypeClassDictionaryConstructorApp name v) = TypeClassDictionaryConstructorApp name <$> g'' s v
357 g' s (TypeClassDictionaryConstructorApp name v) = TypeClassDictionaryConstructorApp name <$> g'' s v
367 g' s (Accessor prop v) = Accessor prop <$> g'' s v
358 g' s (Accessor prop v) = Accessor prop <$> g'' s v
368− g' s (ObjectUpdate obj vs) = ObjectUpdate <$> g'' s obj <*> mapM (sndM (g'' s)) vs
359+ g' s (ObjectUpdate obj vs) = ObjectUpdate <$> g'' s obj <*> traverse (sndM (g'' s)) vs
369− g' s (ObjectUpdater obj vs) = ObjectUpdater <$> maybeM (g'' s) obj <*> mapM (sndM $ maybeM (g'' s)) vs
360+ g' s (ObjectUpdater obj vs) = ObjectUpdater <$> maybeM (g'' s) obj <*> traverse (sndM $ maybeM (g'' s)) vs
370 g' s (Abs name v) = Abs name <$> g'' s v
361 g' s (Abs name v) = Abs name <$> g'' s v
371 g' s (App v1 v2) = App <$> g'' s v1 <*> g'' s v2
362 g' s (App v1 v2) = App <$> g'' s v1 <*> g'' s v2
372 g' s (IfThenElse v1 v2 v3) = IfThenElse <$> g'' s v1 <*> g'' s v2 <*> g'' s v3
363 g' s (IfThenElse v1 v2 v3) = IfThenElse <$> g'' s v1 <*> g'' s v2 <*> g'' s v3
373− g' s (Case vs alts) = Case <$> mapM (g'' s) vs <*> mapM (i'' s) alts
364+ g' s (Case vs alts) = Case <$> traverse (g'' s) vs <*> traverse (i'' s) alts
374 g' s (TypedValue check v ty) = TypedValue check <$> g'' s v <*> pure ty
365 g' s (TypedValue check v ty) = TypedValue check <$> g'' s v <*> pure ty
375− g' s (Let ds v) = Let <$> mapM (f'' s) ds <*> g'' s v
366+ g' s (Let ds v) = Let <$> traverse (f'' s) ds <*> g'' s v
376− g' s (Do es) = Do <$> mapM (j'' s) es
367+ g' s (Do es) = Do <$> traverse (j'' s) es
377 g' s (PositionedValue pos com v) = PositionedValue pos com <$> g'' s v
368 g' s (PositionedValue pos com v) = PositionedValue pos com <$> g'' s v
378 g' _ other = return other
369 g' _ other = return other
379
370
380 h'' s = uncurry h' <=< h s
371 h'' s = uncurry h' <=< h s
381
372
382− h' s (ConstructorBinder ctor bs) = ConstructorBinder ctor <$> mapM (h'' s) bs
373+ h' s (ConstructorBinder ctor bs) = ConstructorBinder ctor <$> traverse (h'' s) bs
383− h' s (ObjectBinder bs) = ObjectBinder <$> mapM (sndM (h'' s)) bs
374+ h' s (ObjectBinder bs) = ObjectBinder <$> traverse (sndM (h'' s)) bs
384− h' s (ArrayBinder bs) = ArrayBinder <$> mapM (h'' s) bs
375+ h' s (ArrayBinder bs) = ArrayBinder <$> traverse (h'' s) bs
385 h' s (NamedBinder name b) = NamedBinder name <$> h'' s b
376 h' s (NamedBinder name b) = NamedBinder name <$> h'' s b
386 h' s (PositionedBinder pos com b) = PositionedBinder pos com <$> h'' s b
377 h' s (PositionedBinder pos com b) = PositionedBinder pos com <$> h'' s b
387 h' s (TypedBinder t b) = TypedBinder t <$> h'' s b
378 h' s (TypedBinder t b) = TypedBinder t <$> h'' s b
@@ -389,13 +380,13 @@ everywhereWithContextOnValuesM s0 f g h i j = (f'' s0, g'' s0, h'' s0, i'' s0, j
389
380
390 i'' s = uncurry i' <=< i s
381 i'' s = uncurry i' <=< i s
391
382
392− i' s (CaseAlternative bs val) = CaseAlternative <$> mapM (h'' s) bs <*> eitherM (mapM (pairM (g'' s) (g'' s))) (g'' s) val
383+ i' s (CaseAlternative bs val) = CaseAlternative <$> traverse (h'' s) bs <*> eitherM (traverse (pairM (g'' s) (g'' s))) (g'' s) val
393
384
394 j'' s = uncurry j' <=< j s
385 j'' s = uncurry j' <=< j s
395
386
396 j' s (DoNotationValue v) = DoNotationValue <$> g'' s v
387 j' s (DoNotationValue v) = DoNotationValue <$> g'' s v
397 j' s (DoNotationBind b v) = DoNotationBind <$> h'' s b <*> g'' s v
388 j' s (DoNotationBind b v) = DoNotationBind <$> h'' s b <*> g'' s v
398− j' s (DoNotationLet ds) = DoNotationLet <$> mapM (f'' s) ds
389+ j' s (DoNotationLet ds) = DoNotationLet <$> traverse (f'' s) ds
399 j' s (PositionedDoNotationElement pos com e1) = PositionedDoNotationElement pos com <$> j'' s e1
390 j' s (PositionedDoNotationElement pos com e1) = PositionedDoNotationElement pos com <$> j'' s e1
400
391
401accumTypes :: (Monoid r) => (Type -> r) -> (Declaration -> r, Expr -> r, Binder -> r, CaseAlternative -> r, DoNotationElement -> r)
392accumTypes :: (Monoid r) => (Type -> r) -> (Declaration -> r, Expr -> r, Binder -> r, CaseAlternative -> r, DoNotationElement -> r)
src/Language/PureScript/Bundle.hs+19−18
@@ -20,7 +20,6 @@
20{-# LANGUAGE ScopedTypeVariables #-}
20{-# LANGUAGE ScopedTypeVariables #-}
21{-# LANGUAGE TupleSections #-}
21{-# LANGUAGE TupleSections #-}
22{-# LANGUAGE RecordWildCards #-}
22{-# LANGUAGE RecordWildCards #-}
23−{-# LANGUAGE CPP #-}
24
23
25module Language.PureScript.Bundle (
24module Language.PureScript.Bundle (
26 bundle
25 bundle
@@ -31,17 +30,17 @@ module Language.PureScript.Bundle (
31 , printErrorMessage
30 , printErrorMessage
32) where
31) where
33
32
33+import Prelude ()
34+import Prelude.Compat
35+
34−import Data.List (nub)
36+import Data.List (nub, stripPrefix)
35−import Data.Maybe (mapMaybe, catMaybes)
37+import Data.Maybe (mapMaybe, catMaybes, fromMaybe)
36import Data.Generics (everything, everywhere, mkQ, mkT)
38import Data.Generics (everything, everywhere, mkQ, mkT)
37import Data.Graph
39import Data.Graph
38import Data.Version (showVersion)
40import Data.Version (showVersion)
39
41
40import qualified Data.Set as S
42import qualified Data.Set as S
41
43
42−#if __GLASGOW_HASKELL__ < 710
43−import Control.Applicative
44−#endif
45import Control.Monad
44import Control.Monad
46import Control.Monad.Error.Class
45import Control.Monad.Error.Class
47import Language.JavaScript.Parser
46import Language.JavaScript.Parser
@@ -139,12 +138,13 @@ node (NN n) = n
139node (NT n _ _) = n
138node (NT n _ _) = n
140
139
141-- | Calculate the ModuleIdentifier which a require(...) statement imports.
140-- | Calculate the ModuleIdentifier which a require(...) statement imports.
142−checkImportPath :: String -> ModuleIdentifier -> S.Set String -> Maybe ModuleIdentifier
141+checkImportPath :: Maybe FilePath -> String -> ModuleIdentifier -> S.Set String -> Maybe ModuleIdentifier
143−checkImportPath "./foreign" m _ =
142+checkImportPath _ "./foreign" m _ =
144 Just (ModuleIdentifier (moduleName m) Foreign)
143 Just (ModuleIdentifier (moduleName m) Foreign)
145−checkImportPath name _ names
144+checkImportPath requirePath name _ names
145+ | Just name' <- stripPrefix (fromMaybe "" requirePath) name
146− | name `S.member` names = Just (ModuleIdentifier name Regular)
146+ , name' `S.member` names = Just (ModuleIdentifier name' Regular)
147−checkImportPath _ _ _ = Nothing
147+checkImportPath _ _ _ _ = Nothing
148
148
149-- | Compute the dependencies of all elements in a module, and add them to the tree.
149-- | Compute the dependencies of all elements in a module, and add them to the tree.
150--
150--
@@ -210,9 +210,9 @@ withDeps (Module modulePath es) = Module modulePath (map expandDeps es)
210--
210--
211-- Each type of module element is matched using pattern guards, and everything else is bundled into the
211-- Each type of module element is matched using pattern guards, and everything else is bundled into the
212-- Other constructor.
212-- Other constructor.
213−toModule :: forall m. (Applicative m, MonadError ErrorMessage m) => S.Set String -> ModuleIdentifier -> JSNode -> m Module
213+toModule :: forall m. (Applicative m, MonadError ErrorMessage m) => Maybe FilePath -> S.Set String -> ModuleIdentifier -> JSNode -> m Module
214−toModule mids mid top
214+toModule requirePath mids mid top
215− | JSSourceElementsTop ns <- node top = Module mid <$> mapM toModuleElement ns
215+ | JSSourceElementsTop ns <- node top = Module mid <$> traverse toModuleElement ns
216 | otherwise = err InvalidTopLevel
216 | otherwise = err InvalidTopLevel
217 where
217 where
218 err = throwError . ErrorInModule mid
218 err = throwError . ErrorInModule mid
@@ -227,7 +227,7 @@ toModule mids mid top
227 , JSIdentifier "require" <- node req
227 , JSIdentifier "require" <- node req
228 , JSArguments _ [ impS ] _ <- node impP
228 , JSArguments _ [ impS ] _ <- node impP
229 , JSStringLiteral _ importPath <- node impS
229 , JSStringLiteral _ importPath <- node impS
230− , Just importPath' <- checkImportPath importPath mid mids
230+ , Just importPath' <- checkImportPath requirePath importPath mid mids
231 = pure (Require n importName importPath')
231 = pure (Require n importName importPath')
232 toModuleElement n
232 toModuleElement n
233 | JSVariables var [ varIntro ] _ <- node n
233 | JSVariables var [ varIntro ] _ <- node n
@@ -262,7 +262,7 @@ toModule mids mid top
262 , JSOperator eq <- node op
262 , JSOperator eq <- node op
263 , JSLiteral "=" <- node eq
263 , JSLiteral "=" <- node eq
264 , JSObjectLiteral _ props _ <- node obj
264 , JSObjectLiteral _ props _ <- node obj
265− = ExportsList <$> mapM toExport (filter (not . isSeparator) (map node props))
265+ = ExportsList <$> traverse toExport (filter (not . isSeparator) (map node props))
266 where
266 where
267 toExport :: Node -> m (ExportType, String, JSNode, [Key])
267 toExport :: Node -> m (ExportType, String, JSNode, [Key])
268 toExport (JSPropertyNameandValue name _ [val] ) =
268 toExport (JSPropertyNameandValue name _ [val] ) =
@@ -536,15 +536,16 @@ bundle :: forall m. (Applicative m, MonadError ErrorMessage m)
536 -> [ModuleIdentifier] -- ^ Entry points. These module identifiers are used as the roots for dead-code elimination
536 -> [ModuleIdentifier] -- ^ Entry points. These module identifiers are used as the roots for dead-code elimination
537 -> Maybe String -- ^ An optional main module.
537 -> Maybe String -- ^ An optional main module.
538 -> String -- ^ The namespace (e.g. PS).
538 -> String -- ^ The namespace (e.g. PS).
539+ -> Maybe FilePath -- ^ The require path prefix
539 -> m String
540 -> m String
540−bundle inputStrs entryPoints mainModule namespace = do
541+bundle inputStrs entryPoints mainModule namespace requirePath = do
541 input <- forM inputStrs $ \(ident, js) -> do
542 input <- forM inputStrs $ \(ident, js) -> do
542 ast <- either (throwError . ErrorInModule ident . UnableToParseModule) pure $ parse js (moduleName ident)
543 ast <- either (throwError . ErrorInModule ident . UnableToParseModule) pure $ parse js (moduleName ident)
543 return (ident, ast)
544 return (ident, ast)
544
545
545 let mids = S.fromList (map (moduleName . fst) input)
546 let mids = S.fromList (map (moduleName . fst) input)
546
547
547− modules <- mapM (fmap withDeps . uncurry (toModule mids)) input
548+ modules <- traverse (fmap withDeps . uncurry (toModule requirePath mids)) input
548
549
549 let compiled = compile modules entryPoints
550 let compiled = compile modules entryPoints
550 sorted = sortModules (filter (not . isModuleEmpty) compiled)
551 sorted = sortModules (filter (not . isModuleEmpty) compiled)
src/Language/PureScript/CodeGen/JS.hs+3−4
@@ -17,7 +17,6 @@
17{-# LANGUAGE ViewPatterns #-}
17{-# LANGUAGE ViewPatterns #-}
18{-# LANGUAGE FlexibleContexts #-}
18{-# LANGUAGE FlexibleContexts #-}
19{-# LANGUAGE ScopedTypeVariables #-}
19{-# LANGUAGE ScopedTypeVariables #-}
20−{-# LANGUAGE CPP #-}
21
20
22module Language.PureScript.CodeGen.JS
21module Language.PureScript.CodeGen.JS
23 ( module AST
22 ( module AST
@@ -26,13 +25,13 @@ module Language.PureScript.CodeGen.JS
26 , mainCall
25 , mainCall
27 ) where
26 ) where
28
27
28+import Prelude ()
29+import Prelude.Compat
30+
29import Data.List ((\\), delete, intersect)
31import Data.List ((\\), delete, intersect)
30import Data.Maybe (isNothing)
32import Data.Maybe (isNothing)
31import qualified Data.Traversable as T (traverse)
33import qualified Data.Traversable as T (traverse)
32
34
33−#if __GLASGOW_HASKELL__ < 710
34−import Control.Applicative
35−#endif
36import Control.Arrow ((&&&))
35import Control.Arrow ((&&&))
37import Control.Monad (replicateM, forM)
36import Control.Monad (replicateM, forM)
38import Control.Monad.Reader (MonadReader, asks)
37import Control.Monad.Reader (MonadReader, asks)
src/Language/PureScript/CodeGen/JS/AST.hs+3−7
@@ -14,18 +14,14 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16{-# LANGUAGE DeriveDataTypeable #-}
16{-# LANGUAGE DeriveDataTypeable #-}
17−{-# LANGUAGE CPP #-}
18
17
19module Language.PureScript.CodeGen.JS.AST where
18module Language.PureScript.CodeGen.JS.AST where
20
19
21−#if __GLASGOW_HASKELL__ < 710
20+import Prelude ()
22−import Control.Applicative (Applicative, (<$>), (<*>))
21+import Prelude.Compat
23−#endif
22+
24import Control.Monad.Identity
23import Control.Monad.Identity
25import Data.Data
24import Data.Data
26−#if __GLASGOW_HASKELL__ < 710
27−import Data.Traversable (traverse)
28−#endif
29
25
30import Language.PureScript.Comments
26import Language.PureScript.Comments
31import Language.PureScript.Traversals
27import Language.PureScript.Traversals
src/Language/PureScript/CodeGen/JS/Optimizer.hs+3−4
@@ -32,15 +32,14 @@
32-----------------------------------------------------------------------------
32-----------------------------------------------------------------------------
33
33
34{-# LANGUAGE FlexibleContexts #-}
34{-# LANGUAGE FlexibleContexts #-}
35−{-# LANGUAGE CPP #-}
36
35
37module Language.PureScript.CodeGen.JS.Optimizer (
36module Language.PureScript.CodeGen.JS.Optimizer (
38 optimize
37 optimize
39) where
38) where
40
39
41−#if __GLASGOW_HASKELL__ < 710
40+import Prelude ()
42−import Control.Applicative (Applicative)
41+import Prelude.Compat
43−#endif
42+
44import Control.Monad.Reader (MonadReader, ask, asks)
43import Control.Monad.Reader (MonadReader, ask, asks)
45import Control.Monad.Supply.Class (MonadSupply)
44import Control.Monad.Supply.Class (MonadSupply)
46
45
src/Language/PureScript/CodeGen/JS/Optimizer/Inliner.hs+3−5
@@ -13,8 +13,6 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Language.PureScript.CodeGen.JS.Optimizer.Inliner (
16module Language.PureScript.CodeGen.JS.Optimizer.Inliner (
19 inlineVariables,
17 inlineVariables,
20 inlineValues,
18 inlineValues,
@@ -26,9 +24,9 @@ module Language.PureScript.CodeGen.JS.Optimizer.Inliner (
26 evaluateIifes
24 evaluateIifes
27) where
25) where
28
26
29−#if __GLASGOW_HASKELL__ < 710
27+import Prelude ()
30−import Control.Applicative (Applicative)
28+import Prelude.Compat
31−#endif
29+
32import Control.Monad.Supply.Class (MonadSupply, freshName)
30import Control.Monad.Supply.Class (MonadSupply, freshName)
33import Data.Maybe (fromMaybe)
31import Data.Maybe (fromMaybe)
34
32
src/Language/PureScript/Docs/ParseAndDesugar.hs+6−7
@@ -1,17 +1,16 @@
1{-# LANGUAGE TupleSections #-}
1{-# LANGUAGE TupleSections #-}
2−{-# LANGUAGE CPP #-}
3
2
4module Language.PureScript.Docs.ParseAndDesugar
3module Language.PureScript.Docs.ParseAndDesugar
5 ( parseAndDesugar
4 ( parseAndDesugar
6 , ParseDesugarError(..)
5 , ParseDesugarError(..)
7 ) where
6 ) where
8
7
8+import Prelude ()
9+import Prelude.Compat
10+
9import qualified Data.Map as M
11import qualified Data.Map as M
10import Control.Arrow (first)
12import Control.Arrow (first)
11import Control.Monad
13import Control.Monad
12−#if __GLASGOW_HASKELL__ < 710
13−import Control.Applicative
14−#endif
15
14
16import Control.Monad.Trans.Except
15import Control.Monad.Trans.Except
17import Control.Monad.Writer.Strict (runWriterT)
16import Control.Monad.Writer.Strict (runWriterT)
@@ -53,8 +52,8 @@ parseAndDesugar ::
53 -> ([Bookmark] -> [P.Module] -> IO a)
52 -> ([Bookmark] -> [P.Module] -> IO a)
54 -> IO (Either ParseDesugarError a)
53 -> IO (Either ParseDesugarError a)
55parseAndDesugar inputFiles depsFiles callback = do
54parseAndDesugar inputFiles depsFiles callback = do
56− inputFiles' <- mapM (parseAs Local) inputFiles
55+ inputFiles' <- traverse (parseAs Local) inputFiles
57− depsFiles' <- mapM (\(pkgName, f) -> parseAs (FromDep pkgName) f) depsFiles
56+ depsFiles' <- traverse (\(pkgName, f) -> parseAs (FromDep pkgName) f) depsFiles
58
57
59 runExceptT $ do
58 runExceptT $ do
60 ms <- parseFiles (inputFiles' ++ depsFiles')
59 ms <- parseFiles (inputFiles' ++ depsFiles')
@@ -122,7 +121,7 @@ desugar :: [P.Module] -> Either P.MultipleErrors [P.Module]
122desugar = P.evalSupplyT 0 . desugar'
121desugar = P.evalSupplyT 0 . desugar'
123 where
122 where
124 desugar' :: [P.Module] -> P.SupplyT (Either P.MultipleErrors) [P.Module]
123 desugar' :: [P.Module] -> P.SupplyT (Either P.MultipleErrors) [P.Module]
125− desugar' = mapM P.desugarDoModule >=> P.desugarCasesModule >=> ignoreWarnings . P.desugarImports []
124+ desugar' = traverse P.desugarDoModule >=> P.desugarCasesModule >=> ignoreWarnings . P.desugarImports []
126 ignoreWarnings m = liftM fst (runWriterT m)
125 ignoreWarnings m = liftM fst (runWriterT m)
127
126
128parseFile :: FilePath -> IO (FilePath, String)
127parseFile :: FilePath -> IO (FilePath, String)
src/Language/PureScript/Docs/RenderedCode/Render.hs+3−6
@@ -1,5 +1,3 @@
1−{-# LANGUAGE CPP #-}
2−
3-- | Functions for producing RenderedCode values from PureScript Type values.
1-- | Functions for producing RenderedCode values from PureScript Type values.
4
2
5module Language.PureScript.Docs.RenderedCode.Render (
3module Language.PureScript.Docs.RenderedCode.Render (
@@ -11,12 +9,11 @@ module Language.PureScript.Docs.RenderedCode.Render (
11 defaultRenderTypeOptions,
9 defaultRenderTypeOptions,
12 renderTypeWithOptions
10 renderTypeWithOptions
13) where
11) where
12+
13+import Prelude ()
14+import Prelude.Compat
14
15
15−#if __GLASGOW_HASKELL__ < 710
16−import Data.Monoid ((<>), mconcat, mempty)
17−#else
18import Data.Monoid ((<>))
16import Data.Monoid ((<>))
19−#endif
20import Data.Maybe (fromMaybe)
17import Data.Maybe (fromMaybe)
21
18
22import Control.Arrow ((<+>))
19import Control.Arrow ((<+>))
src/Language/PureScript/Docs/RenderedCode/Types.hs+3−6
@@ -1,6 +1,5 @@
1{-# LANGUAGE GeneralizedNewtypeDeriving #-}
1{-# LANGUAGE GeneralizedNewtypeDeriving #-}
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
3−{-# LANGUAGE CPP #-}
4
3
5-- | Data types and functions for representing a simplified form of PureScript
4-- | Data types and functions for representing a simplified form of PureScript
6-- code, intended for use in e.g. HTML documentation.
5-- code, intended for use in e.g. HTML documentation.
@@ -31,11 +30,9 @@ module Language.PureScript.Docs.RenderedCode.Types
31 , keywordWhere
30 , keywordWhere
32 ) where
31 ) where
33
32
34−#if __GLASGOW_HASKELL__ < 710
33+import Prelude ()
35−import Control.Applicative ((<$>), (<*>), (*>), pure)
34+import Prelude.Compat
36−import Data.Foldable
35+
37−import Data.Monoid
38−#endif
39import qualified Data.Aeson as A
36import qualified Data.Aeson as A
40import Data.Aeson.BetterErrors
37import Data.Aeson.BetterErrors
41import Control.Monad.Error.Class (MonadError(..))
38import Control.Monad.Error.Class (MonadError(..))
src/Language/PureScript/Docs/Types.hs+3−4
@@ -2,7 +2,6 @@
2{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE TupleSections #-}
3{-# LANGUAGE TupleSections #-}
4{-# LANGUAGE RankNTypes #-}
4{-# LANGUAGE RankNTypes #-}
5−{-# LANGUAGE CPP #-}
6
5
7module Language.PureScript.Docs.Types
6module Language.PureScript.Docs.Types
8 ( module Language.PureScript.Docs.Types
7 ( module Language.PureScript.Docs.Types
@@ -10,10 +9,10 @@ module Language.PureScript.Docs.Types
10 )
9 )
11 where
10 where
12
11
12+import Prelude ()
13+import Prelude.Compat
14+
13import Control.Arrow (first, (***))
15import Control.Arrow (first, (***))
14−#if __GLASGOW_HASKELL__ < 710
15−import Control.Applicative ((<$>), (<$), (<*>), pure)
16−#endif
17import Control.Monad (when)
16import Control.Monad (when)
18import Data.Maybe (mapMaybe)
17import Data.Maybe (mapMaybe)
19import Data.Version
18import Data.Version
src/Language/PureScript/Errors.hs+3−9
@@ -15,19 +15,16 @@
15{-# LANGUAGE GeneralizedNewtypeDeriving #-}
15{-# LANGUAGE GeneralizedNewtypeDeriving #-}
16{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
18−{-# LANGUAGE CPP #-}
19
18
20module Language.PureScript.Errors where
19module Language.PureScript.Errors where
21
20
21+import Prelude ()
22+import Prelude.Compat
23+
22import Data.Either (lefts, rights)
24import Data.Either (lefts, rights)
23import Data.List (intercalate, transpose, nub, nubBy)
25import Data.List (intercalate, transpose, nub, nubBy)
24import Data.Function (on)
26import Data.Function (on)
25−#if __GLASGOW_HASKELL__ < 710
26−import Data.Foldable (fold, foldMap)
27−import Data.Traversable (traverse)
28−#else
29import Data.Foldable (fold)
27import Data.Foldable (fold)
30−#endif
31
28
32import qualified Data.Map as M
29import qualified Data.Map as M
33
30
@@ -35,9 +32,6 @@ import Control.Monad
35import Control.Monad.Unify
32import Control.Monad.Unify
36import Control.Monad.Writer
33import Control.Monad.Writer
37import Control.Monad.Error.Class (MonadError(..))
34import Control.Monad.Error.Class (MonadError(..))
38−#if __GLASGOW_HASKELL__ < 710
39−import Control.Applicative ((<$>), (<*>), Applicative, pure)
40−#endif
41import Control.Monad.Trans.State.Lazy
35import Control.Monad.Trans.State.Lazy
42import Control.Arrow(first)
36import Control.Arrow(first)
43
37
src/Language/PureScript/Externs.hs+3−4
@@ -13,7 +13,6 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17{-# LANGUAGE RecordWildCards #-}
16{-# LANGUAGE RecordWildCards #-}
18{-# LANGUAGE PatternGuards #-}
17{-# LANGUAGE PatternGuards #-}
19{-# LANGUAGE TemplateHaskell #-}
18{-# LANGUAGE TemplateHaskell #-}
@@ -27,13 +26,13 @@ module Language.PureScript.Externs
27 , applyExternsFileToEnvironment
26 , applyExternsFileToEnvironment
28 ) where
27 ) where
29
28
29+import Prelude ()
30+import Prelude.Compat
31+
30import Data.List (find, foldl')
32import Data.List (find, foldl')
31import Data.Maybe (mapMaybe, maybeToList, fromMaybe)
33import Data.Maybe (mapMaybe, maybeToList, fromMaybe)
32import Data.Foldable (fold)
34import Data.Foldable (fold)
33import Data.Version (showVersion)
35import Data.Version (showVersion)
34−#if __GLASGOW_HASKELL__ < 710
35−import Data.Monoid
36−#endif
37import Data.Aeson.TH
36import Data.Aeson.TH
38
37
39import qualified Data.Map as M
38import qualified Data.Map as M
src/Language/PureScript/Kinds.hs+3−4
@@ -14,16 +14,15 @@
14
14
15{-# LANGUAGE DeriveDataTypeable #-}
15{-# LANGUAGE DeriveDataTypeable #-}
16{-# LANGUAGE TemplateHaskell #-}
16{-# LANGUAGE TemplateHaskell #-}
17−{-# LANGUAGE CPP #-}
18
17
19module Language.PureScript.Kinds where
18module Language.PureScript.Kinds where
20
19
20+import Prelude ()
21+import Prelude.Compat
22+
21import Data.Data
23import Data.Data
22import qualified Data.Aeson.TH as A
24import qualified Data.Aeson.TH as A
23
25
24−#if __GLASGOW_HASKELL__ < 710
25−import Control.Applicative
26−#endif
27import Control.Monad.Unify (Unknown)
26import Control.Monad.Unify (Unknown)
28
27
29-- |
28-- |
src/Language/PureScript/Linter.hs+3−4
@@ -15,19 +15,18 @@
15{-# LANGUAGE GeneralizedNewtypeDeriving #-}
15{-# LANGUAGE GeneralizedNewtypeDeriving #-}
16{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE ScopedTypeVariables #-}
17{-# LANGUAGE ScopedTypeVariables #-}
18−{-# LANGUAGE CPP #-}
19
18
20module Language.PureScript.Linter (lint, module L) where
19module Language.PureScript.Linter (lint, module L) where
21
20
21+import Prelude ()
22+import Prelude.Compat
23+
22import Data.List (mapAccumL, nub, (\\))
24import Data.List (mapAccumL, nub, (\\))
23import Data.Maybe (mapMaybe)
25import Data.Maybe (mapMaybe)
24import Data.Monoid
26import Data.Monoid
25
27
26import qualified Data.Set as S
28import qualified Data.Set as S
27
29
28−#if __GLASGOW_HASKELL__ < 710
29−import Control.Applicative
30−#endif
31import Control.Monad.Writer.Class
30import Control.Monad.Writer.Class
32
31
33import Language.PureScript.Crash
32import Language.PureScript.Crash
src/Language/PureScript/Linter/Exhaustive.hs+3−4
@@ -18,20 +18,19 @@
18
18
19{-# LANGUAGE FlexibleContexts #-}
19{-# LANGUAGE FlexibleContexts #-}
20{-# LANGUAGE ScopedTypeVariables #-}
20{-# LANGUAGE ScopedTypeVariables #-}
21−{-# LANGUAGE CPP #-}
22
21
23module Language.PureScript.Linter.Exhaustive
22module Language.PureScript.Linter.Exhaustive
24 ( checkExhaustive
23 ( checkExhaustive
25 , checkExhaustiveModule
24 , checkExhaustiveModule
26 ) where
25 ) where
27
26
27+import Prelude ()
28+import Prelude.Compat
29+
28import qualified Data.Map as M
30import qualified Data.Map as M
29import Data.Maybe (fromMaybe)
31import Data.Maybe (fromMaybe)
30import Data.List (foldl', sortBy, nub)
32import Data.List (foldl', sortBy, nub)
31import Data.Function (on)
33import Data.Function (on)
32−#if __GLASGOW_HASKELL__ < 710
33−import Data.Traversable (sequenceA)
34−#endif
35
34
36import Control.Monad (unless)
35import Control.Monad (unless)
37import Control.Applicative
36import Control.Applicative
src/Language/PureScript/Linter/Imports.hs+3−4
@@ -1,18 +1,17 @@
1{-# LANGUAGE ScopedTypeVariables #-}
1{-# LANGUAGE ScopedTypeVariables #-}
2{-# LANGUAGE FlexibleContexts #-}
2{-# LANGUAGE FlexibleContexts #-}
3−{-# LANGUAGE CPP #-}
4
3
5module Language.PureScript.Linter.Imports (findUnusedImports, Name(..), UsedImports()) where
4module Language.PureScript.Linter.Imports (findUnusedImports, Name(..), UsedImports()) where
6
5
6+import Prelude ()
7+import Prelude.Compat
8+
7import qualified Data.Map as M
9import qualified Data.Map as M
8import Data.Maybe (mapMaybe)
10import Data.Maybe (mapMaybe)
9import Data.List ((\\), find)
11import Data.List ((\\), find)
10import Control.Monad.Error.Class (MonadError(..))
12import Control.Monad.Error.Class (MonadError(..))
11import Control.Monad.Writer.Class
13import Control.Monad.Writer.Class
12import Control.Monad(unless,when)
14import Control.Monad(unless,when)
13−#if __GLASGOW_HASKELL__ < 710
14−import Control.Applicative
15−#endif
16import Data.Foldable (forM_)
15import Data.Foldable (forM_)
17
16
18import Language.PureScript.AST.Declarations
17import Language.PureScript.AST.Declarations
src/Language/PureScript/Make.hs+9−12
@@ -21,7 +21,6 @@
21{-# LANGUAGE ScopedTypeVariables #-}
21{-# LANGUAGE ScopedTypeVariables #-}
22{-# LANGUAGE MultiParamTypeClasses #-}
22{-# LANGUAGE MultiParamTypeClasses #-}
23{-# LANGUAGE TypeFamilies #-}
23{-# LANGUAGE TypeFamilies #-}
24−{-# LANGUAGE CPP #-}
25
24
26module Language.PureScript.Make
25module Language.PureScript.Make
27 (
26 (
@@ -38,14 +37,16 @@ module Language.PureScript.Make
38 , buildMakeActions
37 , buildMakeActions
39 ) where
38 ) where
40
39
41−#if __GLASGOW_HASKELL__ < 710
40+import Prelude ()
42−import Control.Applicative
41+import Prelude.Compat
43−#endif
42+
44−import Control.Monad
43+import Control.Monad hiding (sequence)
45import Control.Monad.Error.Class (MonadError(..))
44import Control.Monad.Error.Class (MonadError(..))
46import Control.Monad.Writer.Class (MonadWriter(..))
45import Control.Monad.Writer.Class (MonadWriter(..))
46+import Control.Monad.Trans.Class (MonadTrans(..))
47import Control.Monad.Trans.Except
47import Control.Monad.Trans.Except
48−import Control.Monad.Reader
48+import Control.Monad.IO.Class
49+import Control.Monad.Reader (MonadReader(..), ReaderT(..))
49import Control.Monad.Logger
50import Control.Monad.Logger
50import Control.Monad.Supply
51import Control.Monad.Supply
51import Control.Monad.Base (MonadBase(..))
52import Control.Monad.Base (MonadBase(..))
@@ -58,10 +59,6 @@ import Data.Maybe (fromMaybe, catMaybes)
58import Data.Time.Clock
59import Data.Time.Clock
59import Data.String (fromString)
60import Data.String (fromString)
60import Data.Foldable (for_)
61import Data.Foldable (for_)
61−#if __GLASGOW_HASKELL__ < 710
62−import Data.Monoid (mempty, mconcat)
63−import Data.Traversable (traverse)
64−#endif
65import Data.Traversable (for)
62import Data.Traversable (for)
66import Data.Version (showVersion)
63import Data.Version (showVersion)
67import Data.Aeson (encode, decode)
64import Data.Aeson (encode, decode)
@@ -207,12 +204,12 @@ make MakeActions{..} ms = do
207 -- We need to wait for dependencies to be built, before checking if the current
204 -- We need to wait for dependencies to be built, before checking if the current
208 -- module should be rebuilt, so the first thing to do is to wait on the
205 -- module should be rebuilt, so the first thing to do is to wait on the
209 -- MVars for the module's dependencies.
206 -- MVars for the module's dependencies.
210− mexterns <- fmap unzip . sequence <$> mapM (readMVar . fst . fromMaybe (internalError "make: no barrier") . flip lookup barriers) deps
207+ mexterns <- fmap unzip . sequence <$> traverse (readMVar . fst . fromMaybe (internalError "make: no barrier") . flip lookup barriers) deps
211
208
212 case mexterns of
209 case mexterns of
213 Just (_, externs) -> do
210 Just (_, externs) -> do
214 outputTimestamp <- getOutputTimestamp moduleName
211 outputTimestamp <- getOutputTimestamp moduleName
215− dependencyTimestamp <- maximumMaybe <$> mapM (fmap shouldExist . getOutputTimestamp) deps
212+ dependencyTimestamp <- maximumMaybe <$> traverse (fmap shouldExist . getOutputTimestamp) deps
216 inputTimestamp <- getInputTimestamp moduleName
213 inputTimestamp <- getInputTimestamp moduleName
217
214
218 let shouldRebuild = case (inputTimestamp, dependencyTimestamp, outputTimestamp) of
215 let shouldRebuild = case (inputTimestamp, dependencyTimestamp, outputTimestamp) of
src/Language/PureScript/Parser/Declarations.hs+19−13
@@ -37,6 +37,7 @@ import Data.Maybe (fromMaybe)
37import Control.Applicative
37import Control.Applicative
38import Control.Arrow ((+++))
38import Control.Arrow ((+++))
39import Control.Monad.Error.Class (MonadError(..))
39import Control.Monad.Error.Class (MonadError(..))
40+import Control.Parallel.Strategies (withStrategy, parList, rseq)
40
41
41import Language.PureScript.AST
42import Language.PureScript.AST
42import Language.PureScript.Comments
43import Language.PureScript.Comments
@@ -274,23 +275,26 @@ parseModule = do
274 let ss = SourceSpan (P.sourceName start) (toSourcePos start) (toSourcePos end)
275 let ss = SourceSpan (P.sourceName start) (toSourcePos start) (toSourcePos end)
275 return $ Module ss comments name decls exports
276 return $ Module ss comments name decls exports
276
277
277−-- |
278−-- Parse a collection of modules
278+-- | Parse a collection of modules in parallel
279−--
280parseModulesFromFiles :: forall m k. (MonadError MultipleErrors m, Functor m) =>
279parseModulesFromFiles :: forall m k. (MonadError MultipleErrors m, Functor m) =>
281 (k -> FilePath) -> [(k, String)] -> m [(k, Module)]
280 (k -> FilePath) -> [(k, String)] -> m [(k, Module)]
282parseModulesFromFiles toFilePath input = do
281parseModulesFromFiles toFilePath input = do
283− modules <- parU input $ \(k, content) -> do
282+ modules <- flip parU id $ map wrapError $ inParallel $ flip map input $ \(k, content) -> do
284 let filename = toFilePath k
283 let filename = toFilePath k
285− ts <- wrapError $ lex filename content
284+ ts <- lex filename content
286− ms <- wrapError $ runTokenParser filename parseModules ts
285+ ms <- runTokenParser filename parseModules ts
287 return (k, ms)
286 return (k, ms)
288 return $ collect modules
287 return $ collect modules
289 where
288 where
290− wrapError :: Either P.ParseError a -> m a
291− wrapError = either (throwError . MultipleErrors . pure . toPositionedError) return
292 collect :: [(k, [v])] -> [(k, v)]
289 collect :: [(k, [v])] -> [(k, v)]
293 collect vss = [ (k, v) | (k, vs) <- vss, v <- vs ]
290 collect vss = [ (k, v) | (k, vs) <- vss, v <- vs ]
291+ wrapError :: Either P.ParseError a -> m a
292+ wrapError = either (throwError . MultipleErrors . pure . toPositionedError) return
293+ -- It is enough to force each parse result to WHNF, since success or failure can't be
294+ -- determined until the end of the file, so this effectively distributes parsing of each file
295+ -- to a different spark.
296+ inParallel :: [Either P.ParseError (k, [Module])] -> [Either P.ParseError (k, [Module])]
297+ inParallel = withStrategy (parList rseq)
294
298
295toPositionedError :: P.ParseError -> ErrorMessage
299toPositionedError :: P.ParseError -> ErrorMessage
296toPositionedError perr = ErrorMessage [ PositionedError (SourceSpan name start end) ] (ErrorParsingModule perr)
300toPositionedError perr = ErrorMessage [ PositionedError (SourceSpan name start end) ] (ErrorParsingModule perr)
@@ -513,11 +517,13 @@ parseNullBinder :: TokenParser Binder
513parseNullBinder = underscore *> return NullBinder
517parseNullBinder = underscore *> return NullBinder
514
518
515parseIdentifierAndBinder :: TokenParser (String, Binder)
519parseIdentifierAndBinder :: TokenParser (String, Binder)
516−parseIdentifierAndBinder = do
520+parseIdentifierAndBinder =
521+ do name <- lname
522+ b <- P.option (VarBinder (Ident name)) rest
523+ return (name, b)
517− name <- lname <|> stringLiteral
524+ <|> (,) <$> stringLiteral <*> rest
525+ where
518− C.indented *> (equals <|> colon)
526+ rest = C.indented *> (equals <|> colon) *> C.indented *> parseBinder
519− binder <- C.indented *> parseBinder
520− return (name, binder)
521
527
522-- |
528-- |
523-- Parse a binder
529-- Parse a binder
src/Language/PureScript/Parser/JS.hs+3−5
@@ -13,16 +13,15 @@
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15{-# LANGUAGE FlexibleContexts #-}
15{-# LANGUAGE FlexibleContexts #-}
16−{-# LANGUAGE CPP #-}
17
16
18module Language.PureScript.Parser.JS
17module Language.PureScript.Parser.JS
19 ( ForeignJS()
18 ( ForeignJS()
20 , parseForeignModulesFromFiles
19 , parseForeignModulesFromFiles
21 ) where
20 ) where
22
21
23−#if __GLASGOW_HASKELL__ < 710
22+import Prelude ()
24−import Control.Applicative ((*>), (<*))
23+import Prelude.Compat hiding (lex)
25−#endif
24+
26import Control.Monad (forM_, when, msum)
25import Control.Monad (forM_, when, msum)
27import Control.Monad.Error.Class (MonadError(..))
26import Control.Monad.Error.Class (MonadError(..))
28import Control.Monad.Writer.Class (MonadWriter(..))
27import Control.Monad.Writer.Class (MonadWriter(..))
@@ -32,7 +31,6 @@ import Language.PureScript.Errors
32import Language.PureScript.Names
31import Language.PureScript.Names
33import Language.PureScript.Parser.Common
32import Language.PureScript.Parser.Common
34import Language.PureScript.Parser.Lexer
33import Language.PureScript.Parser.Lexer
35−import Prelude hiding (lex)
36import qualified Data.Map as M
34import qualified Data.Map as M
37import qualified Text.Parsec as PS
35import qualified Text.Parsec as PS
38
36
src/Language/PureScript/Parser/Kinds.hs+3−5
@@ -13,18 +13,16 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Language.PureScript.Parser.Kinds (
16module Language.PureScript.Parser.Kinds (
19 parseKind
17 parseKind
20) where
18) where
21
19
20+import Prelude ()
21+import Prelude.Compat
22+
22import Language.PureScript.Kinds
23import Language.PureScript.Kinds
23import Language.PureScript.Parser.Common
24import Language.PureScript.Parser.Common
24import Language.PureScript.Parser.Lexer
25import Language.PureScript.Parser.Lexer
25−#if __GLASGOW_HASKELL__ < 710
26−import Control.Applicative
27−#endif
28import qualified Text.Parsec as P
26import qualified Text.Parsec as P
29import qualified Text.Parsec.Expr as P
27import qualified Text.Parsec.Expr as P
30
28
src/Language/PureScript/Pretty/JS.hs+6−8
@@ -13,20 +13,18 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Language.PureScript.Pretty.JS (
16module Language.PureScript.Pretty.JS (
19 prettyPrintJS
17 prettyPrintJS
20) where
18) where
21
19
22−import Data.List
20+import Prelude ()
21+import Prelude.Compat
22+
23+import Data.List hiding (concat, concatMap)
23import Data.Maybe (fromMaybe)
24import Data.Maybe (fromMaybe)
24
25
25−#if __GLASGOW_HASKELL__ < 710
26−import Control.Applicative
27−#endif
28import Control.Arrow ((<+>))
26import Control.Arrow ((<+>))
29−import Control.Monad.State
27+import Control.Monad.State hiding (sequence)
30import Control.PatternArrows
28import Control.PatternArrows
31import qualified Control.Arrow as A
29import qualified Control.Arrow as A
32
30
@@ -199,7 +197,7 @@ app :: Pattern PrinterState JS (String, JS)
199app = mkPattern' match
197app = mkPattern' match
200 where
198 where
201 match (JSApp val args) = do
199 match (JSApp val args) = do
202− jss <- mapM prettyPrintJS' args
200+ jss <- traverse prettyPrintJS' args
203 return (intercalate ", " jss, val)
201 return (intercalate ", " jss, val)
204 match _ = mzero
202 match _ = mzero
205
203
src/Language/PureScript/Pretty/Values.hs−2
@@ -13,8 +13,6 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Language.PureScript.Pretty.Values (
16module Language.PureScript.Pretty.Values (
19 prettyPrintValue,
17 prettyPrintValue,
20 prettyPrintBinder,
18 prettyPrintBinder,
src/Language/PureScript/Publish.hs+6−8
@@ -2,7 +2,6 @@
2{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE RecordWildCards #-}
3{-# LANGUAGE TupleSections #-}
3{-# LANGUAGE TupleSections #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5−{-# LANGUAGE CPP #-}
6
5
7module Language.PureScript.Publish
6module Language.PureScript.Publish
8 ( preparePackage
7 ( preparePackage
@@ -19,7 +18,8 @@ module Language.PureScript.Publish
19 , getResolvedDependencies
18 , getResolvedDependencies
20 ) where
19 ) where
21
20
22−import Prelude hiding (userError)
21+import Prelude ()
22+import Prelude.Compat hiding (userError)
23
23
24import Data.Maybe
24import Data.Maybe
25import Data.Char (isSpace)
25import Data.Char (isSpace)
@@ -28,15 +28,13 @@ import Data.List.Split (splitOn)
28import Data.List.NonEmpty (NonEmpty(..))
28import Data.List.NonEmpty (NonEmpty(..))
29import Data.Version
29import Data.Version
30import Data.Function (on)
30import Data.Function (on)
31+import Data.Foldable (traverse_)
31import Safe (headMay)
32import Safe (headMay)
32import Data.Aeson.BetterErrors
33import Data.Aeson.BetterErrors
33import qualified Data.Text as T
34import qualified Data.Text as T
34import qualified Data.Text.Lazy as TL
35import qualified Data.Text.Lazy as TL
35import qualified Data.Text.Lazy.Encoding as TL
36import qualified Data.Text.Lazy.Encoding as TL
36
37
37−#if __GLASGOW_HASKELL__ < 710
38−import Control.Applicative
39−#endif
40import Control.Category ((>>>))
38import Control.Category ((>>>))
41import Control.Arrow ((***))
39import Control.Arrow ((***))
42import Control.Exception (catch, try)
40import Control.Exception (catch, try)
@@ -304,7 +302,7 @@ asDependencyStatus = do
304
302
305warnUndeclared :: [PackageName] -> [PackageName] -> PrepareM ()
303warnUndeclared :: [PackageName] -> [PackageName] -> PrepareM ()
306warnUndeclared declared actual =
304warnUndeclared declared actual =
307− mapM_ (warn . UndeclaredDependency) (actual \\ declared)
305+ traverse_ (warn . UndeclaredDependency) (actual \\ declared)
308
306
309handleDeps ::
307handleDeps ::
310 [(PackageName, DependencyStatus)] -> PrepareM [(PackageName, Version)]
308 [(PackageName, DependencyStatus)] -> PrepareM [(PackageName, Version)]
@@ -314,8 +312,8 @@ handleDeps deps = do
314 (x:xs) ->
312 (x:xs) ->
315 userError (MissingDependencies (x :| xs))
313 userError (MissingDependencies (x :| xs))
316 [] -> do
314 [] -> do
317− mapM_ (warn . NoResolvedVersion) noVersion
315+ traverse_ (warn . NoResolvedVersion) noVersion
318− withVersions <- catMaybes <$> mapM tryExtractVersion' installed
316+ withVersions <- catMaybes <$> traverse tryExtractVersion' installed
319 filterM (liftIO . isPureScript . bowerDir . fst) withVersions
317 filterM (liftIO . isPureScript . bowerDir . fst) withVersions
320
318
321 where
319 where
src/Language/PureScript/Publish/ErrorsWarnings.hs+3−7
@@ -1,6 +1,5 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE RecordWildCards #-}
3−{-# LANGUAGE CPP #-}
4
3
5module Language.PureScript.Publish.ErrorsWarnings
4module Language.PureScript.Publish.ErrorsWarnings
6 ( PackageError(..)
5 ( PackageError(..)
@@ -16,16 +15,13 @@ module Language.PureScript.Publish.ErrorsWarnings
16 , renderWarnings
15 , renderWarnings
17 ) where
16 ) where
18
17
19−#if __GLASGOW_HASKELL__ < 710
18+import Prelude ()
20−import Control.Applicative ((<$>))
19+import Prelude.Compat
21−#endif
20+
22import Data.Aeson.BetterErrors
21import Data.Aeson.BetterErrors
23import Data.Version
22import Data.Version
24import Data.Maybe
23import Data.Maybe
25import Data.Monoid
24import Data.Monoid
26−#if __GLASGOW_HASKELL__ < 710
27−import Data.Foldable (foldMap)
28−#endif
29import Data.List (intersperse, intercalate)
25import Data.List (intersperse, intercalate)
30import Data.List.NonEmpty (NonEmpty(..))
26import Data.List.NonEmpty (NonEmpty(..))
31import qualified Data.List.NonEmpty as NonEmpty
27import qualified Data.List.NonEmpty as NonEmpty
src/Language/PureScript/Renamer.hs+13−14
@@ -16,13 +16,12 @@
16
16
17{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE FlexibleContexts #-}
18{-# LANGUAGE ScopedTypeVariables #-}
18{-# LANGUAGE ScopedTypeVariables #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.Renamer (renameInModules) where
20module Language.PureScript.Renamer (renameInModules) where
22
21
23−#if __GLASGOW_HASKELL__ < 710
22+import Prelude ()
24−import Control.Applicative
23+import Prelude.Compat
25−#endif
24+
26import Control.Monad.State
25import Control.Monad.State
27
26
28import Data.List (find)
27import Data.List (find)
@@ -135,8 +134,8 @@ renameInDecl isTopLevel (NonRec name val) = do
135 name' <- if isTopLevel then return name else updateScope name
134 name' <- if isTopLevel then return name else updateScope name
136 NonRec name' <$> renameInValue val
135 NonRec name' <$> renameInValue val
137renameInDecl isTopLevel (Rec ds) = do
136renameInDecl isTopLevel (Rec ds) = do
138− ds' <- mapM updateNames ds
137+ ds' <- traverse updateNames ds
139− Rec <$> mapM updateValues ds'
138+ Rec <$> traverse updateValues ds'
140 where
139 where
141 updateNames :: (Ident, Expr Ann) -> Rename (Ident, Expr Ann)
140 updateNames :: (Ident, Expr Ann) -> Rename (Ident, Expr Ann)
142 updateNames (name, val) = do
141 updateNames (name, val) = do
@@ -155,7 +154,7 @@ renameInValue c@(Constructor{}) = return c
155renameInValue (Accessor ann prop v) =
154renameInValue (Accessor ann prop v) =
156 Accessor ann prop <$> renameInValue v
155 Accessor ann prop <$> renameInValue v
157renameInValue (ObjectUpdate ann obj vs) =
156renameInValue (ObjectUpdate ann obj vs) =
158− ObjectUpdate ann <$> renameInValue obj <*> mapM (\(name, v) -> (,) name <$> renameInValue v) vs
157+ ObjectUpdate ann <$> renameInValue obj <*> traverse (\(name, v) -> (,) name <$> renameInValue v) vs
159renameInValue e@(Abs (_, _, _, Just IsTypeClassConstructor) _ _) = return e
158renameInValue e@(Abs (_, _, _, Just IsTypeClassConstructor) _ _) = return e
160renameInValue (Abs ann name v) =
159renameInValue (Abs ann name v) =
161 newScope $ Abs ann <$> updateScope name <*> renameInValue v
160 newScope $ Abs ann <$> updateScope name <*> renameInValue v
@@ -165,16 +164,16 @@ renameInValue (Var ann (Qualified Nothing name)) =
165 Var ann . Qualified Nothing <$> lookupIdent name
164 Var ann . Qualified Nothing <$> lookupIdent name
166renameInValue v@(Var{}) = return v
165renameInValue v@(Var{}) = return v
167renameInValue (Case ann vs alts) =
166renameInValue (Case ann vs alts) =
168− newScope $ Case ann <$> mapM renameInValue vs <*> mapM renameInCaseAlternative alts
167+ newScope $ Case ann <$> traverse renameInValue vs <*> traverse renameInCaseAlternative alts
169renameInValue (Let ann ds v) =
168renameInValue (Let ann ds v) =
170− newScope $ Let ann <$> mapM (renameInDecl False) ds <*> renameInValue v
169+ newScope $ Let ann <$> traverse (renameInDecl False) ds <*> renameInValue v
171
170
172-- |
171-- |
173-- Renames within literals.
172-- Renames within literals.
174--
173--
175renameInLiteral :: (a -> Rename a) -> Literal a -> Rename (Literal a)
174renameInLiteral :: (a -> Rename a) -> Literal a -> Rename (Literal a)
176−renameInLiteral rename (ArrayLiteral bs) = ArrayLiteral <$> mapM rename bs
175+renameInLiteral rename (ArrayLiteral bs) = ArrayLiteral <$> traverse rename bs
177−renameInLiteral rename (ObjectLiteral bs) = ObjectLiteral <$> mapM (sndM rename) bs
176+renameInLiteral rename (ObjectLiteral bs) = ObjectLiteral <$> traverse (sndM rename) bs
178renameInLiteral _ l = return l
177renameInLiteral _ l = return l
179
178
180-- |
179-- |
@@ -182,8 +181,8 @@ renameInLiteral _ l = return l
182--
181--
183renameInCaseAlternative :: CaseAlternative Ann -> Rename (CaseAlternative Ann)
182renameInCaseAlternative :: CaseAlternative Ann -> Rename (CaseAlternative Ann)
184renameInCaseAlternative (CaseAlternative bs v) = newScope $
183renameInCaseAlternative (CaseAlternative bs v) = newScope $
185− CaseAlternative <$> mapM renameInBinder bs
184+ CaseAlternative <$> traverse renameInBinder bs
186− <*> eitherM (mapM (pairM renameInValue renameInValue)) renameInValue v
185+ <*> eitherM (traverse (pairM renameInValue renameInValue)) renameInValue v
187
186
188-- |
187-- |
189-- Renames within binders.
188-- Renames within binders.
@@ -195,6 +194,6 @@ renameInBinder (LiteralBinder ann b) =
195renameInBinder (VarBinder ann name) =
194renameInBinder (VarBinder ann name) =
196 VarBinder ann <$> updateScope name
195 VarBinder ann <$> updateScope name
197renameInBinder (ConstructorBinder ann tctor dctor bs) =
196renameInBinder (ConstructorBinder ann tctor dctor bs) =
198− ConstructorBinder ann tctor dctor <$> mapM renameInBinder bs
197+ ConstructorBinder ann tctor dctor <$> traverse renameInBinder bs
199renameInBinder (NamedBinder ann name b) =
198renameInBinder (NamedBinder ann name b) =
200 NamedBinder ann <$> updateScope name <*> renameInBinder b
199 NamedBinder ann <$> updateScope name <*> renameInBinder b
src/Language/PureScript/Sugar.hs+7−8
@@ -14,15 +14,14 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE FlexibleContexts #-}
17−{-# LANGUAGE CPP #-}
18
17
19module Language.PureScript.Sugar (desugar, module S) where
18module Language.PureScript.Sugar (desugar, module S) where
20
19
20+import Prelude ()
21+import Prelude.Compat
22+
21import Control.Monad
23import Control.Monad
22import Control.Category ((>>>))
24import Control.Category ((>>>))
23−#if __GLASGOW_HASKELL__ < 710
24−import Control.Applicative
25−#endif
26import Control.Monad.Error.Class (MonadError())
25import Control.Monad.Error.Class (MonadError())
27import Control.Monad.Writer.Class (MonadWriter())
26import Control.Monad.Writer.Class (MonadWriter())
28import Control.Monad.Supply.Class
27import Control.Monad.Supply.Class
@@ -67,13 +66,13 @@ import Language.PureScript.Sugar.TypeDeclarations as S
67desugar :: (Applicative m, MonadSupply m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => [ExternsFile] -> [Module] -> m [Module]
66desugar :: (Applicative m, MonadSupply m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => [ExternsFile] -> [Module] -> m [Module]
68desugar externs =
67desugar externs =
69 map removeSignedLiterals
68 map removeSignedLiterals
70− >>> mapM desugarObjectConstructors
69+ >>> traverse desugarObjectConstructors
71− >=> mapM desugarOperatorSections
70+ >=> traverse desugarOperatorSections
72− >=> mapM desugarDoModule
71+ >=> traverse desugarDoModule
73 >=> desugarCasesModule
72 >=> desugarCasesModule
74 >=> desugarTypeDeclarationsModule
73 >=> desugarTypeDeclarationsModule
75 >=> desugarImports externs
74 >=> desugarImports externs
76 >=> rebracket externs
75 >=> rebracket externs
77− >=> mapM deriveInstances
76+ >=> traverse deriveInstances
78 >=> desugarTypeClasses externs
77 >=> desugarTypeClasses externs
79 >=> createBindingGroupsModule
78 >=> createBindingGroupsModule
src/Language/PureScript/Sugar/BindingGroups.hs+3−5
@@ -15,7 +15,6 @@
15-----------------------------------------------------------------------------
15-----------------------------------------------------------------------------
16
16
17{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE FlexibleContexts #-}
18−{-# LANGUAGE CPP #-}
19{-# LANGUAGE ScopedTypeVariables #-}
18{-# LANGUAGE ScopedTypeVariables #-}
20
19
21module Language.PureScript.Sugar.BindingGroups (
20module Language.PureScript.Sugar.BindingGroups (
@@ -25,13 +24,12 @@ module Language.PureScript.Sugar.BindingGroups (
25 collapseBindingGroupsModule
24 collapseBindingGroupsModule
26) where
25) where
27
26
27+import Prelude ()
28+import Prelude.Compat
29+
28import Data.Graph
30import Data.Graph
29import Data.List (nub, intersect)
31import Data.List (nub, intersect)
30import Data.Maybe (isJust, mapMaybe)
32import Data.Maybe (isJust, mapMaybe)
31−#if __GLASGOW_HASKELL__ < 710
32−import Data.Foldable (foldMap)
33−import Control.Applicative
34−#endif
35import Control.Monad ((<=<))
33import Control.Monad ((<=<))
36import Control.Monad.Error.Class (MonadError(..))
34import Control.Monad.Error.Class (MonadError(..))
37
35
src/Language/PureScript/Sugar/CaseDeclarations.hs+3−4
@@ -16,20 +16,19 @@
16
16
17{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE FlexibleContexts #-}
18{-# LANGUAGE ScopedTypeVariables #-}
18{-# LANGUAGE ScopedTypeVariables #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.Sugar.CaseDeclarations (
20module Language.PureScript.Sugar.CaseDeclarations (
22 desugarCases,
21 desugarCases,
23 desugarCasesModule
22 desugarCasesModule
24) where
23) where
25
24
25+import Prelude ()
26+import Prelude.Compat
27+
26import Language.PureScript.Crash
28import Language.PureScript.Crash
27import Data.Maybe (catMaybes)
29import Data.Maybe (catMaybes)
28import Data.List (nub, groupBy)
30import Data.List (nub, groupBy)
29
31
30−#if __GLASGOW_HASKELL__ < 710
31−import Control.Applicative
32−#endif
33import Control.Monad ((<=<), forM, replicateM, join, unless)
32import Control.Monad ((<=<), forM, replicateM, join, unless)
34import Control.Monad.Error.Class (MonadError(..))
33import Control.Monad.Error.Class (MonadError(..))
35import Control.Monad.Supply.Class
34import Control.Monad.Supply.Class
src/Language/PureScript/Sugar/DoNotation.hs+3−4
@@ -16,12 +16,14 @@
16
16
17{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE FlexibleContexts #-}
18{-# LANGUAGE ScopedTypeVariables #-}
18{-# LANGUAGE ScopedTypeVariables #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.Sugar.DoNotation (
20module Language.PureScript.Sugar.DoNotation (
22 desugarDoModule
21 desugarDoModule
23) where
22) where
24
23
24+import Prelude ()
25+import Prelude.Compat
26+
25import Language.PureScript.Crash
27import Language.PureScript.Crash
26import Language.PureScript.Names
28import Language.PureScript.Names
27import Language.PureScript.AST
29import Language.PureScript.AST
@@ -29,9 +31,6 @@ import Language.PureScript.Errors
29
31
30import qualified Language.PureScript.Constants as C
32import qualified Language.PureScript.Constants as C
31
33
32−#if __GLASGOW_HASKELL__ < 710
33−import Control.Applicative
34−#endif
35import Control.Monad.Error.Class (MonadError(..))
34import Control.Monad.Error.Class (MonadError(..))
36import Control.Monad.Supply.Class
35import Control.Monad.Supply.Class
37
36
src/Language/PureScript/Sugar/Names.hs+7−9
@@ -11,20 +11,18 @@
11--
11--
12-----------------------------------------------------------------------------
12-----------------------------------------------------------------------------
13
13
14−{-# LANGUAGE CPP #-}
15{-# LANGUAGE FlexibleContexts #-}
14{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE RecordWildCards #-}
15{-# LANGUAGE RecordWildCards #-}
17{-# LANGUAGE ScopedTypeVariables #-}
16{-# LANGUAGE ScopedTypeVariables #-}
18
17
19module Language.PureScript.Sugar.Names (desugarImports) where
18module Language.PureScript.Sugar.Names (desugarImports) where
20
19
20+import Prelude ()
21+import Prelude.Compat
22+
21import Data.List (find, nub)
23import Data.List (find, nub)
22import Data.Maybe (fromMaybe, mapMaybe)
24import Data.Maybe (fromMaybe, mapMaybe)
23
25
24−#if __GLASGOW_HASKELL__ < 710
25−import Data.Monoid (mempty)
26−import Control.Applicative (Applicative(..), (<$>), (<*>))
27−#endif
28import Control.Monad
26import Control.Monad
29import Control.Monad.Error.Class (MonadError(..))
27import Control.Monad.Error.Class (MonadError(..))
30import Control.Monad.Writer (MonadWriter(..), censor)
28import Control.Monad.Writer (MonadWriter(..), censor)
@@ -52,7 +50,7 @@ desugarImports :: forall m. (Applicative m, MonadError MultipleErrors m, MonadWr
52desugarImports externs modules = do
50desugarImports externs modules = do
53 env <- silence $ foldM externsEnv primEnv externs
51 env <- silence $ foldM externsEnv primEnv externs
54 env' <- foldM updateEnv env modules
52 env' <- foldM updateEnv env modules
55− mapM (renameInModule' env') modules
53+ traverse (renameInModule' env') modules
56 where
54 where
57 silence :: m a -> m a
55 silence :: m a -> m a
58 silence = censor (const mempty)
56 silence = censor (const mempty)
@@ -161,13 +159,13 @@ renameInModule env imports (Module ss coms mn decls exps) =
161 updateDecl (_, bound) d@(PositionedDeclaration pos _ _) =
159 updateDecl (_, bound) d@(PositionedDeclaration pos _ _) =
162 return ((Just pos, bound), d)
160 return ((Just pos, bound), d)
163 updateDecl (pos, bound) (DataDeclaration dtype name args dctors) =
161 updateDecl (pos, bound) (DataDeclaration dtype name args dctors) =
164− (,) (pos, bound) <$> (DataDeclaration dtype name args <$> mapM (sndM (mapM (updateTypesEverywhere pos))) dctors)
162+ (,) (pos, bound) <$> (DataDeclaration dtype name args <$> traverse (sndM (traverse (updateTypesEverywhere pos))) dctors)
165 updateDecl (pos, bound) (TypeSynonymDeclaration name ps ty) =
163 updateDecl (pos, bound) (TypeSynonymDeclaration name ps ty) =
166 (,) (pos, bound) <$> (TypeSynonymDeclaration name ps <$> updateTypesEverywhere pos ty)
164 (,) (pos, bound) <$> (TypeSynonymDeclaration name ps <$> updateTypesEverywhere pos ty)
167 updateDecl (pos, bound) (TypeClassDeclaration className args implies ds) =
165 updateDecl (pos, bound) (TypeClassDeclaration className args implies ds) =
168 (,) (pos, bound) <$> (TypeClassDeclaration className args <$> updateConstraints pos implies <*> pure ds)
166 (,) (pos, bound) <$> (TypeClassDeclaration className args <$> updateConstraints pos implies <*> pure ds)
169 updateDecl (pos, bound) (TypeInstanceDeclaration name cs cn ts ds) =
167 updateDecl (pos, bound) (TypeInstanceDeclaration name cs cn ts ds) =
170− (,) (pos, bound) <$> (TypeInstanceDeclaration name <$> updateConstraints pos cs <*> updateClassName cn pos <*> mapM (updateTypesEverywhere pos) ts <*> pure ds)
168+ (,) (pos, bound) <$> (TypeInstanceDeclaration name <$> updateConstraints pos cs <*> updateClassName cn pos <*> traverse (updateTypesEverywhere pos) ts <*> pure ds)
171 updateDecl (pos, bound) (TypeDeclaration name ty) =
169 updateDecl (pos, bound) (TypeDeclaration name ty) =
172 (,) (pos, bound) <$> (TypeDeclaration name <$> updateTypesEverywhere pos ty)
170 (,) (pos, bound) <$> (TypeDeclaration name <$> updateTypesEverywhere pos ty)
173 updateDecl (pos, bound) (ExternDeclaration name ty) =
171 updateDecl (pos, bound) (ExternDeclaration name ty) =
@@ -225,7 +223,7 @@ renameInModule env imports (Module ss coms mn decls exps) =
225 updateType t = return t
223 updateType t = return t
226
224
227 updateConstraints :: Maybe SourceSpan -> [Constraint] -> m [Constraint]
225 updateConstraints :: Maybe SourceSpan -> [Constraint] -> m [Constraint]
228− updateConstraints pos = mapM (\(name, ts) -> (,) <$> updateClassName name pos <*> mapM (updateTypesEverywhere pos) ts)
226+ updateConstraints pos = traverse (\(name, ts) -> (,) <$> updateClassName name pos <*> traverse (updateTypesEverywhere pos) ts)
229
227
230 updateTypeName :: Qualified ProperName -> Maybe SourceSpan -> m (Qualified ProperName)
228 updateTypeName :: Qualified ProperName -> Maybe SourceSpan -> m (Qualified ProperName)
231 updateTypeName = update UnknownType (importedTypes imports) (resolveType . exportedTypes) IsProperName
229 updateTypeName = update UnknownType (importedTypes imports) (resolveType . exportedTypes) IsProperName
src/Language/PureScript/Sugar/Names/Exports.hs+5−5
@@ -11,7 +11,6 @@
11--
11--
12-----------------------------------------------------------------------------
12-----------------------------------------------------------------------------
13
13
14−{-# LANGUAGE CPP #-}
15{-# LANGUAGE FlexibleContexts #-}
14{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE RankNTypes #-}
15{-# LANGUAGE RankNTypes #-}
17{-# LANGUAGE ScopedTypeVariables #-}
16{-# LANGUAGE ScopedTypeVariables #-}
@@ -22,12 +21,13 @@ module Language.PureScript.Sugar.Names.Exports
22 , resolveExports
21 , resolveExports
23 ) where
22 ) where
24
23
24+import Prelude ()
25+import Prelude.Compat
26+
25import Data.List (find, intersect)
27import Data.List (find, intersect)
26import Data.Maybe (fromMaybe, mapMaybe)
28import Data.Maybe (fromMaybe, mapMaybe)
29+import Data.Foldable (traverse_)
27
30
28−#if __GLASGOW_HASKELL__ < 710
29−import Control.Applicative (Applicative(..), (<$>))
30−#endif
31import Control.Monad
31import Control.Monad
32import Control.Monad.Error.Class (MonadError(..))
32import Control.Monad.Error.Class (MonadError(..))
33
33
@@ -197,7 +197,7 @@ filterModule mn exps refs = do
197 Nothing -> throwError . errorMessage . UnknownExportType $ name
197 Nothing -> throwError . errorMessage . UnknownExportType $ name
198 Just ((_, dcons), _) -> do
198 Just ((_, dcons), _) -> do
199 let expDcons' = fromMaybe dcons expDcons
199 let expDcons' = fromMaybe dcons expDcons
200− mapM_ (checkDcon name dcons) expDcons'
200+ traverse_ (checkDcon name dcons) expDcons'
201 return $ ((name, expDcons'), mn) : result
201 return $ ((name, expDcons'), mn) : result
202 filterTypes _ result _ = return result
202 filterTypes _ result _ = return result
203
203
src/Language/PureScript/Sugar/Names/Imports.hs+8−8
@@ -11,7 +11,6 @@
11--
11--
12-----------------------------------------------------------------------------
12-----------------------------------------------------------------------------
13
13
14−{-# LANGUAGE CPP #-}
15{-# LANGUAGE FlexibleContexts #-}
14{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE ScopedTypeVariables #-}
15{-# LANGUAGE ScopedTypeVariables #-}
17{-# LANGUAGE TupleSections #-}
16{-# LANGUAGE TupleSections #-}
@@ -22,13 +21,14 @@ module Language.PureScript.Sugar.Names.Imports
22 , findImports
21 , findImports
23 ) where
22 ) where
24
23
24+import Prelude ()
25+import Prelude.Compat
26+
25import Data.List (find)
27import Data.List (find)
26import Data.Maybe (fromMaybe, isNothing)
28import Data.Maybe (fromMaybe, isNothing)
29+import Data.Foldable (traverse_)
27
30
28import Control.Arrow (first)
31import Control.Arrow (first)
29−#if __GLASGOW_HASKELL__ < 710
30−import Control.Applicative (Applicative(..), (<$>))
31−#endif
32import Control.Monad
32import Control.Monad
33import Control.Monad.Error.Class (MonadError(..))
33import Control.Monad.Error.Class (MonadError(..))
34import Control.Monad.Writer (MonadWriter(..), censor)
34import Control.Monad.Writer (MonadWriter(..), censor)
@@ -57,7 +57,7 @@ findImports = foldM (go Nothing) M.empty
57
57
58 -- Ensure that classes don't appear in an `import X hiding (...)`
58 -- Ensure that classes don't appear in an `import X hiding (...)`
59 checkImportRefType :: ImportDeclarationType -> m ()
59 checkImportRefType :: ImportDeclarationType -> m ()
60− checkImportRefType (Hiding refs) = mapM_ checkImportRef refs
60+ checkImportRefType (Hiding refs) = traverse_ checkImportRef refs
61 checkImportRefType _ = return ()
61 checkImportRefType _ = return ()
62 checkImportRef :: DeclarationRef -> m ()
62 checkImportRef :: DeclarationRef -> m ()
63 checkImportRef (ModuleRef name) = throwError . errorMessage $ ImportHidingModule name
63 checkImportRef (ModuleRef name) = throwError . errorMessage $ ImportHidingModule name
@@ -105,7 +105,7 @@ resolveImport currentModule importModule exps imps impQual =
105
105
106 -- Check that a 'DeclarationRef' refers to an importable symbol
106 -- Check that a 'DeclarationRef' refers to an importable symbol
107 checkRefs :: [DeclarationRef] -> m ()
107 checkRefs :: [DeclarationRef] -> m ()
108− checkRefs = mapM_ check
108+ checkRefs = traverse_ check
109 where
109 where
110 check (PositionedDeclarationRef pos _ r) =
110 check (PositionedDeclarationRef pos _ r) =
111 rethrowWithPosition pos $ check r
111 rethrowWithPosition pos $ check r
@@ -114,7 +114,7 @@ resolveImport currentModule importModule exps imps impQual =
114 check (TypeRef name dctors) = do
114 check (TypeRef name dctors) = do
115 checkImportExists UnknownImportType ((fst . fst) `map` exportedTypes exps) name
115 checkImportExists UnknownImportType ((fst . fst) `map` exportedTypes exps) name
116 let allDctors = fst `map` allExportedDataConstructors name
116 let allDctors = fst `map` allExportedDataConstructors name
117− maybe (return ()) (mapM_ $ checkDctorExists name allDctors) dctors
117+ maybe (return ()) (traverse_ $ checkDctorExists name allDctors) dctors
118 check (TypeClassRef name) =
118 check (TypeClassRef name) =
119 checkImportExists UnknownImportTypeClass (fst `map` exportedTypeClasses exps) name
119 checkImportExists UnknownImportTypeClass (fst `map` exportedTypeClasses exps) name
120 --check (ModuleRef name) =
120 --check (ModuleRef name) =
@@ -168,7 +168,7 @@ resolveImport currentModule importModule exps imps impQual =
168 exportedDctors = allExportedDataConstructors name
168 exportedDctors = allExportedDataConstructors name
169 dctorNames :: [ProperName]
169 dctorNames :: [ProperName]
170 dctorNames = fst `map` exportedDctors
170 dctorNames = fst `map` exportedDctors
171− maybe (return ()) (mapM_ $ checkDctorExists name dctorNames) dctors
171+ maybe (return ()) (traverse_ $ checkDctorExists name dctorNames) dctors
172 when (null dctorNames && isNothing dctors) . tell . errorMessage $ MisleadingEmptyTypeImport importModule name
172 when (null dctorNames && isNothing dctors) . tell . errorMessage $ MisleadingEmptyTypeImport importModule name
173 dctors' <- foldM (\m -> updateImports m runProperName exportedDctors) (importedDataConstructors imp) (fromMaybe dctorNames dctors)
173 dctors' <- foldM (\m -> updateImports m runProperName exportedDctors) (importedDataConstructors imp) (fromMaybe dctorNames dctors)
174 return $ imp { importedTypes = types', importedDataConstructors = dctors' }
174 return $ imp { importedTypes = types', importedDataConstructors = dctors' }
src/Language/PureScript/Sugar/ObjectWildcards.hs+3−4
@@ -14,15 +14,14 @@
14
14
15{-# LANGUAGE FlexibleContexts #-}
15{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE ScopedTypeVariables #-}
16{-# LANGUAGE ScopedTypeVariables #-}
17−{-# LANGUAGE CPP #-}
18
17
19module Language.PureScript.Sugar.ObjectWildcards (
18module Language.PureScript.Sugar.ObjectWildcards (
20 desugarObjectConstructors
19 desugarObjectConstructors
21) where
20) where
22
21
23−#if __GLASGOW_HASKELL__ < 710
22+import Prelude ()
24−import Control.Applicative
23+import Prelude.Compat
25−#endif
24+
26import Control.Arrow (second)
25import Control.Arrow (second)
27import Control.Monad.Error.Class (MonadError(..))
26import Control.Monad.Error.Class (MonadError(..))
28import Control.Monad.Supply.Class
27import Control.Monad.Supply.Class
src/Language/PureScript/Sugar/Operators.hs+5−6
@@ -21,7 +21,6 @@
21{-# LANGUAGE FlexibleContexts #-}
21{-# LANGUAGE FlexibleContexts #-}
22{-# LANGUAGE ScopedTypeVariables #-}
22{-# LANGUAGE ScopedTypeVariables #-}
23{-# LANGUAGE RecordWildCards #-}
23{-# LANGUAGE RecordWildCards #-}
24−{-# LANGUAGE CPP #-}
25
24
26module Language.PureScript.Sugar.Operators (
25module Language.PureScript.Sugar.Operators (
27 rebracket,
26 rebracket,
@@ -29,15 +28,15 @@ module Language.PureScript.Sugar.Operators (
29 desugarOperatorSections
28 desugarOperatorSections
30) where
29) where
31
30
31+import Prelude ()
32+import Prelude.Compat
33+
32import Language.PureScript.Crash
34import Language.PureScript.Crash
33import Language.PureScript.AST
35import Language.PureScript.AST
34import Language.PureScript.Errors
36import Language.PureScript.Errors
35import Language.PureScript.Names
37import Language.PureScript.Names
36import Language.PureScript.Externs
38import Language.PureScript.Externs
37
39
38−#if __GLASGOW_HASKELL__ < 710
39−import Control.Applicative
40−#endif
41import Control.Monad.State
40import Control.Monad.State
42import Control.Monad.Error.Class (MonadError(..))
41import Control.Monad.Error.Class (MonadError(..))
43import Control.Monad.Supply.Class
42import Control.Monad.Supply.Class
@@ -60,7 +59,7 @@ rebracket externs ms = do
60 let fixities = concatMap externsFixities externs ++ concatMap collectFixities ms
59 let fixities = concatMap externsFixities externs ++ concatMap collectFixities ms
61 ensureNoDuplicates $ map (\(i, pos, _) -> (i, pos)) fixities
60 ensureNoDuplicates $ map (\(i, pos, _) -> (i, pos)) fixities
62 let opTable = customOperatorTable $ map (\(i, _, f) -> (i, f)) fixities
61 let opTable = customOperatorTable $ map (\(i, _, f) -> (i, f)) fixities
63− mapM (rebracketModule opTable) ms
62+ traverse (rebracketModule opTable) ms
64
63
65removeSignedLiterals :: Module -> Module
64removeSignedLiterals :: Module -> Module
66removeSignedLiterals (Module ss coms mn ds exts) = Module ss coms mn (map f' ds) exts
65removeSignedLiterals (Module ss coms mn ds exts) = Module ss coms mn (map f' ds) exts
@@ -164,7 +163,7 @@ matchOp op = do
164 guard $ ident == op
163 guard $ ident == op
165
164
166desugarOperatorSections :: forall m. (Applicative m, MonadSupply m, MonadError MultipleErrors m) => Module -> m Module
165desugarOperatorSections :: forall m. (Applicative m, MonadSupply m, MonadError MultipleErrors m) => Module -> m Module
167−desugarOperatorSections (Module ss coms mn ds exts) = Module ss coms mn <$> mapM goDecl ds <*> pure exts
166+desugarOperatorSections (Module ss coms mn ds exts) = Module ss coms mn <$> traverse goDecl ds <*> pure exts
168 where
167 where
169
168
170 goDecl :: Declaration -> m Declaration
169 goDecl :: Declaration -> m Declaration
src/Language/PureScript/Sugar/TypeClasses.hs+5−6
@@ -16,7 +16,6 @@
16
16
17{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE FlexibleContexts #-}
18{-# LANGUAGE RecordWildCards #-}
18{-# LANGUAGE RecordWildCards #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.Sugar.TypeClasses
20module Language.PureScript.Sugar.TypeClasses
22 ( desugarTypeClasses
21 ( desugarTypeClasses
@@ -24,6 +23,9 @@ module Language.PureScript.Sugar.TypeClasses
24 , superClassDictionaryNames
23 , superClassDictionaryNames
25 ) where
24 ) where
26
25
26+import Prelude ()
27+import Prelude.Compat
28+
27import Language.PureScript.Crash
29import Language.PureScript.Crash
28import Language.PureScript.AST hiding (isExported)
30import Language.PureScript.AST hiding (isExported)
29import Language.PureScript.Environment
31import Language.PureScript.Environment
@@ -37,9 +39,6 @@ import Language.PureScript.Types
37
39
38import qualified Language.PureScript.Constants as C
40import qualified Language.PureScript.Constants as C
39
41
40−#if __GLASGOW_HASKELL__ < 710
41−import Control.Applicative
42−#endif
43import Control.Arrow (first, second)
42import Control.Arrow (first, second)
44import Control.Monad.Error.Class (MonadError(..))
43import Control.Monad.Error.Class (MonadError(..))
45import Control.Monad.State
44import Control.Monad.State
@@ -57,7 +56,7 @@ type Desugar = StateT MemberMap
57-- instance dictionary expressions.
56-- instance dictionary expressions.
58--
57--
59desugarTypeClasses :: (Functor m, Applicative m, MonadSupply m, MonadError MultipleErrors m) => [ExternsFile] -> [Module] -> m [Module]
58desugarTypeClasses :: (Functor m, Applicative m, MonadSupply m, MonadError MultipleErrors m) => [ExternsFile] -> [Module] -> m [Module]
60−desugarTypeClasses externs = flip evalStateT initialState . mapM desugarModule
59+desugarTypeClasses externs = flip evalStateT initialState . traverse desugarModule
61 where
60 where
62 initialState :: MemberMap
61 initialState :: MemberMap
63 initialState = M.fromList (externs >>= \ExternsFile{..} -> mapMaybe (fromExternsDecl efModuleName) efDeclarations)
62 initialState = M.fromList (externs >>= \ExternsFile{..} -> mapMaybe (fromExternsDecl efModuleName) efDeclarations)
@@ -262,7 +261,7 @@ typeInstanceDictionaryDeclaration name mn deps className tys decls =
262 let memberTypes = map (second (replaceAllTypeVars (zip (map fst args) tys))) instanceTys
261 let memberTypes = map (second (replaceAllTypeVars (zip (map fst args) tys))) instanceTys
263
262
264 -- Create values for the type instance members
263 -- Create values for the type instance members
265− members <- zip (map typeClassMemberName decls) <$> mapM (memberToValue memberTypes) decls
264+ members <- zip (map typeClassMemberName decls) <$> traverse (memberToValue memberTypes) decls
266
265
267 -- Create the type of the dictionary
266 -- Create the type of the dictionary
268 -- The type is an object type, but depending on type instance dependencies, may be constrained.
267 -- The type is an object type, but depending on type instance dependencies, may be constrained.
src/Language/PureScript/Sugar/TypeClasses/Deriving.hs+4−5
@@ -19,19 +19,18 @@
19{-# LANGUAGE PatternGuards #-}
19{-# LANGUAGE PatternGuards #-}
20{-# LANGUAGE RankNTypes #-}
20{-# LANGUAGE RankNTypes #-}
21{-# LANGUAGE ScopedTypeVariables #-}
21{-# LANGUAGE ScopedTypeVariables #-}
22−{-# LANGUAGE CPP #-}
23
22
24module Language.PureScript.Sugar.TypeClasses.Deriving (
23module Language.PureScript.Sugar.TypeClasses.Deriving (
25 deriveInstances
24 deriveInstances
26) where
25) where
27
26
28−import Data.List
27+import Prelude ()
28+import Prelude.Compat
29+
30+import Data.List (foldl', find, sortBy)
29import Data.Maybe (fromMaybe)
31import Data.Maybe (fromMaybe)
30import Data.Ord (comparing)
32import Data.Ord (comparing)
31
33
32−#if __GLASGOW_HASKELL__ < 710
33−import Control.Applicative
34−#endif
35import Control.Monad (replicateM)
34import Control.Monad (replicateM)
36import Control.Monad.Supply.Class (MonadSupply, freshName)
35import Control.Monad.Supply.Class (MonadSupply, freshName)
37import Control.Monad.Error.Class (MonadError(..))
36import Control.Monad.Error.Class (MonadError(..))
src/Language/PureScript/Sugar/TypeDeclarations.hs+3−4
@@ -16,15 +16,14 @@
16
16
17{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE FlexibleContexts #-}
18{-# LANGUAGE ScopedTypeVariables #-}
18{-# LANGUAGE ScopedTypeVariables #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.Sugar.TypeDeclarations (
20module Language.PureScript.Sugar.TypeDeclarations (
22 desugarTypeDeclarationsModule
21 desugarTypeDeclarationsModule
23) where
22) where
24
23
25−#if __GLASGOW_HASKELL__ < 710
24+import Prelude ()
26−import Control.Applicative
25+import Prelude.Compat
27−#endif
26+
28import Control.Monad (forM)
27import Control.Monad (forM)
29import Control.Monad.Error.Class (MonadError(..))
28import Control.Monad.Error.Class (MonadError(..))
30
29
src/Language/PureScript/Traversals.hs+2−5
@@ -12,13 +12,10 @@
12--
12--
13-----------------------------------------------------------------------------
13-----------------------------------------------------------------------------
14
14
15−{-# LANGUAGE CPP #-}
16−
17module Language.PureScript.Traversals where
15module Language.PureScript.Traversals where
18
16
19−#if __GLASGOW_HASKELL__ < 710
17+import Prelude ()
20−import Control.Applicative
18+import Prelude.Compat
21−#endif
22
19
23fstM :: (Functor f) => (a -> f c) -> (a, b) -> f (c, b)
20fstM :: (Functor f) => (a -> f c) -> (a, b) -> f (c, b)
24fstM f (a, b) = flip (,) b <$> f a
21fstM f (a, b) = flip (,) b <$> f a
src/Language/PureScript/TypeChecker.hs+8−9
@@ -14,13 +14,15 @@
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16{-# LANGUAGE FlexibleInstances #-}
16{-# LANGUAGE FlexibleInstances #-}
17−{-# LANGUAGE CPP #-}
18
17
19module Language.PureScript.TypeChecker (
18module Language.PureScript.TypeChecker (
20 module T,
19 module T,
21 typeCheckModule
20 typeCheckModule
22) where
21) where
23
22
23+import Prelude ()
24+import Prelude.Compat
25+
24import Language.PureScript.TypeChecker.Monad as T
26import Language.PureScript.TypeChecker.Monad as T
25import Language.PureScript.TypeChecker.Kinds as T
27import Language.PureScript.TypeChecker.Kinds as T
26import Language.PureScript.TypeChecker.Types as T
28import Language.PureScript.TypeChecker.Types as T
@@ -28,13 +30,10 @@ import Language.PureScript.TypeChecker.Synonyms as T
28
30
29import Data.Maybe
31import Data.Maybe
30import Data.List (nub, (\\), sort, group)
32import Data.List (nub, (\\), sort, group)
31−import Data.Foldable (for_)
33+import Data.Foldable (for_, traverse_)
32
34
33import qualified Data.Map as M
35import qualified Data.Map as M
34
36
35−#if __GLASGOW_HASKELL__ < 710
36−import Control.Applicative ((<$>), (<*))
37−#endif
38import Control.Monad.State
37import Control.Monad.State
39import Control.Monad.Error.Class (MonadError(..))
38import Control.Monad.Error.Class (MonadError(..))
40
39
@@ -58,7 +57,7 @@ addDataType moduleName dtype name args dctors ctorKind = do
58addDataConstructor :: ModuleName -> DataDeclType -> ProperName -> [String] -> ProperName -> [Type] -> Check ()
57addDataConstructor :: ModuleName -> DataDeclType -> ProperName -> [String] -> ProperName -> [Type] -> Check ()
59addDataConstructor moduleName dtype name args dctor tys = do
58addDataConstructor moduleName dtype name args dctor tys = do
60 env <- getEnv
59 env <- getEnv
61− mapM_ checkTypeSynonyms tys
60+ traverse_ checkTypeSynonyms tys
62 let retTy = foldl TypeApp (TypeConstructor (Qualified (Just moduleName) name)) (map TypeVar args)
61 let retTy = foldl TypeApp (TypeConstructor (Qualified (Just moduleName) name)) (map TypeVar args)
63 let dctorTy = foldr function retTy tys
62 let dctorTy = foldr function retTy tys
64 let polyType = mkForAll args dctorTy
63 let polyType = mkForAll args dctorTy
@@ -134,7 +133,7 @@ checkTypeSynonyms = void . replaceAllTypeSynonyms
134-- * Process module imports
133-- * Process module imports
135--
134--
136typeCheckAll :: ModuleName -> [DeclarationRef] -> [Declaration] -> Check [Declaration]
135typeCheckAll :: ModuleName -> [DeclarationRef] -> [Declaration] -> Check [Declaration]
137−typeCheckAll moduleName _ ds = mapM go ds <* mapM_ checkOrphanFixities ds
136+typeCheckAll moduleName _ ds = traverse go ds <* traverse_ checkOrphanFixities ds
138 where
137 where
139 go :: Declaration -> Check Declaration
138 go :: Declaration -> Check Declaration
140 go (DataDeclaration dtype name args dctors) = do
139 go (DataDeclaration dtype name args dctors) = do
@@ -218,8 +217,8 @@ typeCheckAll moduleName _ ds = mapM go ds <* mapM_ checkOrphanFixities ds
218 addTypeClass moduleName pn args implies tys
217 addTypeClass moduleName pn args implies tys
219 return d
218 return d
220 go (d@(TypeInstanceDeclaration dictName deps className tys body)) = rethrow (addHint (ErrorInInstance className tys)) $ do
219 go (d@(TypeInstanceDeclaration dictName deps className tys body)) = rethrow (addHint (ErrorInInstance className tys)) $ do
221− mapM_ (checkTypeClassInstance moduleName) tys
220+ traverse_ (checkTypeClassInstance moduleName) tys
222− forM_ deps $ mapM_ (checkTypeClassInstance moduleName) . snd
221+ forM_ deps $ traverse_ (checkTypeClassInstance moduleName) . snd
223 checkOrphanInstance dictName className tys
222 checkOrphanInstance dictName className tys
224 _ <- traverseTypeInstanceBody checkInstanceMembers body
223 _ <- traverseTypeInstanceBody checkInstanceMembers body
225 let dict = TypeClassDictionaryInScope (Qualified (Just moduleName) dictName) [] className tys (Just deps)
224 let dict = TypeClassDictionaryInScope (Qualified (Just moduleName) dictName) [] className tys (Just deps)
src/Language/PureScript/TypeChecker/Entailment.hs+5−10
@@ -13,23 +13,18 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Language.PureScript.TypeChecker.Entailment (
16module Language.PureScript.TypeChecker.Entailment (
19 entails
17 entails
20) where
18) where
21
19
20+import Prelude ()
21+import Prelude.Compat
22+
22import Data.Function (on)
23import Data.Function (on)
23−import Data.List
24+import Data.List (minimumBy, sortBy, groupBy)
24import Data.Maybe (maybeToList, mapMaybe)
25import Data.Maybe (maybeToList, mapMaybe)
25−#if __GLASGOW_HASKELL__ < 710
26−import Data.Foldable (foldMap)
27−#endif
28import qualified Data.Map as M
26import qualified Data.Map as M
29
27
30−#if __GLASGOW_HASKELL__ < 710
31−import Control.Applicative
32−#endif
33import Control.Arrow (Arrow(..))
28import Control.Arrow (Arrow(..))
34import Control.Monad.State
29import Control.Monad.State
35import Control.Monad.Error.Class (MonadError(..))
30import Control.Monad.Error.Class (MonadError(..))
@@ -112,7 +107,7 @@ entails moduleName context = solve
112 solveSubgoals :: [(String, Type)] -> Maybe [Constraint] -> Check (Maybe [DictionaryValue])
107 solveSubgoals :: [(String, Type)] -> Maybe [Constraint] -> Check (Maybe [DictionaryValue])
113 solveSubgoals _ Nothing = return Nothing
108 solveSubgoals _ Nothing = return Nothing
114 solveSubgoals subst (Just subgoals) = do
109 solveSubgoals subst (Just subgoals) = do
115− dict <- mapM (uncurry (go (work + 1)) . second (map (replaceAllTypeVars subst))) subgoals
110+ dict <- traverse (uncurry (go (work + 1)) . second (map (replaceAllTypeVars subst))) subgoals
116 return $ Just dict
111 return $ Just dict
117
112
118 -- Make a dictionary from subgoal dictionaries by applying the correct function
113 -- Make a dictionary from subgoal dictionaries by applying the correct function
src/Language/PureScript/TypeChecker/Kinds.hs+4−5
@@ -17,7 +17,6 @@
17{-# LANGUAGE MultiParamTypeClasses #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
18{-# LANGUAGE FlexibleInstances #-}
18{-# LANGUAGE FlexibleInstances #-}
19{-# LANGUAGE TupleSections #-}
19{-# LANGUAGE TupleSections #-}
20−{-# LANGUAGE CPP #-}
21
20
22module Language.PureScript.TypeChecker.Kinds (
21module Language.PureScript.TypeChecker.Kinds (
23 kindOf,
22 kindOf,
@@ -26,15 +25,15 @@ module Language.PureScript.TypeChecker.Kinds (
26 kindsOfAll
25 kindsOfAll
27) where
26) where
28
27
28+import Prelude ()
29+import Prelude.Compat
30+
29import Data.Maybe (fromMaybe)
31import Data.Maybe (fromMaybe)
30
32
31import qualified Data.HashMap.Strict as H
33import qualified Data.HashMap.Strict as H
32import qualified Data.Map as M
34import qualified Data.Map as M
33
35
34import Control.Arrow (second)
36import Control.Arrow (second)
35−#if __GLASGOW_HASKELL__ < 710
36−import Control.Applicative
37−#endif
38import Control.Monad
37import Control.Monad
39import Control.Monad.Error.Class (MonadError(..))
38import Control.Monad.Error.Class (MonadError(..))
40import Control.Monad.State
39import Control.Monad.State
@@ -141,7 +140,7 @@ kindsOfAll moduleName syns tys = fmap tidyUp . liftUnify $ do
141--
140--
142solveTypes :: Bool -> [Type] -> [Kind] -> Kind -> UnifyT Kind Check Kind
141solveTypes :: Bool -> [Type] -> [Kind] -> Kind -> UnifyT Kind Check Kind
143solveTypes isData ts kargs tyCon = do
142solveTypes isData ts kargs tyCon = do
144− ks <- mapM (fmap fst . infer) ts
143+ ks <- traverse (fmap fst . infer) ts
145 when isData $ do
144 when isData $ do
146 tyCon =?= foldr FunKind Star kargs
145 tyCon =?= foldr FunKind Star kargs
147 forM_ ks $ \k -> k =?= Star
146 forM_ ks $ \k -> k =?= Star
src/Language/PureScript/TypeChecker/Monad.hs+11−6
@@ -19,16 +19,16 @@
19{-# LANGUAGE MultiParamTypeClasses #-}
19{-# LANGUAGE MultiParamTypeClasses #-}
20{-# LANGUAGE FlexibleContexts #-}
20{-# LANGUAGE FlexibleContexts #-}
21{-# LANGUAGE GADTs #-}
21{-# LANGUAGE GADTs #-}
22−{-# LANGUAGE CPP #-}
23
22
24module Language.PureScript.TypeChecker.Monad where
23module Language.PureScript.TypeChecker.Monad where
25
24
25+import Prelude ()
26+import Prelude.Compat
27+
26import Data.Maybe
28import Data.Maybe
29+import Data.Foldable (for_)
27import qualified Data.Map as M
30import qualified Data.Map as M
28
31
29−#if __GLASGOW_HASKELL__ < 710
30−import Control.Applicative
31−#endif
32import Control.Monad.State
32import Control.Monad.State
33import Control.Monad.Unify
33import Control.Monad.Unify
34import Control.Monad.Writer.Strict
34import Control.Monad.Writer.Strict
@@ -67,8 +67,13 @@ bindTypes newNames action = do
67-- |
67-- |
68-- Temporarily bind a collection of names to types
68-- Temporarily bind a collection of names to types
69--
69--
70−withScopedTypeVars :: (Functor m, MonadState CheckState m) => ModuleName -> [(String, Kind)] -> m a -> m a
70+withScopedTypeVars :: (Functor m, Applicative m, MonadState CheckState m, MonadWriter MultipleErrors m) => ModuleName -> [(String, Kind)] -> m a -> m a
71+withScopedTypeVars mn ks ma = do
72+ orig <- get
73+ for_ ks $ \(name, _) ->
74+ when (Qualified (Just mn) (ProperName name) `M.member` types (checkEnv orig)) $
75+ tell . errorMessage $ ShadowedTypeVar name
71−withScopedTypeVars mn ks = bindTypes (M.fromList (map (\(name, k) -> (Qualified (Just mn) (ProperName name), (k, ScopedTypeVar))) ks))
76+ bindTypes (M.fromList (map (\(name, k) -> (Qualified (Just mn) (ProperName name), (k, ScopedTypeVar))) ks)) ma
72
77
73-- |
78-- |
74-- Temporarily make a collection of type class dictionaries available
79-- Temporarily make a collection of type class dictionaries available
src/Language/PureScript/TypeChecker/Skolems.hs+3−5
@@ -13,8 +13,6 @@
13--
13--
14-----------------------------------------------------------------------------
14-----------------------------------------------------------------------------
15
15
16−{-# LANGUAGE CPP #-}
17−
18module Language.PureScript.TypeChecker.Skolems (
16module Language.PureScript.TypeChecker.Skolems (
19 newSkolemConstant,
17 newSkolemConstant,
20 introduceSkolemScope,
18 introduceSkolemScope,
@@ -24,12 +22,12 @@ module Language.PureScript.TypeChecker.Skolems (
24 skolemEscapeCheck
22 skolemEscapeCheck
25) where
23) where
26
24
25+import Prelude ()
26+import Prelude.Compat
27+
27import Data.List (nub, (\\))
28import Data.List (nub, (\\))
28import Data.Monoid
29import Data.Monoid
29
30
30−#if __GLASGOW_HASKELL__ < 710
31−import Control.Applicative
32−#endif
33import Control.Monad.Error.Class (MonadError(..))
31import Control.Monad.Error.Class (MonadError(..))
34import Control.Monad.Unify
32import Control.Monad.Unify
35
33
src/Language/PureScript/TypeChecker/Synonyms.hs+3−4
@@ -17,18 +17,17 @@
17{-# LANGUAGE MultiParamTypeClasses #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
18{-# LANGUAGE PatternGuards #-}
18{-# LANGUAGE PatternGuards #-}
19{-# LANGUAGE GADTs #-}
19{-# LANGUAGE GADTs #-}
20−{-# LANGUAGE CPP #-}
21
20
22module Language.PureScript.TypeChecker.Synonyms (
21module Language.PureScript.TypeChecker.Synonyms (
23 replaceAllTypeSynonyms
22 replaceAllTypeSynonyms
24) where
23) where
25
24
25+import Prelude ()
26+import Prelude.Compat
27+
26import Data.Maybe (fromMaybe)
28import Data.Maybe (fromMaybe)
27import qualified Data.Map as M
29import qualified Data.Map as M
28
30
29−#if __GLASGOW_HASKELL__ < 710
30−import Control.Applicative
31−#endif
32import Control.Monad.Error.Class (MonadError(..))
31import Control.Monad.Error.Class (MonadError(..))
33import Control.Monad.State
32import Control.Monad.State
34
33
src/Language/PureScript/TypeChecker/Types.hs+8−9
@@ -16,7 +16,6 @@
16{-# LANGUAGE FlexibleContexts #-}
16{-# LANGUAGE FlexibleContexts #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
17{-# LANGUAGE MultiParamTypeClasses #-}
18{-# LANGUAGE OverloadedStrings #-}
18{-# LANGUAGE OverloadedStrings #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.TypeChecker.Types (
20module Language.PureScript.TypeChecker.Types (
22 typesOf
21 typesOf
@@ -38,14 +37,14 @@ module Language.PureScript.TypeChecker.Types (
38 Check a function of a given type returns a value of another type when applied to its arguments
37 Check a function of a given type returns a value of another type when applied to its arguments
39-}
38-}
40
39
40+import Prelude ()
41+import Prelude.Compat
42+
41import Data.Either (lefts, rights)
43import Data.Either (lefts, rights)
42−import Data.List
44+import Data.List (transpose, nub, (\\), partition, delete)
43import Data.Maybe (fromMaybe)
45import Data.Maybe (fromMaybe)
44import qualified Data.Map as M
46import qualified Data.Map as M
45
47
46−#if __GLASGOW_HASKELL__ < 710
47−import Control.Applicative
48−#endif
49import Control.Monad
48import Control.Monad
50import Control.Monad.State
49import Control.Monad.State
51import Control.Monad.Unify
50import Control.Monad.Unify
@@ -213,20 +212,20 @@ infer' v@(StringLiteral _) = return $ TypedValue True v tyString
213infer' v@(CharLiteral _) = return $ TypedValue True v tyChar
212infer' v@(CharLiteral _) = return $ TypedValue True v tyChar
214infer' v@(BooleanLiteral _) = return $ TypedValue True v tyBoolean
213infer' v@(BooleanLiteral _) = return $ TypedValue True v tyBoolean
215infer' (ArrayLiteral vals) = do
214infer' (ArrayLiteral vals) = do
216− ts <- mapM infer vals
215+ ts <- traverse infer vals
217 els <- fresh
216 els <- fresh
218 forM_ ts $ \(TypedValue _ _ t) -> els =?= t
217 forM_ ts $ \(TypedValue _ _ t) -> els =?= t
219 return $ TypedValue True (ArrayLiteral ts) (TypeApp tyArray els)
218 return $ TypedValue True (ArrayLiteral ts) (TypeApp tyArray els)
220infer' (ObjectLiteral ps) = do
219infer' (ObjectLiteral ps) = do
221 ensureNoDuplicateProperties ps
220 ensureNoDuplicateProperties ps
222− ts <- mapM (infer . snd) ps
221+ ts <- traverse (infer . snd) ps
223 let fields = zipWith (\name (TypedValue _ _ t) -> (name, t)) (map fst ps) ts
222 let fields = zipWith (\name (TypedValue _ _ t) -> (name, t)) (map fst ps) ts
224 ty = TypeApp tyObject $ rowFromList (fields, REmpty)
223 ty = TypeApp tyObject $ rowFromList (fields, REmpty)
225 return $ TypedValue True (ObjectLiteral (zip (map fst ps) ts)) ty
224 return $ TypedValue True (ObjectLiteral (zip (map fst ps) ts)) ty
226infer' (ObjectUpdate o ps) = do
225infer' (ObjectUpdate o ps) = do
227 ensureNoDuplicateProperties ps
226 ensureNoDuplicateProperties ps
228 row <- fresh
227 row <- fresh
229− newVals <- zipWith (\(name, _) t -> (name, t)) ps <$> mapM (infer . snd) ps
228+ newVals <- zipWith (\(name, _) t -> (name, t)) ps <$> traverse (infer . snd) ps
230 let newTys = map (\(name, TypedValue _ _ ty) -> (name, ty)) newVals
229 let newTys = map (\(name, TypedValue _ _ ty) -> (name, ty)) newVals
231 oldTys <- zip (map fst ps) <$> replicateM (length ps) fresh
230 oldTys <- zip (map fst ps) <$> replicateM (length ps) fresh
232 let oldTy = TypeApp tyObject $ rowFromList (oldTys, row)
231 let oldTy = TypeApp tyObject $ rowFromList (oldTys, row)
@@ -365,7 +364,7 @@ inferBinder val (ObjectBinder props) = do
365 return $ m1 `M.union` m2
364 return $ m1 `M.union` m2
366inferBinder val (ArrayBinder binders) = do
365inferBinder val (ArrayBinder binders) = do
367 el <- fresh
366 el <- fresh
368− m1 <- M.unions <$> mapM (inferBinder el) binders
367+ m1 <- M.unions <$> traverse (inferBinder el) binders
369 val =?= TypeApp tyArray el
368 val =?= TypeApp tyArray el
370 return m1
369 return m1
371inferBinder val (NamedBinder name binder) = do
370inferBinder val (NamedBinder name binder) = do
src/Language/PureScript/Types.hs+3−4
@@ -16,10 +16,12 @@
16{-# LANGUAGE DeriveDataTypeable #-}
16{-# LANGUAGE DeriveDataTypeable #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
18{-# LANGUAGE TemplateHaskell #-}
18{-# LANGUAGE TemplateHaskell #-}
19−{-# LANGUAGE CPP #-}
20
19
21module Language.PureScript.Types where
20module Language.PureScript.Types where
22
21
22+import Prelude ()
23+import Prelude.Compat
24+
23import Data.Data
25import Data.Data
24import Data.List (nub)
26import Data.List (nub)
25import Data.Maybe (fromMaybe)
27import Data.Maybe (fromMaybe)
@@ -28,9 +30,6 @@ import qualified Data.Aeson.TH as A
28
30
29import Control.Monad.Unify
31import Control.Monad.Unify
30import Control.Arrow (second)
32import Control.Arrow (second)
31−#if __GLASGOW_HASKELL__ < 710
32−import Control.Applicative
33−#endif
34import Control.Monad ((<=<))
33import Control.Monad ((<=<))
35
34
36import Language.PureScript.Names
35import Language.PureScript.Names
tests/Main.hs+3−7
@@ -16,7 +16,6 @@
16{-# LANGUAGE TupleSections #-}
16{-# LANGUAGE TupleSections #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
17{-# LANGUAGE GeneralizedNewtypeDeriving #-}
18{-# LANGUAGE FlexibleInstances #-}
18{-# LANGUAGE FlexibleInstances #-}
19−{-# LANGUAGE CPP #-}
20
19
21-- Failing tests can specify the kind of error that should be thrown with a
20-- Failing tests can specify the kind of error that should be thrown with a
22-- @shouldFailWith declaration. For example:
21-- @shouldFailWith declaration. For example:
@@ -35,6 +34,9 @@
35
34
36module Main (main) where
35module Main (main) where
37
36
37+import Prelude ()
38+import Prelude.Compat
39+
38import qualified Language.PureScript as P
40import qualified Language.PureScript as P
39import qualified Language.PureScript.CodeGen.JS as J
41import qualified Language.PureScript.CodeGen.JS as J
40import qualified Language.PureScript.CoreFn as CF
42import qualified Language.PureScript.CoreFn as CF
@@ -42,18 +44,12 @@ import qualified Language.PureScript.CoreFn as CF
42import Data.Char (isSpace)
44import Data.Char (isSpace)
43import Data.Maybe (mapMaybe, fromMaybe)
45import Data.Maybe (mapMaybe, fromMaybe)
44import Data.List (isSuffixOf, sort, stripPrefix)
46import Data.List (isSuffixOf, sort, stripPrefix)
45−#if __GLASGOW_HASKELL__ < 710
46−import Data.Traversable (traverse)
47−#endif
48import Data.Time.Clock (UTCTime())
47import Data.Time.Clock (UTCTime())
49
48
50import qualified Data.Map as M
49import qualified Data.Map as M
51
50
52import Control.Monad
51import Control.Monad
53import Control.Monad.IO.Class (liftIO)
52import Control.Monad.IO.Class (liftIO)
54−#if __GLASGOW_HASKELL__ < 710
55−import Control.Applicative
56−#endif
57import Control.Arrow ((>>>))
53import Control.Arrow ((>>>))
58
54
59import Control.Monad.Reader
55import Control.Monad.Reader
tests/common/TestsSetup.hs+3−8
@@ -10,18 +10,13 @@
10-- |
10-- |
11--
11--
12-----------------------------------------------------------------------------
12-----------------------------------------------------------------------------
13−
14−{-# LANGUAGE CPP #-}
15−
16module TestsSetup where
13module TestsSetup where
17
14
18−import Data.Maybe (fromMaybe)
15+import Prelude ()
16+import Prelude.Compat
19
17
20−#if __GLASGOW_HASKELL__ < 710
18+import Data.Maybe (fromMaybe)
21−import Control.Applicative
22−#endif
23import Control.Monad
19import Control.Monad
24−
25import Control.Monad.Trans.Maybe
20import Control.Monad.Trans.Maybe
26
21
27import System.Process
22import System.Process