Skip to content

Instantly share code, notes, and snippets.

@ibdknox
ibdknox / chevrotain.d.ts
Created April 28, 2017 04:37
chevrotain typings
/*! chevrotain - v0.28.1 */
export as namespace chevrotain;
declare class HashTable<V>{}
/**
* The type of custom pattern matcher functions.
* Matches should only be done on the start of the text.
* Note that this is similar to the signature of RegExp.prototype.exec
*
* This should behave as if the regExp match is using a start of input anchor.
* So: for example if a custom matcher is implemented for Tokens matching: /\w+/

Breaking Down Tic-tac-toe

Last week, @RubenSandwich posted an interactive demo on the mailing list capable of playing and scoring tic-tac-toe matches. He provided some great feedback about the issues he ran into along the way. Now that the language is becoming more stable, our first priority is seeing it used and addressing the problems which surface. To that end, his troubles became our guide to making Eve a little friendlier for writing interactive applications in general and tic-tac-toe in specific.

This analysis (and future breakdowns) will be written inline in Eve to make the discussion flow more naturally. Since our blog is capable of rendering Markdown, we can provide a pleasant reading experience directly from the source code. At the moment, Eve's syntax only lends itself to a subset of Markdown, but we plan to make some small changes in the near future to become fully compatible with [GFM][2

-----------------
Handle Events
-----------------
click on a restaurant or pin, show a restaurant
app = [@app]
[#click element]
choose
element = [#yelp-restaurant-list-element restaurant]
or
@ibdknox
ibdknox / eveInstall.sh
Created September 10, 2015 19:01
Eve install
./install-multirust.sh
brew install node
pushd . &> /dev/null
cd ui
npm install
popd &> /dev/null
./run.sh
@ibdknox
ibdknox / gist:8701135
Created January 30, 2014 01:45
osx 0.9.0 nodewebkit crash on startup
Process: node-webkit [8612]
Path: /Users/USER/*/node-webkit.app/Contents/MacOS/node-webkit
Identifier: com.intel.nw
Version: 32.0.1700.77 (1700.77)
Code Type: X86 (Native)
Parent Process: launchd [272]
Responsible: node-webkit [8612]
User ID: 501
Date/Time: 2014-01-29 17:35:04.919 -0800
@ibdknox
ibdknox / deafult.behaviors.clj
Created December 6, 2013 16:36
default behaviors for Light Table
{
:+
{:app
#{:lt.objs.clients.local/startup-with-local-client
:lt.objs.settings2/load-behaviors
:lt.objs.settings2/load-keys
:lt.objs.settings2/create-user-settings
:lt.objs.proc/set-path-OSX
:lt.objs.workspace/reconstitute-last-workspace
:lt.objs.sidebar.command/init-commands
@ibdknox
ibdknox / paredit.cljs
Created November 6, 2013 18:04
the paredit plugin for light table
(ns lt.plugins.paredit
(:require [lt.object :as object]
[lt.objs.editor :as editor]
[lt.objs.editor.pool :as pool]
[lt.objs.command :as cmd]
[lt.util.cljs :refer [str-contains?]]
))
(def opposites {")" "("
@ibdknox
ibdknox / behaviors.cljs
Created October 21, 2013 20:24
My behaviors file
{:+ {:app [(:lt.objs.style/set-skin "dark")
(:lt.objs.app/run-on-init :window.fullscreen)
(:lt.plugins.vim/map-keys {"-" "$",
"0" "^",
"<BS>" "<PageUp>",
"<Space>" "<PageDown>",
"j" "gj",
"k" "gk"})
(:lt.objs.files/file.ignore-pattern "(^\\..*)|\\.class$|target/|svn|cvs|\\.git|\\.pyc|~|\\.swp|\\.jar|.DS_Store|_site/|_cache/|__pycache__")
:lt.objs.intro/show-new-file
@ibdknox
ibdknox / bootstrap.js
Created September 6, 2013 22:34
Fix for use-tabs? not working correctly in 0.5.3
This file has been truncated, but you can view the full file.
var COMPILED = !0, goog = goog || {};
goog.global = this;
goog.DEBUG = !0;
goog.LOCALE = "en";
goog.provide = function(a) {
if(!COMPILED) {
if(goog.isProvided_(a)) {
throw Error('Namespace "' + a + '" already declared.');
}
@ibdknox
ibdknox / ltmain.py
Created August 24, 2013 16:34
remove prints from ltmain.py
import sys
import threading
import os
import ast
import imp
import inspect
import ctypes
import socket
import json
import re