Fun-fun-functional gists in CSharp
Experiment with this gist in Gistlyn.
Let's start with the big guns: Discriminated Union in C#.
<Project Sdk="Microsoft.NET.Sdk"> | |
<PropertyGroup> | |
<OutputType>Exe</OutputType> | |
<TargetFramework>net472</TargetFramework> | |
</PropertyGroup> | |
<PropertyGroup> | |
<GeneratedText><![CDATA[ | |
using System%3B |
using System; | |
using ImTools; | |
public class Program | |
{ | |
public static void Main() | |
{ | |
var map = ImHashMap<string, string>.Empty; | |
var map1 = map.AddOrUpdate("a", "42"); |
private DictionarySlim<TypeVal, string> _dict; | |
public DictionarySlim<TypeVal, string> DictSlim() | |
{ | |
var dict = new DictionarySlim<TypeVal, string>(); | |
foreach (var key in _keys.Take(Count)) | |
dict.GetOrAddValueRef(key) = "a"; | |
dict.GetOrAddValueRef(typeof(ImHashMapBenchmarks)) = "!"; |
module EnvDemo | |
open System | |
open System.IO | |
[<Struct>] | |
type Nothing = | |
private | |
| Nothing |
using System; | |
class Program | |
{ | |
// M wants to get an instance via Func | |
static void M(Func<string> factory) | |
{ | |
Console.WriteLine(factory()); | |
} |
// | Method | Mean | Error | StdDev | | |
// |------------- |----------:|----------:|----------:| | |
// | Calli | 0.6718 ns | 0.0013 ns | 0.0012 ns | | |
// | Delegate | 1.1366 ns | 0.0099 ns | 0.0088 ns | | |
// | FastDelegate | 1.6239 ns | 0.0103 ns | 0.0097 ns | | |
// MyClassLib.cs is compiled in another project (havent tested if compiling with Fody is working with BenchmarkDotnet in the same project) | |
// This file is referencing BenchDelegates.MyClassLib | |
using System; |
/* | |
https://dba.stackexchange.com/questions/96534/postgres-check-disk-space-taken-by-materialized-view?newreg=6b1d58604fce4a1fbe3033ddbb52d7ca | |
relkind: | |
r = ordinary table, | |
i = index, | |
S = sequence, | |
v = view, | |
m = materialized view, | |
c = composite type, |
Experiment with this gist in Gistlyn.
Let's start with the big guns: Discriminated Union in C#.
using System; | |
public class Test | |
{ | |
public static void Main() | |
{ | |
var x = ImZipper<int>.Empty.Pre(1).Pre(2); | |
Console.WriteLine(x); | |
Console.WriteLine(x.Focus); | |
} |
using System; | |
using System.Collections.Generic; | |
using static System.Console; | |
namespace Union | |
{ | |
class Program | |
{ | |
public static void Main() | |
{ |