Skip to content

Instantly share code, notes, and snippets.

@thorinii
thorinii / LanguageParser.scala
Created October 5, 2015 01:58
Language design 1 combinator parser tree
package me.lachlanap
import scala.language.postfixOps
//noinspection ForwardReference
//noinspection VariablePatternShadow
object LanguageParser {
import Ast._
import fastparse.all._
@thorinii
thorinii / expression.scala
Last active October 5, 2015 02:01
Language design 1 an expression
val digitToStringLambda = makeMatch(
makeCase(pattern(num(0)), str("0")),
makeCase(pattern(num(1)), str("1")),
makeCase(pattern(num(2)), str("2")),
makeCase(pattern(num(3)), str("3")),
makeCase(pattern(num(4)), str("4")),
makeCase(pattern(num(5)), str("5")),
makeCase(pattern(num(6)), str("6")),
makeCase(pattern(num(7)), str("7")),
makeCase(pattern(num(8)), str("8")),
@thorinii
thorinii / average_of_file.txt
Created October 5, 2015 01:52
Language design 1 example source code
module me.lachlanap.file_average {
process Main() :: EntryPoint {
main = args => {
// ::ProcessHandle[Sink[Int]]
out = \Sink[Int] {
main = nothing
}
accumulator :: ProcessHandle[CloseableSink[Int]] = new Accumulator(out)
@thorinii
thorinii / Main.scala
Last active August 29, 2015 13:57
scoverage error
package me.lachlanap.timetrackerii
object Main {
def main(args: Array[String]): Unit = {
println("Hello World")
}
}
#!/bin/sh
# A script to print a random sequence of alphanumeric and \n characters.
cat /dev/urandom | tr -cd '[:alnum:]\n'
@thorinii
thorinii / monkeytest.sh
Created November 12, 2013 23:50
A script to print a random sequence of alphanumeric and \n characters.
#!/bin/sh
# A script to print a random sequence of alphanumeric and \n characters.
cat /dev/urandom | tr -cd '[:alnum:]\n'
@thorinii
thorinii / FD.scala
Last active December 14, 2015 08:09
Scala port of my Database Theory java project. 1/4 complete
/*
* Models a Function Dependency.
*
* Example:
* A, B -> C would be: FD(Set("A", "B"), Set("C"))
*/
case class FD(lhs: Set[String], rhs: Set[String]) {
if (lhs.size == 0 || rhs.size == 0)
throw new IllegalArgumentException("Cannot be null FD")