Skip to content

Instantly share code, notes, and snippets.

View sindoc's full-sized avatar

Sina K. Heshmati sindoc

View GitHub Profile
@sindoc
sindoc / app.rkt
Created December 4, 2011 12:23
Starting to develop a GUI application in Racket
#lang racket
(require framework)
(require racket/gui/base)
(define basic-frame% (frame:basic-mixin frame%))
(define standard-menus% (frame:standard-menus-mixin basic-frame%))
(define app%
(class standard-menus%
@sindoc
sindoc / racket-meta-gui.rkt
Created August 30, 2011 03:52
Dynamic evaluation of GUI elements in Racket
#lang racket
(let ((ns (make-base-empty-namespace)))
(parameterize ((current-namespace ns))
(namespace-require 'racket)
(namespace-require 'racket/gui)
(eval
'(make-object bitmap%
"path/to/image.jpg"
'jpeg))))
------------------------------------------------------
-- A JPEG Decoder in Haskell
------------------------------------------------------
--
-- Adaptation of Jeroen Fokker's Gofer implementation:
-- http://people.cs.uu.nl/jeroen/article/jpeg/
--
------------------------------------------------------
import Char
#lang racket/gui
(require framework)
(define frame (new frame% [label "Foo"]))
(send frame close)
user=> (declare public-op)
#'user/public-op
user=> (let [state (atom 10)]
(defn public-op
[a b]
(+ a b @state)))
#'user/public-op
user=> (public-op 1 2)
13
Clojure 1.2.0-master-SNAPSHOT
user=> (require 'labrepl)
WARNING: spit already refers to: #'clojure.core/spit in namespace: compojure.encodings, being replaced by: #'clojure.contrib.duck-streams/spit
WARNING: spit already refers to: #'clojure.core/spit in namespace: compojure.http.helpers, being replaced by: #'clojure.contrib.duck-streams/spit
WARNING: spit already refers to: #'clojure.core/spit in namespace: compojure.http.request, being replaced by: #'clojure.contrib.duck-streams/spit
nil
user=> (labrepl/-main)
WARNING: spit already refers to: #'clojure.core/spit in namespace: user, being replaced by: #'clojure.contrib.io/spit
java.lang.IllegalStateException: javadoc already refers to: #'clojure.java.javadoc/javadoc in namespace: user (NO_SOURCE_FILE:0)
user=>