Skip to content

Instantly share code, notes, and snippets.

View a13's full-sized avatar
🌲
🍺

D.K. a13

🌲
🍺
  • Belgrade, Serbia
View GitHub Profile
@ssrihari
ssrihari / clojure-learning-list.md
Last active May 23, 2024 22:53
An opinionated list of excellent Clojure learning materials

An opinionated list of excellent Clojure learning materials

These resources (articles, books, and videos) are useful when you're starting to learn the language, or when you're learning a specific part of the language. This an opinionated list, no doubt. I've compiled this list from writing and teaching Clojure over the last 10 years.

  • 🔴 Mandatory (for both beginners and intermediates)
  • 🟩 For beginners
  • 🟨 For intermediates

Table of contents

  1. Getting into the language
@natema
natema / .XCompose
Created March 30, 2020 11:15
Unicode emoticons for Compose key
include "%L"
# Emoji
# http://unicode.org/emoji/charts/full-emoji-list.html
<Multi_key> <colon> <colon> <D> : "😀"
<Multi_key> <colon> <x> <D> : "😁"
<Multi_key> <colon> <l> <o> <l> : "😂"
<Multi_key> <colon> <r> <o> <f> : "🤣"
<Multi_key> <colon> <colon> <d> : "😃"
{:paths ["."]}
;; -*- lexical-binding: t -*-
(require 'dash)
(require 's)
(require 'company)
(defun rofi-filter (proc msg)
(backward-delete-char (length company-prefix))
(insert (s-trim msg)))
;; add missing ; on mac layout via H-8
(define-key key-translation-map (kbd "H-8") (kbd ";"))
(quail-define-package
"russian-no-windows" "Russian" "RU" nil
"ЙЦУКЕН Russian computer layout"
nil t t t t nil nil nil nil nil t)
;; 1! 2" 3№ 4% 5: 6, 7. 8; 9( 0) -_ =+ \/ ёЁ
;; Й Ц У К Е Н Г Ш Щ З Х Ъ
#scrollToTop {
display: none !important;
}
#stat-blacklisters {
display: block !important;
}
* {
color: #cccccc !important;
background-color: #444444 !important;
-moz-appearance: none !important;
@darwin
darwin / ping_pong_go.clj
Last active August 15, 2022 11:25 — forked from jmglov/ping_pong_go.clj
Non-blocking version of core.async ping-pong game
(ns ping-pong-go
(:require [clojure.core.async :as async :refer [<! >!]]))
(defn ping [ch]
(println "Ping")
(go
(>! ch :ping)
(<! (async/timeout 500))))
(defn pong [ch]
@NicolasPetton
NicolasPetton / transducers.el
Last active April 17, 2023 19:32
transducers in Elisp
;;; stream.el --- Implementation of transducers -*- lexical-binding: t -*-
;; Copyright (C) 2015 Nicolas Petton
;; Author: Nicolas Petton <nicolas@petton.fr>
;; Keywords: transducer, sequences
;; Version: 1.0
;; Package: transducers
;; Maintainer: nicolas@petton.fr
@gatlin
gatlin / typed-racket-monads.md
Last active December 30, 2023 01:59
A simple definition and demonstration of monads in Typed Racket

What the fuck is a monad?

Or: functor? I 'ardly know 'er!

Monads are difficult to explain without sounding either patronizing or condescending: I would sound patronizing if I came up with some facile analogy and I would be condescending to describe it categorically.

Instead, I'll frame a problem and piece-by-piece solve the problem with what will turn out to be a monad.

@tonyg
tonyg / monad.rkt
Last active March 30, 2024 09:05
Monads in Racket
#lang racket/base
;; Monads in Racket, including polymorphic bind, return and fail.
;; Haskell-like do-notation.
(provide define-monad-class
(struct-out monad-class)
monad?
gen:monad
monad->monad-class
determine-monad