- Abramsky and Jung "Domain Theory" http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf
- Appel, Andrew "Modern Compiler Implementation in ML"
- Cousot, Patrick "Abstract Interpretation Based Formal Methods and Future Challenges" http://www.di.ens.fr/~cousot/publications.www/Cousot-LNCS2000-sv-sb.pdf
- Darais, Might, and Van Horn "Galois Transformers and Modular Abstract Interpreters" http://arxiv.org/pdf/1411.3962v1.pdf
- Davey and Priestley, "Introduction To Lattices and Order"
- Friedman and Mendhekar, "Using an Abstracted Interpreter to Understand Abstract Interpretation" http://www.cs.indiana.*du/l/www/classes/b621/abiall.pdf
- Friedman and Wand, "Essentials of Programming Languages"
- Jones and Nielson, "Abstract Interpretation: a Semantics-Based Tool for Program Analysis" http://se.inf.ethz.ch/courses/2014b_fall/sv/reading/jones-nielson.pdf
- Livshits, Sridharan, Smaragdakis, et. al. "In Defense of Soundiness: A Manifesto" http://cgi.di.uoa.gr/~smaragd/Soundiness-CACM.pdf
- Might, Matt "Writing an inte
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
use std::fmt::Debug; | |
use std::fs::File; | |
use std::io::{BufWriter, Result}; | |
use std::io::prelude::*; | |
use std::path::Path; | |
/// A generic case-insensitive Trie map permitting only alphabetical string keys. | |
pub struct Trie<T> { | |
values: Vec<T>, | |
/// An array of twenty-six optional tries, corresponding to each letter of the alphabet. |
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 BangPatterns #-} | |
{-# LANGUAGE NoMonomorphismRestriction #-} | |
{-# LANGUAGE ScopedTypeVariables #-} | |
{-# LANGUAGE StandaloneDeriving #-} | |
{-# LANGUAGE UndecidableInstances #-} | |
module Main where | |
import Data.Functor.Identity | |
import Data.Monoid |
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
# vim | |
./configure --with-features=huge \ | |
--enable-gui=qt \ | |
--prefix=/home/omer \ | |
--enable-pythoninterp \ | |
--enable-python3interp \ | |
--enable-rubyinterp \ | |
--enable-perlinterp \ | |
--with-python-config-dir=/usr/lib64/python2.7/config \ | |
--with-python3-config-dir=/usr/lib64/python3.4/config-3.4m/ |
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
" Highlight Word, initial version from: | |
" https://gist.github.com/emilyst/9243544#file-vimrc-L142 | |
" | |
" This mini-plugin provides a few mappings for highlighting words temporarily. | |
" | |
" Sometimes you're looking at a hairy piece of code and would like a certain | |
" word or two to stand out temporarily. You can search for it, but that only | |
" gives you one color of highlighting. Now you can use <leader>N where N is | |
" a number from 1-6 to highlight the current word in a specific color. | |
" |
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
# | |
# Configuration files for Manjaro i3 on Lenovo Yoga 2 pro | |
# to scale properly on HiDPI (3200x1800) | |
# | |
##################################################### | |
~/.profile # | |
##################################################### | |
# UI element scaling, icons | |
export GDK_SCALE=2 |
A traditional table-based DFA implementation looks like this:
uint8_t table[NUM_STATES][256]
uint8_t run(const uint8_t *start, const uint8_t *end, uint8_t state) {
for (const uint8_t *s = start; s != end; s++)
state = table[state][*s];
return state;
}
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
13:15 <xQuasar> | HASKELL IS FOR FUCKIN FAGGOTS. YOU'RE ALL A BUNCH OF | |
| FUCKIN PUSSIES | |
13:15 <xQuasar> | JAVASCRIPT FOR LIFE FAGS | |
13:16 <luite> | hello | |
13:16 <ChongLi> | somebody has a mental illness! | |
13:16 <merijn> | Wow...I suddenly see the error of my ways and feel | |
| compelled to write Node.js! | |
13:16 <genisage> | hi | |
13:16 <luite> | you might be pleased to learn that you can compile | |
| haskell to javascript now |