Skip to content

Instantly share code, notes, and snippets.

@def-
def- / at.nim
Last active June 19, 2016 18:02 — forked from Varriount/at.nim
import asyncdispatch
template doAsync(name: expr; body: untyped): untyped {.immediate.} =
proc name() {.async.} =
body
asyncCheck(name())
doAsync(namething):
echo "hello"
# counting point mutations
# count all mutations where C != C, G !=G, A != A, and T != T
import algorithm
# define string variables
var s: string = "GAGCCTACTAACGGGAT"
var t: string = "CATCGTAATGACGGCCT"
# define count variable for number of mutations
var mutations: int = 0
const data = "AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC"
var A, C, G, T = 0
for letter in data:
case letter
of 'A': inc A
of 'C': inc C
of 'G': inc G
of 'T': inc T
@def-
def- / inherits.nim
Last active January 21, 2016 02:23
import strutils, unicode
type
Component = ref object of RootObj
CPosition = ref object of Component
x, y: int
CVelocity = ref object of Component
dx, dy: int
CRune = ref object of Component
rune: Rune
@def-
def- / equ.nim
Last active August 29, 2015 14:23 — forked from Learath2/equ.nim
from strutils import replace, find, parseInt
echo "Input an operation:"
try:
let
line = stdin.readLine.replace(" ", "")
opindex = line.find({'+','-','*','/'})
if opindex == -1:
import macros
macro mac(n: expr): expr =
parseExpr "(proc(): int = " & $n.intVal & ")"
echo mac(10)()
# Fancy ID generator that creates 20-character string identifiers with the following properties:
#
# 1. They're based on timestamp so that they sort *after* any existing ids.
# 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs.
# 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly).
# 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the
# latter ones will sort after the former ones. We do this by using the previous random bits
# but "incrementing" them by 1 (only in the case of a timestamp collision).
#
# Based on https://www.firebase.com/blog/2015-02-11-firebase-unique-identifiers.html