haskell-directory.git
16 years agounbreak previous patch for nhc98 2008-05-28
Malcolm.Wallace@cs.york.ac.uk [Wed, 20 Feb 2008 10:24:53 +0000 (10:24 +0000)]
unbreak previous patch for nhc98

16 years agogetTemporaryDirectory: be more precise when catching exns from getEnv
Simon Marlow [Mon, 18 Feb 2008 12:29:08 +0000 (12:29 +0000)]
getTemporaryDirectory: be more precise when catching exns from getEnv

16 years agomake this test work on Windows
Simon Marlow [Tue, 5 Feb 2008 14:54:50 +0000 (14:54 +0000)]
make this test work on Windows
I have no idea why it worked before

16 years agocanonicalizePath should also do System.FilePath.normalise
Simon Marlow [Tue, 22 Jan 2008 16:59:14 +0000 (16:59 +0000)]
canonicalizePath should also do System.FilePath.normalise
The example I've found where this is necessary is on Windows:
canonicalizePath on its own doesn't upper-case the drive letter, but
normalise does.

16 years agoFix a URL
Ian Lynagh [Mon, 26 Nov 2007 21:42:52 +0000 (21:42 +0000)]
Fix a URL

16 years agofix imports for non-GHC
Ross Paterson [Sat, 17 Nov 2007 14:40:59 +0000 (14:40 +0000)]
fix imports for non-GHC

16 years agoSpecify build-type: Configure
Duncan Coutts [Thu, 18 Oct 2007 12:49:40 +0000 (12:49 +0000)]
Specify build-type: Configure

16 years agothis sneaked in somehow
Simon Marlow [Thu, 18 Oct 2007 13:32:20 +0000 (13:32 +0000)]
this sneaked in somehow

16 years agoadd test for #1652
Simon Marlow [Thu, 18 Oct 2007 13:06:23 +0000 (13:06 +0000)]
add test for #1652

16 years agoimport System.Directory, not Directory
Simon Marlow [Thu, 18 Oct 2007 12:17:55 +0000 (12:17 +0000)]
import System.Directory, not Directory

16 years agomove copyFile001 from testsuite
Simon Marlow [Thu, 18 Oct 2007 12:14:05 +0000 (12:14 +0000)]
move copyFile001 from testsuite

16 years agoMove tests from testsuite/tests/ghc-regress/lib/Directory
Simon Marlow [Thu, 18 Oct 2007 12:01:15 +0000 (12:01 +0000)]
Move tests from testsuite/tests/ghc-regress/lib/Directory

16 years agoAdd more entries to boring file
Ian Lynagh [Thu, 13 Sep 2007 21:05:26 +0000 (21:05 +0000)]
Add more entries to boring file

16 years agoAdd a boring file
Ian Lynagh [Thu, 13 Sep 2007 20:46:48 +0000 (20:46 +0000)]
Add a boring file

16 years agoFixed permission setting in copyFile 2007-09-13 ghc-6_8_branched_2007-09-03
sven.panne@aedion.de [Sun, 2 Sep 2007 12:55:21 +0000 (12:55 +0000)]
Fixed permission setting in copyFile
Copy the permissions to the *temporary* file before moving it, no to the
probably non-existing real destination file. Before this fix, "try" silently
wiped this bug under the carpet, leading to silently broken permissions.

16 years agodelete configure droppings in setup clean
Simon Marlow [Fri, 24 Aug 2007 10:41:06 +0000 (10:41 +0000)]
delete configure droppings in setup clean

16 years agoFIX #1280: getPermissions wasn't working on Vista
Simon Marlow [Thu, 23 Aug 2007 11:16:05 +0000 (11:16 +0000)]
FIX #1280: getPermissions wasn't working on Vista
It turns out that _access() in the Windows C runtime used to ignore
the X_OK flag, in Vista it now returns an error.  After browsing the C
runtime sources, I discovered that _stat() has an almost but not quite
completely bogus implementation of the st_mode field, which lets us
implement a slightly less incorrect approximation to getPermissions than does
_access().

16 years agoRestore working version of copyFile for nhc98.
Malcolm.Wallace@cs.york.ac.uk [Sat, 4 Aug 2007 09:28:15 +0000 (09:28 +0000)]
Restore working version of copyFile for nhc98.
The recent patch changing its implementation was insufficiently portable.

16 years agoUse Control.Exception exception handlers, and make copyFile meet its spec
Ian Lynagh [Sun, 22 Jul 2007 11:26:49 +0000 (11:26 +0000)]
Use Control.Exception exception handlers, and make copyFile meet its spec
copyFile wasn't atomic before

16 years agoFix whitespace
Ian Lynagh [Sun, 22 Jul 2007 10:34:05 +0000 (10:34 +0000)]
Fix whitespace

16 years agoFix doesDirectoryExist; fixes trac #1490
Ian Lynagh [Sat, 21 Jul 2007 20:01:54 +0000 (20:01 +0000)]
Fix doesDirectoryExist; fixes trac #1490
We used to always strip trailing path separators from the path we were
given, but mingw's stat succeeds for C:\ and C:\foo but fails for C:
and C:\foo\. Thus we now use a trailing slash if and only if the path
we are given is a drive.

16 years agoOoops, we don't have dropDrive
Ian Lynagh [Sun, 1 Jul 2007 22:25:33 +0000 (22:25 +0000)]
Ooops, we don't have dropDrive
Without it we sometimes do a redundant directory creation attempt, but
no harm should be done.

16 years agoUse filepath rather than our own System.Directory.Internals
Ian Lynagh [Sat, 30 Jun 2007 12:52:44 +0000 (12:52 +0000)]
Use filepath rather than our own System.Directory.Internals

16 years agoAdd makeRelativeToCurrentDirectory
Ian Lynagh [Sat, 30 Jun 2007 10:58:34 +0000 (10:58 +0000)]
Add makeRelativeToCurrentDirectory
Moved from the filepath package, which we now depend on.

16 years agoAvoid using C comments in Haskell code :-)
Malcolm.Wallace@cs.york.ac.uk [Wed, 27 Jun 2007 10:39:23 +0000 (10:39 +0000)]
Avoid using C comments in Haskell code :-)

16 years agoinstall HsDirectoryConfig.h
Bertram Felgenhauer [Wed, 13 Jun 2007 04:03:40 +0000 (04:03 +0000)]
install HsDirectoryConfig.h

16 years ago#undef PACKAGE_NAME and friends to avoid clashes
Simon Marlow [Wed, 6 Jun 2007 14:21:53 +0000 (14:21 +0000)]
#undef PACKAGE_NAME and friends to avoid clashes

16 years ago--configure-option and --ghc-option are now provided by Cabal
Ross Paterson [Mon, 4 Jun 2007 11:59:35 +0000 (11:59 +0000)]
--configure-option and --ghc-option are now provided by Cabal

16 years agoCpp exclusion macro -> defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
Malcolm.Wallace@cs.york.ac.uk [Fri, 25 May 2007 10:25:40 +0000 (10:25 +0000)]
Cpp exclusion macro -> defined(__GLASGOW_HASKELL__) || defined(__HUGS__)
  Nhc98 does not define the symbol __NHC__ when compiling C code.

16 years agoall but NHC
Ross Paterson [Fri, 25 May 2007 00:51:19 +0000 (00:51 +0000)]
all but NHC

16 years agoupdate CFILES pragma (used by Hugs only)
Ross Paterson [Fri, 25 May 2007 00:16:25 +0000 (00:16 +0000)]
update CFILES pragma (used by Hugs only)

16 years agoglasgow only
Malcolm.Wallace@cs.york.ac.uk [Thu, 24 May 2007 14:45:08 +0000 (14:45 +0000)]
glasgow only

16 years agoPut configure.ac back in the repo; not sure how it got removed
Ian Lynagh [Thu, 24 May 2007 14:17:45 +0000 (14:17 +0000)]
Put configure.ac back in the repo; not sure how it got removed

16 years agoNeed shlobj.h on Windows
Ian Lynagh [Wed, 23 May 2007 20:09:04 +0000 (20:09 +0000)]
Need shlobj.h on Windows

16 years agoRejig the #ifdeffery directory_2007-05-24
Ian Lynagh [Sun, 20 May 2007 15:57:43 +0000 (15:57 +0000)]
Rejig the #ifdeffery
Put __hscore_?_OK and __hscore_S_I?USR in the C inside
#ifdef __GLASGOW_HASKELL__ to match the foreign imports in the Haskell
code.

Don't check the constants are defined before defining the C functions,
as we assume that the functions exist in the Haskell code anyway.

16 years agoTiny refactoring
Ian Lynagh [Sun, 20 May 2007 15:43:57 +0000 (15:43 +0000)]
Tiny refactoring

16 years agoRemove non-directory stuff (of base), and rename package to "directory"
Ian Lynagh [Sat, 19 May 2007 11:54:19 +0000 (11:54 +0000)]
Remove non-directory stuff (of base), and rename package to "directory"

16 years agoRemove Control.Parallel*, now in package parallel
Ian Lynagh [Fri, 18 May 2007 16:54:31 +0000 (16:54 +0000)]
Remove Control.Parallel*, now in package parallel

16 years agoRemove the pretty-printing modules (now in package pretty(
Ian Lynagh [Fri, 18 May 2007 16:25:21 +0000 (16:25 +0000)]
Remove the pretty-printing modules (now in package pretty(

16 years agoadd install-includes: field
Simon Marlow [Thu, 17 May 2007 09:49:48 +0000 (09:49 +0000)]
add install-includes: field

16 years agocorrect the documentation for newForeignPtr
Simon Marlow [Wed, 16 May 2007 08:20:19 +0000 (08:20 +0000)]
correct the documentation for newForeignPtr

16 years agoWhen doing safe writes, handle EAGAIN rather than raising an exception
Simon Marlow [Tue, 15 May 2007 11:46:15 +0000 (11:46 +0000)]
When doing safe writes, handle EAGAIN rather than raising an exception
It might be that stdin was set to O_NONBLOCK by someone else, and we
should handle this case.  (this happens with GHCi, I'm not quite sure why)

16 years agoUse FilePath to make paths when building GHC/Prim.hs and GHC/PrimopWrappers.hs
Ian Lynagh [Mon, 14 May 2007 11:04:09 +0000 (11:04 +0000)]
Use FilePath to make paths when building GHC/Prim.hs and GHC/PrimopWrappers.hs

16 years agoBuild GHC/Prim.hs and GHC/PrimopWrappers.hs from Cabal
Ian Lynagh [Wed, 9 May 2007 14:26:55 +0000 (14:26 +0000)]
Build GHC/Prim.hs and GHC/PrimopWrappers.hs from Cabal

16 years agofix imports for non-GHC
Ross Paterson [Sun, 13 May 2007 00:11:38 +0000 (00:11 +0000)]
fix imports for non-GHC

16 years agoGive an example of how intersection takes elements from the first set
Ian Lynagh [Sat, 12 May 2007 16:02:53 +0000 (16:02 +0000)]
Give an example of how intersection takes elements from the first set

16 years agofurther clarify the docs for 'evaluate'
Malcolm.Wallace@cs.york.ac.uk [Tue, 8 May 2007 10:11:24 +0000 (10:11 +0000)]
further clarify the docs for 'evaluate'

16 years agoimprove documentation for evaluate
Simon Marlow [Tue, 8 May 2007 08:17:12 +0000 (08:17 +0000)]
improve documentation for evaluate

16 years agoFIX: #724 (tee complains if used in a process started by ghc)
Simon Marlow [Mon, 7 May 2007 12:35:37 +0000 (12:35 +0000)]
FIX: #724 (tee complains if used in a process started by ghc)

Now, we only set O_NONBLOCK on file descriptors that we create
ourselves.  File descriptors that we inherit (stdin, stdout, stderr)
are kept in blocking mode.  The way we deal with this differs between
the threaded and non-threaded runtimes:

 - with -threaded, we just make a safe foreign call to read(), which
   may block, but this is ok.

 - without -threaded, we test the descriptor with select() before
   attempting any I/O.  This isn't completely safe - someone else
   might read the data between the select() and the read() - but it's
   a reasonable compromise and doesn't seem to measurably affect
   performance.

16 years agothe "unknown" types are no longer required
Simon Marlow [Thu, 26 Apr 2007 13:59:31 +0000 (13:59 +0000)]
the "unknown" types are no longer required

16 years agoMake Control.Exception buildable by nhc98.
Malcolm.Wallace@cs.york.ac.uk [Fri, 4 May 2007 10:55:48 +0000 (10:55 +0000)]
Make Control.Exception buildable by nhc98.
The nhc98 does not have true exceptions, but these additions should be
enough infrastructure to pretend that it does.  Only IO exceptions will
actually work.

16 years agoTrim imports, remove a cycle
simonpj@microsoft [Thu, 3 May 2007 12:30:10 +0000 (12:30 +0000)]
Trim imports, remove a cycle

A first attempt at removing gratuitous cycles in the base package.
I've removed the useless module GHC.Dynamic, which gets rid of a cycle;
and trimmed off various unnecesary imports.

This also fixes the IsString import problem.

16 years agoBe less quiet about building the base package
simonpj@microsoft [Thu, 3 May 2007 09:37:07 +0000 (09:37 +0000)]
Be less quiet about building the base package

17 years agoRemove Splittable class (a vestige of linear implicit parameters)
simonpj@microsoft [Wed, 21 Feb 2007 10:43:29 +0000 (10:43 +0000)]
Remove Splittable class (a vestige of linear implicit parameters)

17 years agoAdd IsString to exports of GHC.Exts
simonpj@microsoft [Wed, 21 Feb 2007 10:42:49 +0000 (10:42 +0000)]
Add IsString to exports of GHC.Exts

16 years agotweak documentation as per suggestion from Marc Weber on libraries@haskell.org
Simon Marlow [Thu, 26 Apr 2007 07:59:21 +0000 (07:59 +0000)]
tweak documentation as per suggestion from Marc Weber on libraries@haskell.org

17 years agoAdd extra libraries when compiling with GHC on Windows
Ian Lynagh [Tue, 24 Apr 2007 21:31:27 +0000 (21:31 +0000)]
Add extra libraries when compiling with GHC on Windows

17 years agoFollow Cabal changes in Setup.hs
Ian Lynagh [Wed, 18 Apr 2007 11:43:45 +0000 (11:43 +0000)]
Follow Cabal changes in Setup.hs

17 years agoinclusion of libc.h is conditional on __APPLE__
Malcolm.Wallace@cs.york.ac.uk [Tue, 17 Apr 2007 08:55:56 +0000 (08:55 +0000)]
inclusion of libc.h is conditional on __APPLE__

17 years agoMERGE: fix ugly uses of memcpy foreign import inside ST
Simon Marlow [Mon, 16 Apr 2007 10:15:30 +0000 (10:15 +0000)]
MERGE: fix ugly uses of memcpy foreign import inside ST
fixes cg026

17 years agoFix configure with no --with-cc
Ian Lynagh [Sun, 15 Apr 2007 16:51:43 +0000 (16:51 +0000)]
Fix configure with no --with-cc

17 years agoMacOS 10.3 needs #include <libc.h> as well
Malcolm.Wallace@cs.york.ac.uk [Sat, 14 Apr 2007 15:55:07 +0000 (15:55 +0000)]
MacOS 10.3 needs #include <libc.h> as well

17 years agoFor nhc98 only, use hsc2hs to determine System.Posix.Types.
Malcolm.Wallace@cs.york.ac.uk [Fri, 13 Apr 2007 15:58:31 +0000 (15:58 +0000)]
For nhc98 only, use hsc2hs to determine System.Posix.Types.
Avoids the existing autoconf stuff, by introducing an auxiliary module
called NHC.PosixTypes that uses hsc2hs, which is then simply re-exported
from System.Posix.Types.

17 years agowe need a makefileHook too
Simon Marlow [Fri, 13 Apr 2007 15:13:07 +0000 (15:13 +0000)]
we need a makefileHook too

17 years agoRemove unnecesary SOURCE import of GHC.Err in GHC.Pack
Ian Lynagh [Thu, 12 Apr 2007 23:59:08 +0000 (23:59 +0000)]
Remove unnecesary SOURCE import of GHC.Err in GHC.Pack

17 years agoadd System.Posix.Types to default nhc98 build
Malcolm.Wallace@cs.york.ac.uk [Thu, 12 Apr 2007 19:50:26 +0000 (19:50 +0000)]
add System.Posix.Types to default nhc98 build

17 years agomark System.IO.openTempFile as non-portable in haddocks
Malcolm.Wallace@cs.york.ac.uk [Thu, 12 Apr 2007 13:53:59 +0000 (13:53 +0000)]
mark System.IO.openTempFile as non-portable in haddocks

17 years agoDon't turn on -Werror in Data.Fixed
Ian Lynagh [Wed, 11 Apr 2007 15:57:21 +0000 (15:57 +0000)]
Don't turn on -Werror in Data.Fixed
This may be responsible for the x86_64/Linux nightly build failing.

17 years agoFix -Wall warnings
Ian Lynagh [Wed, 11 Apr 2007 00:49:29 +0000 (00:49 +0000)]
Fix -Wall warnings

17 years agoAdd missing case in removePrefix
Ian Lynagh [Wed, 11 Apr 2007 00:25:37 +0000 (00:25 +0000)]
Add missing case in removePrefix

17 years agoAllow additional options to pass on to ./configure to be given
Ian Lynagh [Fri, 6 Apr 2007 15:18:56 +0000 (15:18 +0000)]
Allow additional options to pass on to ./configure to be given

17 years agoHugs only: fix location of unsafeCoerce
Ross Paterson [Fri, 6 Apr 2007 11:37:31 +0000 (11:37 +0000)]
Hugs only: fix location of unsafeCoerce

17 years agofix isPortableBuild test
Ross Paterson [Fri, 6 Apr 2007 11:13:04 +0000 (11:13 +0000)]
fix isPortableBuild test

17 years agoUnsafe.Coerce doesn't need Prelude
Ian Lynagh [Thu, 5 Apr 2007 17:59:30 +0000 (17:59 +0000)]
Unsafe.Coerce doesn't need Prelude

17 years agomake Setup and base.cabal suitable for building the libraries with GHC
Ian Lynagh [Thu, 8 Mar 2007 16:38:24 +0000 (16:38 +0000)]
make Setup and base.cabal suitable for building the libraries with GHC

17 years agoHsByteArray doesn't exist
Ian Lynagh [Wed, 4 Apr 2007 16:30:51 +0000 (16:30 +0000)]
HsByteArray doesn't exist

17 years agoDon't use Fd/FD in foreign decls
Ian Lynagh [Wed, 4 Apr 2007 15:58:22 +0000 (15:58 +0000)]
Don't use Fd/FD in foreign decls
Using CInt makes it much easier to verify that it is right, and we won't
get caught out by possible newtype switches between CInt/Int.

17 years agoHsByteArray doesn't exist
Ian Lynagh [Wed, 4 Apr 2007 15:57:32 +0000 (15:57 +0000)]
HsByteArray doesn't exist

17 years agoFix braino
Ian Lynagh [Wed, 4 Apr 2007 14:45:08 +0000 (14:45 +0000)]
Fix braino

17 years agoFix incorrect changes to C types in a foreign import for nhc98.
Malcolm.Wallace@cs.york.ac.uk [Wed, 4 Apr 2007 12:09:54 +0000 (12:09 +0000)]
Fix incorrect changes to C types in a foreign import for nhc98.
If we use type CTime, it needs to be imported.  Also, CTime is not an
instance of Integral, so use some other mechanism to convert it.

17 years agoFix C/Haskell type mismatches
Ian Lynagh [Tue, 3 Apr 2007 19:49:43 +0000 (19:49 +0000)]
Fix C/Haskell type mismatches

17 years agoadd new module Unsafe.Coerce to build system
Malcolm.Wallace@cs.york.ac.uk [Tue, 3 Apr 2007 13:13:33 +0000 (13:13 +0000)]
add new module Unsafe.Coerce to build system

17 years agoFix type mismatches between foreign imports and HsBase.h
Ian Lynagh [Tue, 3 Apr 2007 00:16:11 +0000 (00:16 +0000)]
Fix type mismatches between foreign imports and HsBase.h

Merge to stable, checking for interface changes.

17 years agoput 'unsafeCoerce' in a standard location
Malcolm.Wallace@cs.york.ac.uk [Mon, 13 Nov 2006 11:41:03 +0000 (11:41 +0000)]
put 'unsafeCoerce' in a standard location

17 years agofix for nhc98 build
Malcolm.Wallace@cs.york.ac.uk [Mon, 2 Apr 2007 14:17:12 +0000 (14:17 +0000)]
fix for nhc98 build

17 years agoFunction crossMapP for fixing desugaring of comprehensions
Manuel M T Chakravarty [Mon, 2 Apr 2007 08:29:06 +0000 (08:29 +0000)]
Function crossMapP for fixing desugaring of comprehensions

Merge into 6.6 branch.

17 years agoAdd min/max handling operations for IntSet/IntMap
jeanphilippe.bernardy@gmail.com [Thu, 15 Mar 2007 07:23:52 +0000 (07:23 +0000)]
Add min/max handling operations for IntSet/IntMap

17 years agoMonoid instance for Maybe and two wrappers: First and Last. trac proposal #1189
Jeffrey Yasskin [Fri, 9 Mar 2007 06:25:50 +0000 (06:25 +0000)]
Monoid instance for Maybe and two wrappers: First and Last. trac proposal #1189

17 years agoFix the type of wgencat
Ian Lynagh [Thu, 29 Mar 2007 16:42:23 +0000 (16:42 +0000)]
Fix the type of wgencat

17 years agofix strictness of foldr/build rule for take, see #1219
Simon Marlow [Tue, 27 Mar 2007 10:39:41 +0000 (10:39 +0000)]
fix strictness of foldr/build rule for take, see #1219

17 years agoremove Makefile.inc (only affects nhc98)
Malcolm.Wallace@cs.york.ac.uk [Tue, 20 Mar 2007 12:00:57 +0000 (12:00 +0000)]
remove Makefile.inc (only affects nhc98)

17 years agocopyBytes copies bytes, not elements; fixes trac #1203
Ian Lynagh [Mon, 12 Mar 2007 11:35:55 +0000 (11:35 +0000)]
copyBytes copies bytes, not elements; fixes trac #1203

17 years agoAdd ioeGetLocation, ioeSetLocation to System/IO/Error.hs; trac #1191
Ian Lynagh [Sun, 4 Mar 2007 13:03:15 +0000 (13:03 +0000)]
Add ioeGetLocation, ioeSetLocation to System/IO/Error.hs; trac #1191

17 years agofix race condition in prodServiceThread
Simon Marlow [Wed, 7 Mar 2007 13:43:30 +0000 (13:43 +0000)]
fix race condition in prodServiceThread
See #1187

17 years agoPrevent duplication of unsafePerformIO on a multiprocessor
Simon Marlow [Tue, 6 Mar 2007 14:54:24 +0000 (14:54 +0000)]
Prevent duplication of unsafePerformIO on a multiprocessor
Fixes #986.  The idea is to add a new operation

  noDuplicate :: IO ()

it is guaranteed that if two threads have executed noDuplicate, then
they are not duplicating any computation.

We now provide two new unsafe operations:

unsafeDupablePerformIO    :: IO a -> a
unsafeDupableInterleaveIO :: IO a -> IO a

which are equivalent to the old unsafePerformIO and unsafeInterleaveIO
respectively.  The new versions of these functions are defined as:

unsafePerformIO    m = unsafeDupablePerformIO (noDuplicate >> m)
unsafeInterleaveIO m = unsafeDupableInterleaveIO (noDuplicate >> m)

17 years agoexpand docs for forkOS
Simon Marlow [Mon, 5 Mar 2007 16:09:21 +0000 (16:09 +0000)]
expand docs for forkOS

17 years agodocument timeout limitations
Peter Simons [Wed, 28 Feb 2007 22:35:40 +0000 (22:35 +0000)]
document timeout limitations

17 years agoSo many people were involved in the writing of this module that
Peter Simons [Wed, 28 Feb 2007 22:34:15 +0000 (22:34 +0000)]
So many people were involved in the writing of this module that
it feels unfair to single anyone out as the lone copyright
holder.

17 years agoThis patch adds a timeout function to the base libraries. Trac #980 is
Peter Simons [Fri, 26 Jan 2007 22:26:15 +0000 (22:26 +0000)]
This patch adds a timeout function to the base libraries. Trac #980 is
concerned with this issue. The design guideline for this implementation
is that 'timeout N E' should behave exactly the same as E as long as E
doesn't time out. In our implementation, this means that E has the same
myThreadId it would have without the timeout wrapper. Any exception E
might throw cancels the timeout and propagates further up. It also
possible for E to receive exceptions thrown to it by another thread.

17 years agoPArr: fixed permutations
Manuel M T Chakravarty [Mon, 5 Mar 2007 05:58:07 +0000 (05:58 +0000)]
PArr: fixed permutations