Tidy advent-of-code directory

TL;DR:
- Add README.md
- Delete *.nix sketches
- Delete *.pyc and *.ex python artifacts
This commit is contained in:
William Carroll 2020-04-05 15:17:50 +01:00
parent 444da4aa05
commit b266378850
5 changed files with 4 additions and 76 deletions

4
advent-of-code/README.md Normal file
View file

@ -0,0 +1,4 @@
# 2019 Advent of Code
Here are my attempts at the 2019 Advent of Code challenge before my dedication
to the effort plummeted.

View file

@ -1,8 +0,0 @@
with import <nixpkgs> {};
with python35Packages;
buildPythonPackage {
name = "wpcarro";
src = ./day_5.py;
propagatedBuildInputs = [ pytest numpy ];
}

View file

@ -1,50 +0,0 @@
defmodule Interpretter do
def interpret_param({mode, x}, xs) do
case mode do
:positional -> Enum.at(xs, x)
:immediate -> x
end
end
# Perhaps I can model the intepretter after Forth and make it a stack-based
# interpretter with an emphasis on debugability, introspection.
def interpret(i, xs) do
stack = []
op = Enum.at(xs, i)
# map instructions into an intermediate representation (i.e. IR) where the
# opcodes are mapped into atoms and the arguments are mapped into references
# or literals.
instructions =
%{'01' => :add,
'02' => :multiply,
'03' => :input,
'04' => :output,
'05' => :jump_if_true,
'06' => :jump_if_false,
'07' => :less_than,
'08' => :equal_to,
'99' => :return}
case xs do
[:add, a, b, {:positional, out} | rest] ->
a = interpret_param(a, xs)
b = interpret_param(b, xs)
Interpretter.interpret(i + 3, List.insert_at(xs, out, a + b))
[:multiply, a, b, {:positional, out} | rest] ->
a = interpret_param(a, xs)
b = interpret_param(b, xs)
Interpretter.interpret(i + 3, List.insert_at(xs, out, a * b))
[:input, a | rest] -> nil
[:output, a | rest] -> nil
[:jump_if_true, a, b | rest] -> nil
[:jump_if_false, a, b | rest] -> nil
[:less_than, a, b, out | rest] -> nil
[:equal_to, a, b, out | rest] -> nil
[:return | _rest] -> nil
end
end
end

Binary file not shown.

View file

@ -1,18 +0,0 @@
{ pkgs ? import <nixpkgs> {}, ... }:
{ name, deps, src }:
let
inherit (pkgs) pythonPackages writeTextFile;
inherit (builtins) toFile;
in writeTextFile {
inherit name;
executable = true;
destination = "/bin/${name}";
text = ''
#!/bin/sh
${pkgs.python3}/bin/python3 ${src}
'';
}