This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import qualified Data.Map.Strict as M | |
-- The code in any functions here should be too small to really be coverable by copyright, but just in case: | |
{- | |
Copyright 2014 Daniel Martin | |
I, Daniel Martin, license this to you under the Apache License, Version 2.0 (the | |
"License"); you may not use this file except in compliance | |
with the License. You may obtain a copy of the License at |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- SPOILER for project euler #14 | |
-- Really, you should go do it yourself. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TemplateHaskell #-} | |
{-# LANGUAGE FunctionalDependencies #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE RankNTypes #-} | |
{- A little demonstration of HXT and Lenses -} | |
module Main where | |
import Control.Arrow |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TemplateHaskell #-} | |
{-# LANGUAGE FunctionalDependencies #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE Arrows #-} | |
{- Some ideas on the common Builder pattern from the OO world in the context of lenses -} | |
module Main where | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- This is the first Haskell program of any complexity that I ever wrote, back in October 2005, | |
-- updated (with newer imports and one changed function name) to run on modern (c. 2017) | |
-- GHC. It was designed to solve a perl quiz of the week problem to write a Turing | |
-- Machine emulator. Unfortunately, that mailing list has been defunct for so long that | |
-- all archives seem to have vanished from the web so I can't point to documentation of | |
-- the format. I can however point to one program I wrote in the Turing Machine language | |
-- that solved the prior quiz-of-the-week: given a number N, print out all strings | |
-- consisting of N '(' characters and N ')' characters such that the parens in the | |
-- resulting string are balanced. | |
-- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# AOC 2018 day 23 solution to defeat adversarial input (python3) | |
# Adversarial input sample can be found https://pastebin.com/raw/9eJQN836 | |
# This will try to open the file given as the first command line argument | |
# or "aoc23.in.txt" if no argument is given. | |
# This solution transforms the given coordinates in x-y-z space into 4D | |
# coordinates in a space I call s-t-u-v space, even though I never actually | |
# deal with 's', 't', 'u', or 'v' directly. | |
import itertools |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- stack --resolver lts-18.18 script --package pqueue --package aeson --package containers | |
{-# LANGUAGE Haskell2010 #-} | |
{-# OPTIONS_GHC -Wall -O2 #-} | |
import Data.Aeson | |
import Data.List | |
import Data.Map (Map) | |
import qualified Data.Map as M | |
import qualified Data.PQueue.Max as MQ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
''''test x != "-*- mode: python -*-" | |
case "`python --version 2>/dev/null`" in | |
[Pp]"ython 3"*) exec python "$0" "$@" ;; | |
esac | |
case "`python3 --version 2>/dev/null`" in | |
[Pp]"ython 3"*) exec python3 "$0" "$@" ;; | |
esac | |
case "`py -3 --version 2>/dev/null`" in | |
[Pp]"ython 3"*) exec py -3 "$0" "$@" ;; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--------------------------- MODULE Nim --------------------------- | |
EXTENDS TLC, Sequences, Integers, FiniteSets | |
CONSTANTS INITIAL_PILES, HUMAN_STARTS | |
(* | |
--algorithm Nim | |
\* An n-pile version of Nim with the rules: | |
\* * Take as much as you want, but only from one pile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* This program solves the puzzle | |
* https://perl.plover.com/qotw/e/021 | |
* | |
* (In case that link goes away, a brief summary of the problem | |
* is to consider the free non-abelian group with 26 generators | |
* 'a' through 'z', under the equivalence relation that any two | |
* words found in the dictionary that are anagrams of each other | |
* are equivalent. Now determine which letters commute with which | |
* other letters, and specifically which letters are in the center.) |
OlderNewer