Skip to content

Instantly share code, notes, and snippets.

View afifmohammed's full-sized avatar
💭
(+2)(-3)

Afif Mohammed afifmohammed

💭
(+2)(-3)
View GitHub Profile
using System;
namespace Funcs {
public static class Funcs {
public static Func<A, C> Select<A, B, C>(this Func<A, B> f, Func<B, C> g) {
return a => g(f(a));
}
public static Func<C, B> SelectMany<A, B, C>(this Func<C, A> f, Func<A, Func<C, B>> g) {
return a => g(f(a))(a);
@afifmohammed
afifmohammed / PureIO.cs
Created April 20, 2016 06:32 — forked from tonymorris/PureIO.cs
A demonstration of pure-functional I/O using the free monad in C#
using System;
namespace PureIO {
/*
C# does not have proper sum types. They must be emulated.
This data type is one of 4 possible values:
- WriteOut, being a pair of a string and A
- WriteErr, being a pair of a string and A
- readLine, being a function from string to A
public class ConcurrentGateway
{
private ConcurrentQueue<Action> _workQueue = new ConcurrentQueue<Action>();
private int _writeLock = 0;
private static AutoResetEvent _waitEvent = new AutoResetEvent(false);
protected static AutoResetEvent GetThreadWaitEvent()
{
//returns same event for all threads ,but we could easily provide a
namespace Sagas
{
using System;
using System.Collections.Generic;
class Program
{
static ActivityHost[] processes;
@afifmohammed
afifmohammed / multimapreducespatialquery.cs
Last active December 14, 2015 04:18
test for a spatial query over a multi map reduce index
namespace MultiMapSpatialTests
{
using System;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using Raven.Client.Embedded;
using Raven.Client.Indexes;
[Serializable]
@afifmohammed
afifmohammed / BuildAllProjectsFromACleanState.ps1
Created November 5, 2015 02:42 — forked from RhysC/BuildAllProjectsFromACleanState.ps1
Make sure that each project can be built from a clean state (ie no rouge dlls from previous builds)
$ErrorActionPreference = "Stop"
function cleanBin {
param ([string]$path)
write-host "Cleaning bin from: $path"
get-childitem $path -include bin -recurse | remove-item -force -confirm:$false -recurse
write-host "Cleaning obj from: $path"
get-childitem $path -include obj -recurse | remove-item -force -confirm:$false -recurse
@afifmohammed
afifmohammed / ravenlocationstest.cs
Last active October 12, 2015 21:39
multipmap reduce on locations
namespace RavenIndexSandbox
{
using System;
using System.Linq;
using NUnit.Framework;
using Raven.Client.Embedded;
using Raven.Client.Indexes;
[TestFixture]
public class WhenGroupinByLocation
@afifmohammed
afifmohammed / raventransformuerytest.cs
Last active October 12, 2015 17:47
raven transform query
namespace RavenIndexSandbox.Customers
{
using System;
using System.Collections.Generic;
using System.Linq;
using FizzWare.NBuilder;
using NUnit.Framework;
using Raven.Client;
using Raven.Client.Embedded;
using Raven.Client.Indexes;
@afifmohammed
afifmohammed / queriteusage.cs
Created April 22, 2012 03:49
new querite api
public class FileSystem
{
public void Evaluate(IFolder folder)
{
int? count;
TimeSpan? howLong;
var firstTen = Query(folder)
.Statistics(x => count = x.Count)
.Statistics(x => howLong = x.ExecutionSpan)
CREATE DATABASE [OrderedInsert]
GO
ALTER DATABASE [OrderedInsert] SET ALLOW_SNAPSHOT_ISOLATION ON
GO
USE [OrderedInsert]
GO
CREATE TABLE [dbo].[Test](