Skip to content

Instantly share code, notes, and snippets.

ToJans /
Created Oct 16, 2015
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 / Sudoku.hs
Last active Oct 12, 2015
Sudoku solver for Haskell
View Sudoku.hs
-- 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)
View quadtree.hs
-- 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 / hangman.hs
Last active Sep 28, 2019
A haskell implementation of the hangman game
View hangman.hs
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
ToJans /
Last active Sep 27, 2015
Jef & Tom's Awesome Modellathon

Jef & Tom's Awesome Modellathon

The Model v2.0 alpha (Inspired by Kraftwerk - The model)

I love to model and it's looking good
I'll turn it into code that is well understood
It might be hard to get, is wrong from time to time
It takes new design approach to change your mind
View Uitleg.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
module StorageServer where
import Models
import Servant.API
import ServantHelpers
import StorageDB
ToJans / ServantHelpers.hs
Last active Sep 24, 2015
Composable routes in servant
View ServantHelpers.hs
module ServantHelpers(Server,Proxy(..),err400, err404,liftIO,liftIOMaybeToEither) where
import Control.Monad.IO.Class (MonadIO, liftIO)
import Control.Monad.Trans.Either (EitherT, left, right)
import Servant(ServantErr,Proxy(..))
import Servant.Server
liftIOMaybeToEither :: (MonadIO m) => a -> IO (Maybe b) -> EitherT a m b
liftIOMaybeToEither err x = do
ToJans / phonenumbers.hs
Last active Sep 11, 2015 — forked from mathiasverraes/phonenumbers.hs
Phone Number Kata
View phonenumbers.hs
-- Given a list of phone numbers, determine if it is consistent.
-- In a consistent phone list no number is a prefix of another. For example:
-- Bob 91 12 54 26
-- Alice 97 625 992
-- Emergency 911
-- In this case, it is not possible to call Bob because the phone exchange
-- would direct your call to the emergency line as soon as you dialled the
-- first three digits of Bob's phone number. So this list would not be consistent.
module PhoneList(isConsistent) where
ToJans /
Last active Aug 29, 2015
Commercial biography

Picture of Tom Janssens

Before Tom Janssens founded, he spent over a decade solving business problems using software and helping organisations to get better at building software.

Early 2014, he noticed an opportunity in the market and founded, a software company offering real-time interactive 3D visualisations over the web, next to virtual - and augmented reality solutions.

Next to this Tom is also one of the co-founders of DDD Belgium: a user group aiming to bridge the gap between software developers and business users.

You can follow Tom on his personal twitter account: @ToJans or via @ArealitiesCorp.

ToJans /
Last active Aug 29, 2015
Arealities sales video script

You've created a wonderfull, customizable product and are ready to sell it to the whole, wide, world.

Do your prospects have a hard time visualizing what you are selling?

Do you think you could sell more if you could show your product in full blown 3D? visualizes your buyer's dream in full effect, so close you can almost feel it.