Skip to content

Instantly share code, notes, and snippets.

View windymelt's full-sized avatar
😄
Working from Home

Windymelt windymelt

😄
Working from Home
View GitHub Profile
{
"comment": "ips stands for items per second. spi stands for seconds per item (reciprocal for ips).",
"belt": {
"ultra_high_speed": { "ips": 45 },
"high_speed": { "ips": 30},
"normal": { "ips": 15 }
},
"item": {
"intermediate_product": {
"copper_cable": { "psi": 0.5, "recipe": [{ "name": "copper_plate", "amount": 1}], "yield": 2 },
sealed trait Nat
final object One extends Nat
final case class Succ(val nat: Nat) extends Nat
final case class Odd(val nat: Nat)
final case class Even(val nat: Nat)
object Main extends App{
// 自然数の足し算を考えることができる
/*
女騎士「体が熱い…貴様何を!」
オークA「ククク……」
オークB「ククク……」
オークA「俺が女騎士に媚薬を飲ませた」
オークB「オークA、Cは二人とも嘘つきだ」
オークC「女騎士に媚薬を飲ませたのは嘘つきだ」
オークD「オークB、Eの内片方は嘘つきだ」
オークE「俺は媚薬を飲ませてない」
女騎士「オークの内正直なのは二人だけだと分かっている時、私に媚薬を持ったオークとして適当なのは誰だ!?」
@windymelt
windymelt / specification.ros.lisp
Created July 2, 2019 11:19
DDD 宣言的な設計をCommon Lispで実装してみる
#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
(progn ;;init forms
(ros:ensure-asdf)
#+quicklisp(ql:quickload '(:prove) :silent t)
)
@windymelt
windymelt / gist:dc6757aa69c38d7b658378926cbf0cc5
Created March 16, 2019 09:09
Ironclad compilation error
; file: /app/quicklisp/dists/quicklisp/software/ironclad-v0.36/src/sbcl-opt/x86oid-vm.lisp
; in: DEFINE-VOP (SALSA-CORE-FAST)
; (SB-X86-64-ASM::EA (SB-VM::I)
; (SB-X86-64-ASM::MAKE-EA :DWORD :BASE SB-VM::BUFFER :DISP
; (+ (- (* SB-VM:N-WORD-BYTES SB-VM:VECTOR-DATA-OFFSET) SB-VM:OTHER-POINTER-LOWTAG) (* 4 SB-VM::I))))
;
; caught ERROR:
; Lock on package SB-X86-64-ASM violated when binding EA as a local function while in package SB-VM.
; See also:
; The SBCL Manual, Node "Package Locks"
<a href="https://github.com/hamukazu/lets-get-arrested">
<img src="https://img.shields.io/badge/Let's%20get-arrested-red.svg" alt="Let's get arrested badge">
</a>
@windymelt
windymelt / grovepi_dirt.go
Last active February 25, 2019 16:43
GROVE dirt humidity sensor example code in golang
package main
import (
"github.com/JGrotex/GrovePi/Software/Go/grovepi"
"fmt"
)
func runDirt() string {
var g grovepi.GrovePi
@windymelt
windymelt / kinesis.ino
Last active October 8, 2018 14:24
code for kinesis foot pedal.
#include <Keyboard.h>
#define LEFT_PAD PD0
#define MID_PAD PD1
#define RIGHT_PAD PD2
#define LEFT_LED PB0
#define MID_LED PB1
#define RIGHT_LED PB2
bool leftState = false;
#!/bin/sh
#|-*- mode:lisp -*-|#
#|
exec ros -Q -- $0 "$@"
|#
(progn ;;init forms
(ros:ensure-asdf)
#+quicklisp (ql:quickload '(:cffi :lispbuilder-sdl :lispbuilder-sdl-binaries) :silent t)
)
@windymelt
windymelt / Dockerfile
Created June 20, 2018 16:47
SWANKサーバが一緒に起動するDockerfile
FROM ubuntu:16.04
ENV libs 'automake libcurl4-gnutls-dev make gcc curl bzip2 locales libev-dev bison libbison-dev'
RUN apt-get update \
&& apt-get install -y ${libs}
ENV roswell_archive_url 'https://github.com/roswell/roswell/archive/release.tar.gz'
RUN echo 'install roswell' \
&& curl -SL ${roswell_archive_url} \
| tar -xzC /tmp/ \