Skip to content

Instantly share code, notes, and snippets.

datatype fruit =
Peach
| Apple
| Pear
| Lemon
| Fig
datatype tree =
Bud
| Flat of fruit * tree
!cpu 6502
!to "jump.prg",cbm
* = $0801
!byte $0d,$08,$dc,$07,$9e,$20,$34,$39
!byte $31,$35,$32,$00,$00,$00
* = $c000
ldx foo_addr
#lang racket
(provide (rename-out [my-read read]
[my-read-syntax read-syntax]))
(define (my-read in) (syntax->datum (my-read-syntax #f in)))
(define (rev stx)
(define l (syntax->list stx))
(if l
(datum->syntax stx (reverse (map rev l)) stx stx)
@Glorp
Glorp / 42.rkt
Last active March 26, 2017 12:43
Solving a number problem using idiomatic LISP
#lang racket
(define (read-string s)
(with-handlers
([(λ (_) #t) (λ (_) 0)])
(define in (open-input-string s))
(let loop ()
(unless (eof-object? (read in))
(loop)))
1))
@Glorp
Glorp / blah.txt
Last active February 27, 2017 12:57
F#-notes
F# (as per http://fsharp.org/use/linux/):
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-complete fsharp
VSCode:
@Glorp
Glorp / snok.rkt
Created September 21, 2016 11:38
#lang racket
(require 2htdp/universe
2htdp/image)
(define snake-head-img
(overlay (triangle 8 'solid 'black)
(rectangle 10 10 'solid 'green)))
(define snake-body-img (rectangle 10 10 'solid 'green))
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Mutability {
public static void main(String[] args) {
ArrayList<String> l1 = new ArrayList<>();
fun foo b =
let exception Foo
in if b
then (foo (not b)) handle Foo => "caught"
else raise Foo
end
exception Bar
fun bar b =
if b
@Glorp
Glorp / a.rkt
Created January 6, 2016 13:42
doesn't seem to work
#lang racket
(module a-sig racket
(provide a^)
(define-signature a^
(a)))
(module a-impl racket
(require (submod ".." a-sig)
@Glorp
Glorp / ab.rkt
Created January 6, 2016 13:40
seems to work
#lang racket
(module a-sig racket
(provide a^)
(define-signature a^
(a)))
(module b-sig racket
(provide b^)