This file contains hidden or 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
import Foundation | |
var before = NSDate() | |
var after = NSDate() | |
var duration: NSTimeInterval = 0 | |
var a = Set(Array(1..<9999).sort {_, _ in arc4random() % 2 == 0}) | |
(1...10000).forEach { _ in | |
var b = a | |
before = NSDate() |
This file contains hidden or 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
// Experimental: | |
// '%' replaces the more ideal '$' | |
// where a open ended range is in the design, `nil` is used its place | |
// force casting between Index.Distance and 'Int' | |
// only on CollectionType, but a version for string is not hard to do | |
public struct Offset { let value: Int } | |
prefix operator %+ {} | |
prefix operator %- {} |
This file contains hidden or 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
// this is almost good, if only Swift allows specifying precedence for pre/postfix operators. | |
struct Dollar {} | |
let $ = Dollar() | |
struct BInt: IntegerLiteralConvertible { | |
let bool: Bool | |
let int: UInt | |
func relativeTo(total: Int) -> Int { | |
return bool ? total - Int(int) : Int(int) | |
} |
This file contains hidden or 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
# run this in the swift source code folder to get a list of radars | |
for i in $(grep -hor -E 'rdar://problem/[0-9]+' stdlib lib | sed 's/rdar:\/\/problem\///'); do if [[ ! -z $(curl -s "http://www.openradar.me/$i" | grep 'Tell us more!') ]]; then echo rdar://problem/$i; fi; done |
This file contains hidden or 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
func f<T, U>(x: T.Type, _ y: U) -> Bool { | |
return y is T | |
} | |
func g<T, U>(x: T, _ y: U) -> Bool { | |
return y is T | |
} | |
protocol P {} | |
class B: P {} |
This file contains hidden or 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
public struct DefaultDictionary<Key : Hashable, Value>: CollectionType { | |
private var _storage: [Key: Value] | |
private var _defaultValue: () -> Value | |
public typealias Element = (Key, Value) | |
public typealias Index = DictionaryIndex<Key, Value> | |
public var startIndex: Index { | |
return _storage.startIndex |
This file contains hidden or 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
#!/bin/sh | |
mkdir simple-made-easy | |
cd simple-made-easy | |
for i in `seq 1 39` | |
do | |
wget "https://res.infoq.com/presentations/Simple-Made-Easy/en/slides/sl$i.jpg" | |
done | |
for i in `seq 1 9` | |
do mv sl$i.jpg sl0$i.jpg | |
done |
This file contains hidden or 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
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
'''Print cached git diff stats in less than 50 characters. | |
This script takes output from `git diff --cached --stat` and generates a single | |
line summary with less than 50 characters. This output may be used as a | |
(hopefully) temporary commit message like so | |
git commit -m "`blah.py`" |
This file contains hidden or 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
protocol X { | |
var value: Int { get } | |
init(value: Int) | |
} | |
func foo<T, U: X>(a: T) -> U { | |
return U(value: a.value) | |
} |
This file contains hidden or 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
enum OneArray<T> { | |
case one(T) | |
case many([T]) | |
// Want empty value? Fuck you. | |
init?<S: Sequence where S.Iterator.Element == T>(_ s: S) { | |
switch s.underestimatedCount { | |
case 0: | |
return nil | |
case 1: |