This gist is part of a blog post. Check it out at:
http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer
| Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine" -n 'RuntimeVersion' -val 'v4.0.30319' |
This gist is part of a blog post. Check it out at:
http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer
| using System; | |
| namespace SSCASTFLP | |
| { | |
| class Program | |
| { | |
| public static void Main(string[] args) | |
| { | |
| Console.Write("Holy Fucking Shit. That Codebase Is Shocking."); | |
| Console.ReadKey(true); | |
| } |
| using System; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using System.Text; | |
| using Simple.Testing; | |
| using Simple.Testing.ClientFramework; | |
| namespace ClassLibrary1 | |
| { | |
| public class Class1 |
| 22:43:40.516 - Publishing message of type AutoTest.Messages.InformationMessage | |
| 22:43:40.528 - Initial configuration finished | |
| 22:43:40.563 - Checking license | |
| 22:43:40.668 - Setting up cache | |
| 22:43:40.686 - C:\Dev\Scratch\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj initialize cache | |
| 22:43:40.693 - C:\Dev\Scratch\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj preparing cache | |
| 22:43:40.720 - Trying to get path Class1.cs relative to C:\Dev\Scratch\ClassLibrary1\ClassLibrary1 | |
| 22:43:40.726 - Trying to get path Properties\AssemblyInfo.cs relative to C:\Dev\Scratch\ClassLibrary1\ClassLibrary1 | |
| 22:43:40.728 - Trying to get path packages.config relative to C:\Dev\Scratch\ClassLibrary1\ClassLibrary1 | |
| 22:43:40.733 - Publishing message of type AutoTest.Messages.InformationMessage |
| var parser = document.createElement('a'); | |
| parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
| parser.protocol; // => "http:" | |
| parser.hostname; // => "example.com" | |
| parser.port; // => "3000" | |
| parser.pathname; // => "/pathname/" | |
| parser.search; // => "?search=test" | |
| parser.hash; // => "#hash" | |
| parser.host; // => "example.com:3000" |
| /// <summary> | |
| /// These classes are helper classes to help type inference for lambdas. | |
| /// <example>var f = () => 4; // will not compile, | |
| /// var f = Infer.Func(() => 4); // will compile.</example> | |
| /// <see cref="http://blogs.msdn.com/b/jaredpar/archive/2007/12/14/c-lambda-type-inference.aspx"/> | |
| /// | |
| /// </summary> | |
| public static class Infer | |
| { | |
| public static Func<A> Func<A>(Func<A> f) |
| <?xml version="1.0" encoding="utf-8"?> | |
| <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
| <PropertyGroup> | |
| <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir> | |
| <!-- Windows specific commands --> | |
| <PackagesConfig Condition=" '$(OS)' == 'Windows_NT'">$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig> | |
| <PackagesDir Condition=" '$(OS)' == 'Windows_NT'">$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir> | |
| <!-- We need to launch nuget.exe with the mono command if we're not on windows --> |
| Just found out that VB.NET can infer function types correctly. I.e. this won't work in C#: | |
| var withMemoryStream = | |
| (Action<MemoryStream> f) => () => { | |
| using (var ms = new MemoryStream()) | |
| f(ms); | |
| }; | |
| ("Cannot assign lambda expression to implicitly-typed local variable", because it can't tell a Func<T> from an Expression<Func<T>>). | |
| But the exact same code in VB.NET does work: |
| (* F# lacks proper support for higher-kinded abstraction such as ML | |
| functors or Haskell typeclasses. In particular it makes it seemingly | |
| impossible to define functions that work for every type constructor. | |
| The code below demonstrates that this functionality can be partially | |
| recovered by using inline functions with static member constraints. | |
| The approach requires explicitly passing typeclass instance values. | |
| Error messages and derived types are horrible. Nonetheless, there is | |
| some type safety - if the typeclass instances have been defined right, | |
| type-unsafe code will be rejected by the typechecker, albeit with a | |
| hairy message. Another disadvantage is the need to invent operators. *) |