alias wgetr="wget -rSNpk -np --execute robots=off -U \"Mozilla/5.001 (windows; U; NT4.0; en-us) Gecko/25250101\" $@"
It's GG
Life is simple...
Poor man’s website downloader
Mixins in Scheme
#lang scheme (define person% (class object% (init name) (super-new) (define current-name name) (define/public (set-name name) (set! current-name name)) (define/public (get-name) current-name))) (define (talkable-person %) (class % (super-new) (define/public (talk) "blah blah"))) (define talking-person% (talkable-person person%)) (define gg (new talking-person% (name "GG"))) (send gg get-name) (send gg talk) bash-3.2$ mzscheme mixin.ss "GG" "blah blah"
Interfaces in Scheme
#lang scheme (define person-interface (interface() get-name set-name)) (define person% (class* object% (person-interface) (init name) (define current-name name) (super-new) (define/public (get-name) current-name) (define/public (set-name name) (set! current-name name)) )) (define gg (new person% [name "GG"])) (send gg get-name) (send gg set-name "Ganesh Gunasegaran") (send gg get-name) (is-a? gg person-interface) (is-a? gg person%) bash-3.2$ mzscheme oops.ss "GG" "Ganesh Gunasegaran" #t #t
Easy comment/uncomment selection in emacs
Add this to .emacs
;; Comment/Uncomment region (global-set-key (kbd "s-/") 'comment-dwim)
Toggle comment of the selected region by pressing Apple + /
OOP in Scheme
#lang scheme
(define student% (class object%
(init name age)
(define this-name name)
(define this-age age)
(super-new)
(define/public (get-name)
this-name)
(define/public (set-name name)
(set! this-name name))
(define/public (get-age)
this-age)
(define/public (set-age age)
(set! this-age age))
))
> (define gg (new student% [name "Ganesh"] [age 28])) > (send gg get-name) "Ganesh" > (send gg get-age) 28 > (send gg set-name "GG") > (send gg get-name) "GG"
parameterized procedures in Scheme
(define fav-color (make-parameter 'blue))
(define whats-ur-fav-color?
(lambda ()
(fav-color)))
> (whats-ur-fav-color?)
blue
> (parameterize ((fav-color 'red))
(whats-ur-fav-color?))
red




