1. 16 10月, 2014 1 次提交
    • M
      Implement Array.item, List.item, Seq.item · f028ee4a
      Max Malook 提交于
      commit fef49e9f293499c24b30d919b7f5717f150b2c1c
      Author: latkin <latkin@microsoft.com>
      Date:   Wed Oct 15 15:38:35 2014 -0700
      
          Updating tests to use List/Seq.item
      
      commit beffde30280cdf7e03ddaf03f3830547e7c1616a
      Author: latkin <latkin@microsoft.com>
      Date:   Wed Oct 15 15:19:45 2014 -0700
      
          Change codebase to use List.item, Seq.item, to avoid deprecated warning. #nowarn added for those files which are proto-compiled (so we can't change to item yet)
      
      commit db122cc5416e106a8f2b1b32ad283b76e6741ff0
      Author: latkin <latkin@microsoft.com>
      Date:   Wed Oct 15 14:18:41 2014 -0700
      
          Validate input for Seq before calling GetEnumerator()
      
      commit e71caf605179083527617937941b7332c57b2f8e
      Author: latkin <latkin@microsoft.com>
      Date:   Wed Oct 15 14:11:13 2014 -0700
      
          Minor fixups to XML documentation
      
      commit a42c5f1354c77caeab0a792f683712dc91720c61
      Merge: 321dcde0 4d20814
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 13:24:42 2014 -0700
      
          Merge branch 'item' of https://git01.codeplex.com/forks/mexx24/visualfsharp into PR
      
          Conflicts:
          	src/fsharp/FSharp.Core.Unittests/SurfaceArea.4.0.fs
          	src/fsharp/FSharp.Core.Unittests/SurfaceArea.Portable.fs
          	src/fsharp/FSharp.Core/array.fsi
      
      commit 4d20814a858a054a92545571c5f99501a26c1974
      Author: Max Malook <community@malook.de>
      Date:   Thu Jul 10 02:03:36 2014 +0200
      
          mark Seq.nth, List.nth and Array.get as obsolete
      
      commit 73a6a55a6482a58be1da32a322e7743e41125125
      Author: Max Malook <community@malook.de>
      Date:   Thu Jul 10 01:26:35 2014 +0200
      
          add Array.item function
      
      commit d1dd69283ce3a8f6f6581313aff3fc9f3e4536d5
      Author: Max Malook <community@malook.de>
      Date:   Thu Jul 10 01:09:00 2014 +0200
      
          add List.item function
      
      commit a9c613e3b0c68155194fa7e8cd4badc3cfd4591c
      Author: Max Malook <community@malook.de>
      Date:   Wed Jul 9 18:27:46 2014 +0200
      
          add Seq.item function
      f028ee4a
  2. 13 10月, 2014 8 次提交
    • P
      Implement Seq.mapi2 · 3a27cd82
      Patrick McDonald 提交于
      commit 7a45265d8163b018c21963febe1b3ef56d6cf0a1
      Merge: d7bcad77 a7f5140
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 16:32:43 2014 -0700
      
          Merge branch 'mapi2' of https://git01.codeplex.com/forks/patrickmcdonald/visualfsharp into PR
      
          Conflicts:
          	src/fsharp/FSharp.Core.Unittests/SurfaceArea.4.0.fs
          	src/fsharp/FSharp.Core.Unittests/SurfaceArea.Portable.fs
          	src/fsharp/FSharp.Core/seq.fs
      
      commit a7f51406a3981a474289230977cf2caac8975752
      Author: Patrick McDonald <paddymcdonald@gmail.com>
      Date:   Thu Aug 14 00:39:02 2014 +0100
      
          Fix surface area portable tests
      
      commit 4bdfa7625d42884824a53e8053bc5bcdffce91b1
      Author: Patrick McDonald <paddymcdonald@gmail.com>
      Date:   Thu Aug 7 15:29:17 2014 +0100
      
          Add more Seq.mapi2 test coverage
      
      commit 64b3ffece57e907e513f624380e3227b5e58504c
      Author: Patrick McDonald <paddymcdonald@gmail.com>
      Date:   Wed Aug 6 15:03:03 2014 +0100
      
          Add mapi2 to Seq
      3a27cd82
    • P
      Implement Seq.iteri2 · d7bcad77
      Patrick McDonald 提交于
      commit 459c7a370991f46ae69125cf35966b750998dae3
      Merge: e36641b5 131b462
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 16:19:14 2014 -0700
      
          Merge branch 'SeqIteri2' of https://git01.codeplex.com/forks/patrickmcdonald/visualfsharp into PR
      
      commit 131b46238ba4552bf57e361d40881352dfe860f0
      Author: Patrick McDonald <paddymcdonald@gmail.com>
      Date:   Thu Aug 14 00:36:26 2014 +0100
      
          Fix surface area portable tests
      
      commit b27432c38b13d8c68dc2e7bd734b67b9c54bf5f6
      Author: Patrick McDonald <paddymcdonald@gmail.com>
      Date:   Thu Aug 7 14:11:10 2014 +0100
      
          Add more Seq.iteri2 test coverage
      
      commit a1be9925d3cb54975722d6de140c0f8c54827ab2
      Author: Patrick McDonald <paddymcdonald@gmail.com>
      Date:   Tue Aug 5 23:02:18 2014 +0100
      
          Add iteri2 to Seq Module
      d7bcad77
    • A
      Implement Array.map3, Seq.map3 · e36641b5
      Andrew Khmylov 提交于
      commit cf8e955a90502cc4d64f3b87269729640c03acaf
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 16:00:01 2014 -0700
      
          Simplify array length check, add portable surface area test
      
      commit b24338d37046b85e6aaac20366fe84e354d3f0c6
      Merge: 321dcde0 87e2dbf
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 15:15:10 2014 -0700
      
          Merge branch 'fsharp4' of https://git01.codeplex.com/forks/andrew_khmylov/fsharp into PR
      
      commit 87e2dbf594afcba7b09f6f401eb89197a874a6bb
      Author: Andrew Khmylov <andrew.khmylov@gmail.com>
      Date:   Sat Jul 12 18:53:02 2014 +0300
      
          Add Array.map3 and Seq.map3 functions
      e36641b5
    • S
      Implement Array.countBy, List.countBy · 321dcde0
      Steffen Forkmann 提交于
      commit 30c0a3284b42ec0fd59bd57d8a63f63613b77301
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 12:35:13 2014 -0700
      
          Changing List.countBy to dedicated implementation
      
      commit 976c6e995bdad2ac55ec8314aa1d03c66f644423
      Merge: 15f04de4 c521808
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 10:43:21 2014 -0700
      
          Merge branch 'countBy3' of https://git01.codeplex.com/forks/forki/fsharp into PR
      
          Conflicts:
          	src/fsharp/FSharp.Core.Unittests/FSharp.Core/Microsoft.FSharp.Collections/ListModule.fs
          	src/fsharp/FSharp.Core/seq.fsi
      
      commit c5218084e04c4fb9ea5a1ee6c92c8647258cb542
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Sat Jul 5 10:47:27 2014 +0200
      
          ok variable is not needed in countBy
      
      commit fa934cf2aa536662df38175388d94665c7d87132
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Fri Jul 4 15:36:20 2014 +0200
      
          Adding surface area for countBy
      
      commit 63e669155017bf186bfdeb7db47a2f59bdce6765
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 16:59:46 2014 +0200
      
          Use direct array implementation for Array.countBy
      
      commit 0a975603f071973a19a10f1cb4c4cedc78d05158
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 16:34:50 2014 +0200
      
          Use only one test method for countBy
      
      commit a25a085cab89b1a9af193e19f8469e25a984f0bf
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 16:32:51 2014 +0200
      
          Fix typo in countBy docs
      
      commit 5d9af6ea78000d5aab885f6361556a72a6d04078
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 16:32:40 2014 +0200
      
          Rename to array in Array.countBy
      
      commit deeaba955ce60ef3981797d16ec423a1f34f863a
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Mon Jun 30 16:15:02 2014 +0200
      
          Show possible System.ArgumentNullException in docs for Array.countBy
      
      commit 532cdccafd47561517e276acc98b990e5f78b6f1
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Mon Jun 30 12:10:39 2014 +0200
      
          implementing "countBy" for array and list
      321dcde0
    • S
      Implement Seq.fold2 · 15f04de4
      Steffen Forkmann 提交于
      commit 3c379b6deba89aeccd0af4d3744f69076f6cc34d
      Merge: f197816d 6e6f68c
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 10:23:58 2014 -0700
      
          Merge branch 'fold2' of https://git01.codeplex.com/forks/forki/fsharp into PR
      
      commit 6e6f68ce8b1b0dbf7deb92cf1c6887792118821d
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Fri Jul 4 14:49:20 2014 +0200
      
          Adding surface are for fold2
      
      commit ac88069f9d2ed8196e5cdbd5294d891d52942b47
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Fri Jul 4 14:45:05 2014 +0200
      
          Changing Seq.fold2 - sequences need not have equal lengths
      
      commit 74adf606599ba4b648142c532249f782501f0758
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Thu Jul 3 23:06:41 2014 +0200
      
          Check exceptions for Seq.fold2
      
      commit 2be78be51151b83cc9f294254b9de7b20fd71b79
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Thu Jul 3 23:02:49 2014 +0200
      
          Implementing Seq.fold2
      15f04de4
    • S
      Implement Array.head · f197816d
      Steffen Forkmann 提交于
      commit 5898cc7e82befdbf9b7457f41e898c3b1b916a57
      Merge: 173d8336 fec1862
      Author: latkin <latkin@microsoft.com>
      Date:   Sun Oct 12 10:15:38 2014 -0700
      
          Merge branch 'hd' of https://git01.codeplex.com/forks/forki/fsharp into PR
      
          Conflicts:
          	src/fsharp/FSharp.Core.Unittests/SurfaceArea.4.0.fs
          	src/fsharp/FSharp.Core.Unittests/SurfaceArea.Portable.fs
      
      commit fec186272559585de8e47fe070189751906f8553
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 18:29:27 2014 +0200
      
          Adding surface areay for Array.head
      
      commit 334166c0ada7d5457f3c77756d192167b5ebf9f1
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 18:25:36 2014 +0200
      
          Improve docs for Array.head
      
      commit 9dd524476c8afe127d64d2d2d87ae81cae736737
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Wed Jul 2 18:24:40 2014 +0200
      
          Fixing error message for Array.head
      
      commit b4cf72e2b22b574c28fb7daaf85887546dd06b17
      Author: Steffen Forkmann <steffen.forkmann@msu-solutions.de>
      Date:   Mon Jun 30 15:56:22 2014 +0200
      
          implementing "head" for array
      f197816d
    • S
      Implement Array.replicate, Seq.replicate · 173d8336
      Steffen Forkmann 提交于
      Commits:
          Create missing test for List.replicate
      
          Implement Array.replicate
      
          Implement Seq.replicate
      
          Make the docs for replicate a bit clearer
      
          Use only one test method for replicate
      
          Test for negative arguments for replicate
      
          Variable i  not used in Seq.replicate
      
          Use mutable cons cell for List.replicate
      
          Use System.Linq.Enumerable.Repeat in Seq.replicate if we are on .NET 4.0 or higher
      
          Adding surface area for replicate
      
          Small tweaks
      
          Rolling back change to List.replicate
      173d8336
    • R
      Implement Array.tryHead, List.tryHead, Seq.tryHead · b10392dc
      Rodrigo Vidal 提交于
      Commits:
          add tryHead function to the list module
      
          add tryHead function to the array module
      
          add tryHead function to the seq module
      
          add exception possibility to array tryhead docs
      
          optimize Array.tryHead
      
          add surface area tests
      
          Minor cleanup
      b10392dc
  3. 11 10月, 2014 2 次提交
    • S
      Implement Array.splitAt, List.splitAt · 1fc64798
      Steffen Forkmann 提交于
      Commits:
          implementing "splitAt" for array and list
      
          Check for ArgumentNullException in Array.splitAt
      
          Use temporary array to build List.splitAt
      
          Simplify splitAt test methods according to style guide
      
          Do now use array splicing in Array.splitAt as described in style guide
      
          Use mutable list instead of temp array in List.splitAt
      
          Do not use original array in Array.splitAt - make a clone
      
          Turn splitAtFreshConsTail inside-out as @latkin suggested
      
          Fix typos, add surface area tests, apply code review feedback from @dsyme
      1fc64798
    • S
      Implement Array.takeWhile, List.takeWhile · c80c8f07
      Steffen Forkmann 提交于
      Commits:
          implementing "takeWhile" for array and list
      
          Check for ArgumentNullException in Array.takeWhile
      
          Performance optimization for Array.takeWhile
      
          Do not use array slicing in Array.takeWhile
      
          Use a temporary array for List.takeWhile
      
          Use mutable list version instead of temp array for List.takeWhile
      
          Adding surface area for takeWhile
      
          Adding more test cases for takeWhile
      
          Fix bug in List.takeWhile where predicate of first element is false
      
          Apply dsyme's suggestion on takeWhile
      c80c8f07
  4. 10 10月, 2014 10 次提交
    • S
      Implement Array.take, List.take · 3c39e6e2
      Steffen Forkmann 提交于
      Commits:
          implementing "take" for array and list
      
          Check for ArgumentNullException in Array.take
      
          Fix typo
      
          Performance improvement for Array.take
      
          Performance improvement for List.take
      
          Use temporay array for List.take
      
          Do not use array slicing for Array.take
      
          Do not check length of list in List.take
      
          Use mutable list instead of temporay array for List.take
      
          Add List.Take and Array.Take to surface
      
          Always create a new array in Array.take
      
          Remove special case for List.take
      
          Simplify List.take as suggested by @latkin
      3c39e6e2
    • S
      Implement Array.distinctBy, List.distinctBy · bd6ac78c
      Steffen Forkmann 提交于
      Commits:
          implementing "distinctBy" for array and list
      
          Show possible ArgumentNullException in docs for Array.distinctBy
      
          We don't need StructBox any more in "distinctBy"
      
          Use single test method for distinctBy
      
          Add null handling tests for "distinctBy"
      
          Use temp array instead of array comprehension in Array.distinctBy
      
          Use mutable lists for distinctBy
      
          Fix doc parameter name for Array
      
          Adding surface area tests
      bd6ac78c
    • S
      Implement Array.distinct, List.distinct · bebe9a2f
      Steffen Forkmann 提交于
      Commits:
          implementing "distinct" for array and list
      
          fix typo
      
          Use a HashSet instead of dictionary for "distinct"
      
          Show possible ArgumentNullException in docs for Array.distinct
      
          Use only one test method for "distinct"
      
          Adding surface area for "distinct"
      
          Use mutable list for "distinct"
      
          Make Array.distinct use a temp array instead of array comprehension
      
          Adding some test cases for distinct
      
          We don't need StructBox any more in Array.distinct
      
          We don't need StructBox any more in List.distinct
      
          We don't need StructBox any more in Seq.distinct
      
          Move the List.distinct back to local.fs
      
          Add test cases for distinct which show null handling
      
          Fix typos
      bebe9a2f
    • S
      Implement Array.last, List.last · 70146cf9
      Steffen Forkmann 提交于
      Commits:
          implementing "last" for array and list
      
          Show possible System.ArgumentNullException in docs for Array.last
      
          Use direct array lookup for Array.last
      
          use only one test method for "last"
      
          Align "last" docs with the rest
      
          Using tail rec version for List.last
      
          Adding surface area for "last"
      70146cf9
    • S
      Implement Array.pairwise, List.pairwise · b9541ad7
      Steffen Forkmann 提交于
      Commits:
          implementing "pairwise" for array and list
      
          Show possible System.ArgumentNullException in docs for Array.pairwise
      
          use Array.init version for Array.pairwise
      
          use Array.init version for List.pairwise
      
          Adding surface area for pairwise
      b9541ad7
    • S
      Implement Array.singleton, List.singleton · 0e57aa3c
      Steffen Forkmann 提交于
      Commits:
          implementing "singleton" for array and list
      
          Add surface area for singleton
      
          Add null test case for singleton
      
          Change 'yields' to 'contains' in docs, per code review
      0e57aa3c
    • S
      Implement Array.compareWith, List.compareWith · befea5b6
      Steffen Forkmann 提交于
      Commits:
          Implementing "compareWith" for Array and List
      
          Show ArgumentNullException for compareWith on arrays
      
          use tail recursive version for Array.compareWith
      
          use tail recursive version for List.compareWith
      
          Adding surface area for Array.CompareWith and List.CompareWith
      
          Only use one test method for compareWith
      
          Adding more tests for compareWith
      
          Putting all length checks to the beginning in Array.compareWith
      
          Use min operator in Array.compareWith
      befea5b6
    • S
      Implement Array.exactlyOne, List.exactlyOne · cc2834df
      Steffen Forkmann 提交于
      Commits:
          Implementing "exactlyOne" for Array and List
      
          Alphabetical order in .fsi files
      
          Simplify unit tests for exactlyOne
      
          Check for null in Array.exactlyOne
      
          Make XML comment more specific in List.exactlyOne
      
          Adding surface area for Array.ExactlyOne and List.ExactlyOne
      
          Do not use pattern matching on array in Array.exactlyOne
      cc2834df
    • S
      Implement Array.where, List.where · 0fd67dbc
      Steffen Forkmann 提交于
      Commits:
          Implementing "where" for Array and List
      
          Alphabetical order in .fsi files
      
          Show possible System.ArgumentNullException in docs for Array.where
      
          Make XML docs more specific for Array.where and List.where
      
          Make it more obvious that Array.where = Array.filter
      
          Adding surface area fir Array.where and List.where
      
          Array.filter already does a null check. No need to do this in Array.where
      0fd67dbc
    • M
      Implement Array.contains, List.contains, Seq.contains · e8ac90ab
      Max Malook 提交于
          add Seq.contains function
      
          add List.contains function
      
          add Array.contains function
      
          adujst assertion as requested by code review
      
          remove empty comment lines
      
          refactor Seq.contains towards better performance as suggested by code review
      
          refactor List.contains towards better performance as suggested by code review
      
          refactor Array.contains towards better performance as suggested by code review
      
          update surface area tests with added contains functions
      
          define contains functions as inline
      
          Resetting all of the whitespace changes, so that overall diff stays clean
      e8ac90ab
  5. 09 10月, 2014 2 次提交
  6. 01 10月, 2014 3 次提交
  7. 27 9月, 2014 3 次提交
  8. 20 9月, 2014 1 次提交
    • K
      Fix getentryassembly · d2de9b85
      KevinRansom 提交于
           Codeplex issue:  https://visualfsharp.codeplex.com/workitem/131
      
           System.Reflection.Assembly.GetEntryAssembly() returns null if shadow copying is true, and the FSI assembly otherwise.
           Quite a few tools use GetEntryAssembly to get at FSI state, including some internal tools we use. They will break with the new FSI.
      
           Modified test2 to also verify that GetEntryAssembly() returns non-null.  Added a bit more diagnostic output to test1 and test2
       (changeset 1339032)
      d2de9b85
  9. 19 9月, 2014 1 次提交
    • K
      Codeplex issue: 132 - FSI Shadowcopy -- causes a significant degrade in the fsi first execute time · 09e5eb5c
      KevinRansom 提交于
      if you type
       1+1;;
       2+2;;
       there is a perhaps 1 second delay between hitting return and seeing the answer when shadow copy is enabled this delay does not occur when shadow copy is not enabled.
       subsequent statements to the first are not delayed significantly.
      
      The Fix is to enable LoaderOptimisation.MultiDomainHost -- this causes the clr to use the ngened images for assemblies that are signed, loaded from the gac and have corresponding ngen images.   In the issue scenario, when enabling shadowcopy, the appdomain loader unable to load the ngen images in the appdomain doing the work.  This is a known limitation of AppDomains.  The solution is to make the assemblies shared accross appdomains
      
      I did some testing and for a script similar to the 1+1;; in the issue report I ran fsi with and without shadowcopyreferences enabled, with and without MultiDomainHost enabled a few hundred times the table below is the average times of each set of runs.  In all cases Fsharp files were ngened and loaded from their standard VS install locations.
      
      		Without MultiDomainHost			With MultiDomainHost
      		/shadowcopy-	/shadowcopy+		/shadowcopy-	/shadowcopy+
      		56840.58411	118600.1729		61529.93774	71692.79377
      
      As you can see the impact of shadowcpy is much smaller, close to without.  The extra work here is due to creating a new appdomain so the devel it can be unloaded.
      
      MultiDomainHost causes static fields to be indirected and so there is a small degrade on with/without.  The timings were done on a dualcore VM on a server that was not doing any other work.
      
       (changeset 1338154)
      09e5eb5c
  10. 16 9月, 2014 1 次提交
  11. 12 9月, 2014 2 次提交
  12. 11 9月, 2014 2 次提交
  13. 30 8月, 2014 1 次提交
  14. 29 8月, 2014 3 次提交