Skip to content

Commit

Permalink
Some Racket implementation cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
ntoronto committed Aug 6, 2013
1 parent 8394fe7 commit e5393ec
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 232 deletions.
9 changes: 5 additions & 4 deletions 2014popl/code/racket-impl/pre-arrow.rkt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#lang typed/racket
#lang typed/racket/base

(require "set.rkt"
(require racket/promise
"set.rkt"
"pre-mapping.rkt")

(provide (all-defined-out))
Expand Down Expand Up @@ -28,15 +29,15 @@

(: lazy/pre ((Promise Pre-Arrow) -> Pre-Arrow))
(define ((lazy/pre h) A)
(if (set-empty? A) empty-pre-mapping ((force h) A)))
(if (empty-set? A) empty-pre-mapping ((force h) A)))

(: id/pre Pre-Arrow)
(define (id/pre A)
(pre-mapping A (λ: ([B : Set]) B)))

(: const/pre (Value -> Pre-Arrow))
(define ((const/pre b) A)
(pre-mapping (set-singleton b) (λ: ([B : Set]) (if (set-empty? B) empty-set A))))
(pre-mapping (set-singleton b) (λ: ([B : Set]) (if (empty-set? B) empty-set A))))

(: fst/pre Pre-Arrow)
(define (fst/pre A)
Expand Down
5 changes: 3 additions & 2 deletions 2014popl/code/racket-impl/pre-mapping.rkt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#lang typed/racket
#lang typed/racket/base

(require "set.rkt")
(require racket/match
"set.rkt")

(provide (all-defined-out))

Expand Down
18 changes: 10 additions & 8 deletions 2014popl/code/racket-impl/pre-star-arrow.rkt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#lang typed/racket
#lang typed/racket/base

(require "set.rkt"
(require racket/promise
racket/match
"set.rkt"
"pre-mapping.rkt"
"pre-arrow.rkt")

Expand Down Expand Up @@ -62,7 +64,7 @@

(: branch/pre (Tree-Index -> Pre-Arrow))
(define ((branch/pre j) A)
(pre-mapping (set-meet univ-bool-set (set-project j A))
(pre-mapping (set-meet bools-set (set-project j A))
(λ: ([B : Set]) (set-unproject j A B))))

(: branch/pre* Pre*-Arrow)
Expand All @@ -78,16 +80,16 @@
(define C3 (set-meet C false-set))
(define A2 (set-meet (pk C2) (pb C2)))
(define A3 (set-meet (pk C3) (pb C3)))
(cond [(univ-bool-set? Cb)
(cond [(bools-set? Cb)
(define A (set-join A2 A3))
(pre-mapping univ-set (λ: ([B : Set]) (if (set-empty? B) empty-set A)))]
(pre-mapping univ-set (λ: ([B : Set]) (if (empty-set? B) empty-set A)))]
[else
(pre-plus ((k2 (index-left (index-right j))) A2)
((k3 (index-right (index-right j))) A3))]))

;; ===================================================================================================

(pre-ap ((random/pre* j0) (set-prod (set-prod univ-tree-set univ-tree-set) univ-null-set))
(pre-ap ((random/pre* j0) (set-prod (set-prod univ-tree-set univ-tree-set) null-set))
(ivl 0.0 0.5))

(: halt-on-true/pre* Pre*-Arrow)
Expand All @@ -100,5 +102,5 @@
(pre-ap
((halt-on-true/pre* j0) (set-prod (set-prod univ-tree-set
(set-unproject '() univ-tree-set false-set))
univ-bool-set))
univ-bool-set)
bools-set))
bools-set)
Loading

0 comments on commit e5393ec

Please sign in to comment.