Skip to content

Instantly share code, notes, and snippets.

@en-em
en-em / directvtables.hs
Last active May 10, 2017 15:37
Haskell shape GADTs typeclasses vs direct vtaables
{-# LANGUAGE GADTs #-}
type Point = (Double, Double)
type Vector = (Double, Double)
type Angle = Double
type Mat23 = (Vector, Vector, Vector)
(+%+ ) :: Point -> Vector -> Point
(x,y) +%+ (u,v) = (x+u, y+v)
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <sys/time.h>
#include <netinet/in.h>