reorganize

This commit is contained in:
AlexKnauth 2016-06-28 13:14:21 -04:00
parent 4c5b8ae2e5
commit 358f997065
116 changed files with 121 additions and 111 deletions

9
info.rkt Normal file
View File

@ -0,0 +1,9 @@
#lang info
(define collection 'multi)
(define deps
'("base"
"sweet-exp"
))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+reco+var.rkt")
(reuse #:from "stlc+rec-iso.rkt") ; want type=?, but only need to load current-type=?

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+lit.rkt" #:except #%datum)
(provide (for-syntax current-join))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "sysf.rkt" #:except #%datum Λ inst)
(reuse String #%datum #:from "stlc+reco+var.rkt")

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "sysf.rkt" #:except #%datum Λ inst);#:rename [~∀ ~sysf:∀])
(reuse String #%datum #:from "stlc+reco+var.rkt")

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang s-exp macrotypes/typecheck
(extends "sysf.rkt" #:except #%datum Λ inst)
(reuse String #%datum #:from "stlc+reco+var.rkt")
(require (only-in "fomega.rkt" current-kind? ∀★? ★? kind?))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+reco+sub.rkt" #:except +)
(require (rename-in (only-in "sysf.rkt" ∀? ~∀) [~∀ ~sysf:∀] [ sysf:∀]))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "ext-stlc.rkt" #:except #%app λ + - void = zero? sub1 add1 not
#:rename [~→ ~ext-stlc:→])
(require (only-in "sysf.rkt" ~∀ ∀? Λ))
@ -6,7 +6,7 @@
(require (only-in "stlc+cons.rkt" ~List))
(reuse tup × proj #:from "stlc+tup.rkt")
(reuse define-type-alias #:from "stlc+reco+var.rkt")
(require (for-syntax "type-constraints.rkt"))
(require (for-syntax "../type-constraints.rkt"))
(provide hd tl nil?)
(provide )

View File

@ -1,5 +1,6 @@
#lang s-exp "typecheck.rkt"
(require racket/fixnum racket/flonum (for-syntax "type-constraints.rkt" "variance-constraints.rkt"))
#lang s-exp macrotypes/typecheck
(require racket/fixnum racket/flonum
(for-syntax macrotypes/type-constraints macrotypes/variance-constraints))
(extends "ext-stlc.rkt" #:except #%app λ + - void = zero? sub1 add1 not let let* and #%datum begin
#:rename [~→ ~ext-stlc:→])

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+cons.rkt")
;; Simply-Typed Lambda Calculus, plus mutable references

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+reco+var.rkt")
;; Simply-Typed Lambda Calculus, plus cons

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+box.rkt" #:except ref deref := #%app λ)
(provide (for-syntax get-new-effects))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc.rkt")
(provide define-primop)

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+sub.rkt" #:except #%datum)
(extends "stlc+cons.rkt" #:except + #%datum and tup × proj ~× list)
(reuse tup × proj #:from "stlc+tup.rkt")

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(reuse List cons nil #:from "stlc+cons.rkt")
(reuse #:from "stlc+rec-iso.rkt") ; to load current-type=?
(extends "stlc+sub.rkt" #:except #%datum)

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+tup.rkt")
(reuse var case define-type-alias define #:from "stlc+reco+var.rkt")

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+sub.rkt" #:except #%app #%datum)
(extends "stlc+reco+var.rkt" #:except #%datum +)
;;use type=? and eval-type from stlc+reco+var.rkt, not stlc+sub.rkt

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+tup.rkt" #:except × ×? tup proj
#:rename [~× ~stlc:×])
(provide × (for-syntax ~× ~×* ~ ~*))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+lit.rkt" #:except #%datum +)
(reuse Bool String add1 #:from "ext-stlc.rkt")
(require (prefix-in ext: (only-in "ext-stlc.rkt" #%datum))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "ext-stlc.rkt")
(require (for-syntax racket/list))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(provide (for-syntax current-type=? types=?))
(provide (for-syntax mk-app-err-msg))

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang s-exp macrotypes/typecheck
(extends "stlc+lit.rkt")
(reuse #:from "stlc+rec-iso.rkt") ; want this type=?

View File

@ -1,5 +1,5 @@
#lang s-exp "../infer.rkt"
(require "rackunit-typechecking.rkt")
(require typed-lang-builder/examples/tests/rackunit-typechecking)
(typecheck-fail (λ (x) x) #:with-msg "could not infer type of x; add annotation\\(s\\)")

View File

@ -1,5 +1,5 @@
#lang s-exp "../stlc+occurrence.rkt"
(require "rackunit-typechecking.rkt")
(require typed-lang-builder/examples/tests/rackunit-typechecking)
;; -----------------------------------------------------------------------------
;; basic types & syntax

View File

@ -1,5 +1,5 @@
#lang s-exp "../stlc+overloading.rkt"
(require "rackunit-typechecking.rkt")
(require typed-lang-builder/examples/tests/rackunit-typechecking)
;; -----------------------------------------------------------------------------
;; --- syntax for ψ types

View File

@ -1,2 +0,0 @@
#lang s-exp syntax/module-reader
macrotypes/tapl/typed-lang-builder/typed-lang-builder

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+reco+var.rkt")
(reuse #:from "stlc+rec-iso.rkt") ; want type=?, but only need to load current-type=?

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+lit.rkt" #:except #%datum)
(provide (for-syntax current-join))

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "sysf.rkt" #:except #%datum Λ inst)
(reuse String #%datum #:from "stlc+reco+var.rkt")

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "sysf.rkt" #:except #%datum Λ inst);#:rename [~∀ ~sysf:∀])
(reuse String #%datum #:from "stlc+reco+var.rkt")

View File

@ -1,4 +1,4 @@
#lang s-exp "typecheck.rkt"
#lang typed-lang-builder
(extends "sysf.rkt" #:except #%datum Λ inst)
(reuse String #%datum #:from "stlc+reco+var.rkt")
(require (only-in "fomega.rkt" current-kind? ∀★? ★? kind?))

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+reco+sub.rkt" #:except +)
(require (rename-in (only-in "sysf.rkt" ∀? ~∀) [~∀ ~sysf:∀] [ sysf:∀]))

View File

@ -1,6 +1,6 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(require racket/fixnum racket/flonum
(for-syntax "../type-constraints.rkt" "../variance-constraints.rkt"))
(for-syntax macrotypes/type-constraints macrotypes/variance-constraints))
(extends "ext-stlc.rkt" #:except #%app λ + - void = zero? sub1 add1 not let let* and #%datum begin
#:rename [~→ ~ext-stlc:→])

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+cons.rkt")
;; Simply-Typed Lambda Calculus, plus mutable references

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+reco+var.rkt")
;; Simply-Typed Lambda Calculus, plus cons

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+box.rkt" #:except ref deref := #%app λ)
;; Simply-Typed Lambda Calculus, plus mutable references

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc.rkt")
(provide define-primop)

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+tup.rkt")
(reuse var case define-type-alias define #:from "stlc+reco+var.rkt")

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+sub.rkt" #:except #%app #%datum)
(extends "stlc+reco+var.rkt" #:except #%datum +)
;;use type=? and eval-type from stlc+reco+var.rkt, not stlc+sub.rkt

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+tup.rkt" #:except × ×? tup proj
#:rename [~× ~stlc:×])
(provide × (for-syntax ~× ~×* ~ ~*))

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+lit.rkt" #:except #%datum +)
(reuse Bool String add1 #:from "ext-stlc.rkt")
(require (prefix-in ext: (only-in "ext-stlc.rkt" #%datum))

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "ext-stlc.rkt")
(require (for-syntax racket/list))

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(provide only-in (for-syntax current-type=? types=?))
(begin-for-syntax

View File

@ -1,4 +1,4 @@
#lang macrotypes/tapl/typed-lang-builder
#lang typed-lang-builder
(extends "stlc+lit.rkt")
(reuse #:from "stlc+rec-iso.rkt") ; want this type=?

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/exist.rkt"
#lang s-exp "../exist.rkt"
(require "rackunit-typechecking.rkt")
(check-type (pack (Int 0) as ( (X) X)) : ( (X) X))

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/ext-stlc.rkt"
#lang s-exp "../ext-stlc.rkt"
(require "rackunit-typechecking.rkt")
;; tests for stlc extensions

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/fomega.rkt"
#lang s-exp "../fomega.rkt"
(require "rackunit-typechecking.rkt")
(check-type Int : )

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/fomega2.rkt"
#lang s-exp "../fomega2.rkt"
(require "rackunit-typechecking.rkt")
(check-type Int : )

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/fomega3.rkt"
#lang s-exp "../fomega3.rkt"
(require "rackunit-typechecking.rkt")
(check-type Int : )

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/fsub.rkt"
#lang s-exp "../fsub.rkt"
(require "rackunit-typechecking.rkt")
;; examples from tapl ch26, bounded quantification

View File

@ -1,4 +1,4 @@
#lang s-exp "../typed-lang-builder/mlish.rkt"
#lang s-exp "../mlish.rkt"
(require "rackunit-typechecking.rkt")
;; match on tups

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; tests cond with else

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; the following function def produces error:

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; test vectors and for loops

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(define-type (List X)
Nil

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(require "../../rackunit-typechecking.rkt")
(require "basics-general.mlish")
(require-typed map append fst snd member foldl foldr filter sum reverse

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(require "../../rackunit-typechecking.rkt")
(require "basics-general.mlish")
(require-typed append filter foldr foldl reverse snd member

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(require "../../rackunit-typechecking.rkt")
;; Huffman trees from SICP

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(require "../../rackunit-typechecking.rkt")
;; Lambda Calculus interpreter

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(require "../../rackunit-typechecking.rkt")
(define-type (Option A)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../../mlish.rkt"
(require "../../rackunit-typechecking.rkt")
;; TODO

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define-type Color Red Yellow Blue)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define (fannkuch [n : Int] -> Int)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define +alu+

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define (fib [n : Int] -> Int)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define-type (List X)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define (main [argv : (Vector String)] -> Int)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define-type T1 t1)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; tests for instantiation of polymorphic functions and constructors

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(require-typed mk-fasta #:from "fasta.mlish")

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; pattern matching for built-in lists

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; datatype with no self-reference

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; alternate match that supports nested patterns

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define-type-alias Matrix (Vector (Vector Int)))

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define +pi+ 3.141592653589793)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; tests of polymorphic recursion

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; function polymorphic in list element

View File

@ -1,5 +1,5 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
(require "../rackunit-typechecking.rkt" "../../typed-lang-builder/mlish-do.rkt")
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt" "../../mlish-do.rkt")
(define-type (Result A B)
(Ok A)

View File

@ -1,4 +1,4 @@
#lang sweet-exp "../../typed-lang-builder/mlish.rkt"
#lang sweet-exp "../../mlish.rkt"
define
sum [lst : (List Int)] Int

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
;; from chap 6 of RW OCaml

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(require "trees.mlish")

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define-type (Tree X)

View File

@ -1,4 +1,4 @@
#lang s-exp "../../typed-lang-builder/mlish.rkt"
#lang s-exp "../../mlish.rkt"
(require "../rackunit-typechecking.rkt")
(define-type (Option X)

View File

@ -1,5 +1,5 @@
#lang racket/base
(require (for-syntax rackunit syntax/srcloc) rackunit "../typecheck.rkt")
(require (for-syntax rackunit syntax/srcloc) rackunit macrotypes/typecheck)
(provide check-type typecheck-fail check-not-type check-props check-runtime-exn)
(begin-for-syntax

View File

@ -27,11 +27,11 @@
(require "fomega2-tests.rkt")
(require "fomega3-tests.rkt")
(require "stlc+occurrence-tests.rkt")
(require "stlc+overloading-tests.rkt")
(require macrotypes/examples/tests/stlc+occurrence-tests)
(require macrotypes/examples/tests/stlc+overloading-tests)
;; type inference
(require "infer-tests.rkt")
(require macrotypes/examples/tests/infer-tests)
;; type and effects
(require "stlc+effect-tests.rkt")

Some files were not shown because too many files have changed in this diff Show More