Skip to content

Instantly share code, notes, and snippets.

View Nymphium's full-sized avatar
⚜️
百合

Nymphium Nymphium

⚜️
百合
View GitHub Profile
@Nymphium
Nymphium / 集計くん.sh
Last active April 15, 2025 07:51
./集計くん.sh "2024-01-01" "2024-12-31" # displays the PRs each which you created between $1 and $2, and merged under the current dir, recursively
#!/usr/bin/env bash
set -eu
from_date=${1:-"2024-10-01"}
to_date=${2:-"2025-03-31"}
total=0
f() {
local eff = require('eff')
local inst, perform, handler = eff.inst, eff.perform, eff.handler
local Twice = inst()
local Exit = inst()
--[[
co = {
print(1)
coroutine.yield() -- *1
@Nymphium
Nymphium / main.ml
Last active February 8, 2023 14:21
[@@@alert "-unstable"]
[@@@warning "-32"]
(* Reimplementation of Go's worker pools using Eio and Domainslib.Chan
https://gobyexample.com/worker-pools
*)
module Stdenv = struct
type _ Effect.t += Get : (Eio.Stdenv.t * Eio.Switch.t) Effect.t
module type NATURAL = sig
type t
val build : ((t -> t) -> t -> t) -> t
end
module type BUILD_NATURAL = functor
(M : sig
type t
module Base = struct
type _ operations = ..
end
module Freer : sig
type _ t
module Syntax : sig
val ( let* ) : 'a t -> ('a -> 'b t) -> 'b t
end
module type S = sig val x: int end
let module M = struct let x = 3 end in
Obj.magic (module M : S) |> fun m -> let module M = (val m : S) in M.x (* 3 *)
environment
OS ArchLinux
Mem 16GB
CPU intel Core i7 8565U
$ time node hoge
hello
!
\documentclass[landscape,a4paper]{article}
\usepackage{luacode}
\usepackage{pdfpages}
\begin{document}
\begin{luacode*}
local options = [==[
pages= -,
nup = 2x2,
width = 0.49\paperwidth,
function() return error() endlocal socket = require('socket')
local gettime = socket.gettime
local TIMES = 1000000
local t1 = gettime()
for _ = 1, TIMES do
pcall(error)
end
local t2 = gettime()
let run_continuer : type a. ((unit -> (unit -> a)) -> a) -> a =
fun f ->
let module M = struct
effect Save : unit -> (unit -> a);;
let save () = perform @@ Save ()
end
in
let open M in
match f save with
| effect (Save ()) k ->