Skip to content

Instantly share code, notes, and snippets.

View IndexLab-min.hs
import Data.List
import qualified Data.Map as Map
type WordMap = Map.Map String [Int]
wordsByLine _ [] = Map.empty
wordsByLine n (s:ss) = Map.unionWith (++) (Map.fromList [(w, [n]) | w <- nub $ words s])
(wordsByLine (n + 1) ss)
printWords = mapM_ (putStrLn . formatWord) . Map.toList
View execpwd.c
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main () {
printf("1: %s\n", getenv("PWD"));
setenv("PWD", "/etc", 1);
printf("2: %s\n", getenv("PWD"));
execl("/usr/bin/printenv", "/usr/bin/printenv", "PWD", NULL);
}
View cases.hs
doCase n = do
s <- getLine
putStrLn $ "Case #" ++ show n ++ ": "
main = do
n <- getLine
mapM_ doCase [1..read n]
@coyotebush
coyotebush / BalancedSmileys.hs
Last active Dec 11, 2015
My solutions to the 2013 Facebook Hacker Cup qualification round.
View BalancedSmileys.hs
balanced :: Int -> Int -> String -> Bool
balanced hi _ _ | hi < 0 = False
balanced hi lo xs | lo < 0 = balanced hi 0 xs
balanced _ lo "" = lo == 0
balanced hi lo ('(':xs) = balanced (hi + 1) (lo + 1) xs
balanced hi lo (')':xs) = balanced (hi - 1) (lo - 1) xs
balanced hi lo (':':'(':xs) = balanced (hi + 1) lo xs
balanced hi lo (':':')':xs) = balanced hi (lo - 1) xs
balanced hi lo (_:xs) = balanced hi lo xs
View ssh_config
host unix?
hostname %h.csc.calpoly.edu
user cjford
View GameOfTrains.hs
#!/usr/bin/runhaskell
import Control.Applicative
import Data.List
import Data.Maybe
import qualified Data.Set as S
type Board = [[Char]]
type Point = (Int, Int)
data Direction = N | S | E | W deriving (Eq, Ord)
View GameOfWar.cpp
#include <iostream>
#include <list>
#include <sstream>
using namespace std;
int to_val(char face) {
switch (face) {
case 'A': return 14;
case 'K': return 13;
View svnup
#!/bin/sh
while [ -d ../.svn ]; do cd ..; done
svn update
View add_inputbase.py
#!/usr/bin/python
def incnums(mx, amt, nums):
if len(nums) == 0:
nums.append(-1)
(q, r) = divmod(nums[-1] + amt, mx + 1)
nums.pop()
if q > 0:
incnums(mx, q, nums)
nums.append(r)
View github_archive_query.sql
/* Fetch data from GitHub Archive using Google's BigQuery */
select actor, repository_language, count(repository_language) as pushes
from [githubarchive:github.timeline]
where type='PushEvent'
and repository_language != ''
and PARSE_UTC_USEC(created_at) >= PARSE_UTC_USEC('2012-01-01 00:00:00')
and PARSE_UTC_USEC(created_at) < PARSE_UTC_USEC('2013-01-01 00:00:00')
group by actor, repository_language;