Skip to content

Instantly share code, notes, and snippets.

Tim Disney disnet

Block or report user

Report or block disnet

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@disnet
disnet / gist:4489250
Last active Aug 13, 2019
osx - force skim to always autoupdate
View gist:4489250
defaults write -app Skim SKAutoReloadFileUpdate -boolean true
@disnet
disnet / gist:4973724
Created Feb 17, 2013
sed - convert literate haskell to plain haskell
View gist:4973724
sed '
s/^>//
t
s/^ *$//
t
s/^/-- /
' in.lhs > out.hs
View helpers.js
import * as H from 'sweet.js/helpers' for syntax;
syntax m = ctx => {
let v = ctx.next().value;
if (H.isIdentifier(v, 'foo') {
return H.fromString(v, 'bar');
}
return H.fromString(v, 'baz');
}
m foo; // expands to 'bar'
View modules_for_syntax.js
// log.js
'lang sweet.js';
export function log(msg) {
console.log(msg);
}
// main.js
import { log } from './log.js' for syntax;
syntax m = ctx => {
log('doing some Sweet things');
View modules.js
// foo.js
'lang sweet.js';
export syntax m = // ...
// main.js
'lang sweet.js';
import { m } from './foo';
m // ...
View expansion.js
fetch("/foo.json").then(resp => {
return resp.json();
}).then(json => {
return processJson(json);
});
View operators.js
operator >>= left 1 = (left, right) => {
return #`${left}.then(${right})`;
}
fetch('/foo.json') >>= resp => { return resp.json() }
>>= json => { return processJson(json) }
@disnet
disnet / getlocation.js
Created Mar 21, 2016
handle url parsing in IE
View getlocation.js
// the web is crazy
// http://stackoverflow.com/questions/736513/how-do-i-parse-a-url-into-hostname-and-path-in-javascript
function getLocation(href) {
var location = document.createElement("a");
location.href = href;
// IE doesn't populate all link properties when setting .href with a relative URL,
// however .href will return an absolute URL which then can be used on itself
// to populate these additional fields.
if (location.host == "") {
location.href = location.href;
View test.js
letstx $name ... = [name1, name2, name3];
letstx $type ... ... = [[type1, type2], [type3, type4]]
View gist:8609245
let function = macro {
case { _ * $id ($args ...) { $body ... } } => {
var body = #{ $body ... };
var isAwaitGenerator = false;
for (var i = 0; i < body.length; i++) {
if (body[i].token.type === parser.Token.Identifier &&
body[i].token.value === 'await') {
var expr = getExpr(body.slice(i));
if (expr.success) {
isAwaitGenerator = true;
You can’t perform that action at this time.