# key: bench # name: benchmark-module # expand-env: ((yas-indent-line (quote fixed))) # -- -------------------------------------------------------------------------------- module ${1:`(if (not buffer-file-name) "Module" (let ((name (file-name-sans-extension (buffer-file-name))) (case-fold-search nil)) (if (cl-search "bench/" name) (replace-regexp-in-string "/" "." (replace-regexp-in-string "^\/[^A-Z]*" "" (car (last (split-string name "src"))))) (file-name-nondirectory name))))`} ( benchmark, main ) where -------------------------------------------------------------------------------- import Bench.Prelude -------------------------------------------------------------------------------- import ${1:$(s-chop-suffix "Bench" yas-text)} -------------------------------------------------------------------------------- main :: IO () main = defaultMain [benchmark] -------------------------------------------------------------------------------- benchmark :: Benchmark benchmark = bgroup "${1:$(->> yas-text (s-chop-suffix "Bench") (s-split ".") -last-item)}" [bench "something dumb" $ nf (1 +) (1 :: Int)]