Skip to content

Instantly share code, notes, and snippets.

@mikesperber
mikesperber / gist:0f2addaf3fbe97ffb4a5234d8711ba41
Last active April 4, 2020 10:51
Patch to compile haskell-src-exts 1.19.1 with newer GHC
diff --git a/src/Language/Haskell/Exts/ExactPrint.hs b/src/Language/Haskell/Exts/ExactPrint.hs
index d3d7b38..0fe01a7 100644
--- a/src/Language/Haskell/Exts/ExactPrint.hs
+++ b/src/Language/Haskell/Exts/ExactPrint.hs
@@ -53,13 +53,17 @@ instance Applicative EP where
instance Monad EP where
return x = EP $ \l cs -> (x, l, cs, id)
-
EP m >>= k = EP $ \l0 c0 -> let
@mikesperber
mikesperber / cc.patch
Created December 23, 2019 13:13
Patch for building idris-tf-random with nix
diff --git a/src/Makefile b/src/Makefile
index 328dd7e..40bff94 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,16 +1,16 @@
all: threefish_block.o idr_mash.o threefish_block.so idr_mash.so
threefish_block.o: threefish_block.c threefish_block.h
- gcc -I. -c threefish_block.c
+ cc -I. -c threefish_block.c
;; Die ersten drei Zeilen dieser Datei wurden von DrRacket eingefügt. Sie enthalten Metadaten
;; über die Sprachebene dieser Datei in einer Form, die DrRacket verarbeiten kann.
#reader(lib "DMdA-vanilla-reader.ss" "deinprogramm")((modname properties) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ())))
; Kapitel "Eigenschaften von Prozeduren"
; 3 Checks schlagen fehl.
; Kommutativität von +
(check-property
(for-all ((a number)
;; Die ersten drei Zeilen dieser Datei wurden von DrRacket eingefügt. Sie enthalten Metadaten
;; über die Sprachebene dieser Datei in einer Form, die DrRacket verarbeiten kann.
#reader(lib "DMdA-beginner-reader.ss" "deinprogramm")((modname list1) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ())))
; Ein Paar besteht aus:
; - einem beliebigen Element
; - einer Liste
(define-record-procedures pair
make-pair pair?
(first rest))
(: make-pair (%a a-list -> pair))
@mikesperber
mikesperber / kapitel-7.scm
Last active January 6, 2016 14:59
kapitel-7.scm
;; Die ersten drei Zeilen dieser Datei wurden von DrScheme eingefügt. Sie enthalten Metadaten
;; über die Sprachebene dieser Datei in einer Form, die DrScheme verarbeiten kann.
#reader(lib "DMdA-vanilla-reader.ss" "deinprogramm")((modname kapitel-7) (read-case-sensitive #f) (teachpacks ()) (deinprogramm-settings #(#f write repeating-decimal #f #t none explicit #f ())))
; Kapitel 7
; Länge einer Liste berechnen
(: list-length ((list-of %a) -> natural))
(check-expect (list-length (list 2 3 4 5)) 4)
(check-expect (list-length empty) 0)
(check-expect (list-length (make-pair 1 empty)) 1)
@mikesperber
mikesperber / kapitel-9.scm
Created January 6, 2016 14:57
Kapitel 9, "Die Macht der Abstraktion"
#reader(lib"read.ss""wxme")WXME0108 ##
#|
This file uses the GRacket editor format.
Open this file in DrRacket version 5.0.1 or later to read it.
Most likely, it was created by saving a program in DrRacket,
and it probably contains a program with non-text elements
(such as images or comment boxes).
http://racket-lang.org/
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("lodash"), require("react/addons"));
else if(typeof define === 'function' && define.amd)
define(["lodash", "react/addons"], factory);
else if(typeof exports === 'object')
exports["Reactabular"] = factory(require("lodash"), require("react/addons"));
else
root["Reactabular"] = factory(root["_"], root["React"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_3__) {
@mikesperber
mikesperber / keybase.md
Created February 26, 2015 07:58
Keybase proof

Keybase proof

I hereby claim:

  • I am mikesperber on github.
  • I am sperber (https://keybase.io/sperber) on keybase.
  • I have a public key whose fingerprint is 99A9 D12C 93E3 C79B 8560 DD99 D586 1C55 4E20 6C69

To claim this, I am signing this object: