Skip to content

Instantly share code, notes, and snippets.

class MyConverter : Newtonsoft.Json.Converters.CustomCreationConverter<IDictionary<string, object>>
{
public override IDictionary<string, object> Create(Type objectType)
{
return new Dictionary<string, object>();
}
public override bool CanConvert(Type objectType)
{
// in addition to handling IDictionary<string, object>

A quick brain dump of the current techradar for Virtual Sales Lab

Hold

A gazillion things TBH....

Assess

  • Haskell
  • PureScript
@ToJans
ToJans / Tests.Veranda.fs
Last active October 20, 2016 11:53
canopy and fsharp to test the happy path for Virtual Sales Lab
module Tests
open canopy
open Utils
open System
let veranda (rootPath) = (rootPath + ": Veranda") &&& fun () ->
let clickNext expected fn =
click ".verandawizard.selected input[type=submit]"
@ToJans
ToJans / interfaces.cs
Last active October 11, 2016 09:50
Functor, applicative and monad interfaces
// In C# we can't enforce generic classes in interfaces, so we can't use interfaces to define the contract.
// I can only give examples of the minimal code it needs to implement.
class FunctorImpl<T> {
FunctorImpl<T> Pure(T val);
FunctorImpl<S> Apply<S>(Func<T, S> fn);
// Requirement: Pure(val).Apply(x=>x) == Pure(val)
}
class ApplicativeImpl<T> where {
@ToJans
ToJans / intro.md
Last active December 13, 2015 22:05
monads, applicatives, functors

Definitions

W<a>

A wrapper of type W that contains zero or more elements of type a.

c functionname(a,b)

A function named functionname that takes a value of type a, a value of type b and returns a value of type c.

@ToJans
ToJans / DB.hs
Last active October 21, 2015 15:28
How do I get this into a ServerT ?
{-# LANGUAGE OverloadedStrings #-}
module Lib.DB(query_,query,execute_,execute,lastInsertRowId
,find,DB.FromRow,DB.fromRow,DB.field,ResourceT,runResourceT)
where
import Control.Monad (liftM)
import Control.Monad.IO.Class (liftIO)
import Control.Monad.Reader (ReaderT (..), ask, runReader)
import Control.Monad.Trans.Class (lift)
@ToJans
ToJans / post.md
Created October 16, 2015 12:41
Function, Applicative, Monad in .Net - Failed post

+++ Description = "" Tags = ["Development", "Haskell", "C#", "CSharp"] date = "2015-10-16T09:24:25+02:00" menu = "main" title = "Haskell concepts in C#"

+++

I've made numerous attempts to explain functors, applicatives, monads and the likes in .Net, and here is another one:

@ToJans
ToJans / Sudoku.hs
Last active October 12, 2015 07:49
Sudoku solver for Haskell
-- Sudoku solver by @ToJans
--
-- Parses a Sudoku from a string and solves it
-- Parsing happens by filtering out ['1'-'9'] and '.'
{-# LANGUAGE OverloadedStrings #-}
module Sudoko where
import Data.Maybe(isNothing,fromMaybe)
-- A quadtree implementation with a max points per node
module Main where
import Control.Monad (replicateM)
import System.Random (randomRIO)
data Point = Point Int Int
deriving Show
type LeafPointCount = Int
@ToJans
ToJans / hangman.hs
Last active September 28, 2019 15:25
A haskell implementation of the hangman game
import Control.Monad (when)
import Data.Char (toLower)
import Data.List (transpose)
import System.Random (randomIO)
wordsPath :: FilePath
wordsPath = "words.txt"-- "/usr/share/dict/words"
data GameState = GameState
{ _wordToGuess :: String