Skip to content

Instantly share code, notes, and snippets.

View DataKinds's full-sized avatar
🍊

Tyler DataKinds

🍊
View GitHub Profile
@DataKinds
DataKinds / Gemfile
Last active May 20, 2019 09:48
Directed graph of TVTropes links
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "nokogiri"
@DataKinds
DataKinds / d.hs
Last active April 27, 2019 05:52
import Numeric
import Data.Ratio
data Op =
Plus Op Op
| Mul Op Op
| Pow Op Op
| Ln Op
| E Op
| Pi Op
@DataKinds
DataKinds / repl.p6
Last active April 6, 2019 07:45
perl6 better repl
#!/usr/bin/env perl6
use MONKEY;
use nqp;
module TREPL {
### STATIC DEFINITIONS ###
role Descriptive[Str $desc] {
has Str $.Desc = $desc;
}
{-# LANGUAGE ViewPatterns #-}
import Data.List
dropPieces :: [String] -> [String]
dropPieces (top:mid:rows) =
let willDrop = zipWith (\t m -> m == '-' && t /= '-') top mid
newTopRow = (\(t,m,w) -> if w then '-' else t) <$> (zip3 top mid willDrop)
newMidRow = (\(t,m,w) -> if w then t else m) <$> (zip3 top mid willDrop)
in
@DataKinds
DataKinds / genome.py
Last active October 5, 2020 08:21
CS homework
"""
Filename: genome.py
Author: Tyler
Purpose: Construct phylogenetic trees.
"""
# ;; Consider this my final hoorah before dropping my CS major.
# ;; https://xkcd.com/224/
code="""
@DataKinds
DataKinds / Functions.hs
Last active May 6, 2018 22:40
Scheme Boi
module Functions where
import SExpr
mathF :: (Integer -> Integer -> Integer) -> String -> Literal -> Literal -> Literal
mathF op s (LNum a) (LNum b) = LNum $ a `op` b
mathF _ s _ _ = error $ "Non number passed to " ++ s
addF :: Literal -> Literal -> Literal
addF a b = mathF (+) "+" a b
template<std::vector<std::string>* arg, std::string_view* flag, std::function<void()>* f>
struct CommandLineLambda {
//returns whether or not the argument was called
static inline bool runArg() {
auto iter = std::find(arg->begin(), arg->end(), *flag);
if (iter != arg->end()) {
(*f)();
return true;
}
return false;
@DataKinds
DataKinds / CLN.hs
Last active March 2, 2018 06:24
Interface to the C-L Prime Construction of the Naturals
module CLN where
import Data.List
data CLNElem = Dot | Parens [CLNElem]
instance (Show CLNElem) where
show Dot = "."
show (Parens clnes) = "(" ++ (concatMap show clnes) ++ ")"
newtype CLN = CLN [CLNElem]
instance (Show CLN) where
@DataKinds
DataKinds / racket_mandelbrot.rkt
Last active February 13, 2018 02:05
Racket program to output a mandelbrot fractal
#lang racket
(require racket/draw)
(define HEIGHT 200)
(define WIDTH 400)
(define UNIT_PER_PIXEL 0.012)
(define HEIGHT/2 (/ HEIGHT 2))
(define WIDTH/2 (/ WIDTH 2))
@DataKinds
DataKinds / periodic_table.rb
Created January 30, 2018 16:55
Computes the atomic mass of an equation
table = {}
DATA.read.split(?\n).each do |line|
ps = line.split(/\s+/)
table[ps[2]] = ps[0].to_f
end
loop do
i = gets.chomp
input = i.scan(/([A-Z][a-z]?)([0-9]?)/)
mass = 0
input.each do |element|