Reorganized stdlib; fixed some tests
This commit is contained in:
parent
26ac41f104
commit
be2fd4a6af
|
@ -1,7 +0,0 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
|
||||||
(require "sugar.rkt")
|
|
||||||
(provide maybe none some)
|
|
||||||
|
|
||||||
(data maybe : (forall (A : Type) Type)
|
|
||||||
(none : (forall (A : Type) (maybe A)))
|
|
||||||
(some : (forall* (A : Type) (a : A) (maybe A))))
|
|
8
oll.rkt
8
oll.rkt
|
@ -2,7 +2,7 @@
|
||||||
;; OLL: The OTT-Like Library
|
;; OLL: The OTT-Like Library
|
||||||
;; TODO: Add latex extraction
|
;; TODO: Add latex extraction
|
||||||
;; TODO: Automagically create a parser from bnf grammar
|
;; TODO: Automagically create a parser from bnf grammar
|
||||||
(require "sugar.rkt" "nat.rkt" racket/trace)
|
(require "stdlib/sugar.rkt" "stdlib/nat.rkt" racket/trace)
|
||||||
|
|
||||||
(provide define-relation define-language var avar var-equal?)
|
(provide define-relation define-language var avar var-equal?)
|
||||||
|
|
||||||
|
@ -192,7 +192,7 @@
|
||||||
#'Type)]))
|
#'Type)]))
|
||||||
|
|
||||||
(module+ test
|
(module+ test
|
||||||
(require "sugar.rkt")
|
(require "stdlib/sugar.rkt")
|
||||||
(begin-for-syntax
|
(begin-for-syntax
|
||||||
(require rackunit)
|
(require rackunit)
|
||||||
(check-equal?
|
(check-equal?
|
||||||
|
@ -207,8 +207,8 @@
|
||||||
--------------- T-Bla
|
--------------- T-Bla
|
||||||
(meow g e t)]))])
|
(meow g e t)]))])
|
||||||
(check-regexp-match
|
(check-regexp-match
|
||||||
"Inductive meow : (forall temp. : gamma, (forall temp. : term, (forall temp. : type, Type))) :="
|
"Inductive meow : \\(forall temp. : gamma, \\(forall temp. : term, \\(forall temp. : type, Type\\)\\)\\) :="
|
||||||
(first (string-split t "\n")))
|
(first (string-split t "\n")))
|
||||||
(check-regexp-match
|
(check-regexp-match
|
||||||
"T-Bla : (forall g : gamma, (forall e : term, (forall t : type, (((meow g) e) t))))\\."
|
"\\| T-Bla : \\(forall g : gamma, \\(forall e : term, \\(forall t : type, \\(\\(\\(meow g\\) e\\) t\\)\\)\\)\\)\\."
|
||||||
(second (string-split t "\n"))))))
|
(second (string-split t "\n"))))))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
#lang s-exp "redex-curnel.rkt"
|
||||||
(require "sugar.rkt" "prop.rkt")
|
(require "stdlib/sugar.rkt" "stdlib/prop.rkt")
|
||||||
|
|
||||||
;; ---------
|
;; ---------
|
||||||
(begin-for-syntax
|
(begin-for-syntax
|
||||||
|
|
|
@ -1013,6 +1013,6 @@
|
||||||
#'(void))])))
|
#'(void))])))
|
||||||
|
|
||||||
(require (rename-in 'sugar [module+ dep-module+]))
|
(require (rename-in 'sugar [module+ dep-module+]))
|
||||||
(provide (all-from-out 'sugar))
|
(provide (rename-out [dep-module+ module+]) (all-from-out 'sugar))
|
||||||
(module+ test
|
(module+ test
|
||||||
(require (submod ".." core test)))
|
(require (submod ".." core test)))
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
#lang s-exp "../redex-curnel.rkt"
|
||||||
(provide bool btrue bfalse if bnot)
|
(provide bool btrue bfalse if bnot)
|
||||||
|
|
||||||
(data bool : Type
|
(data bool : Type
|
16
stdlib/maybe.rkt
Normal file
16
stdlib/maybe.rkt
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#lang s-exp "../redex-curnel.rkt"
|
||||||
|
(require "sugar.rkt")
|
||||||
|
(provide maybe none some)
|
||||||
|
|
||||||
|
(data maybe : (forall (A : Type) Type)
|
||||||
|
(none : (forall (A : Type) (maybe A)))
|
||||||
|
(some : (forall* (A : Type) (a : A) (maybe A))))
|
||||||
|
|
||||||
|
(module+ test
|
||||||
|
(require rackunit "bool.rkt")
|
||||||
|
;; TODO: Dependent pattern matching doesn't work yet
|
||||||
|
#;(check-equal? (case* (some bool btrue)
|
||||||
|
[(none (A : Type)) bfalse]
|
||||||
|
[(some (A : Type) (x : bool))
|
||||||
|
(if x btrue bfalse)])
|
||||||
|
btrue))
|
|
@ -1,4 +1,4 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
#lang s-exp "../redex-curnel.rkt"
|
||||||
(require "sugar.rkt" "bool.rkt")
|
(require "sugar.rkt" "bool.rkt")
|
||||||
;; TODO: override (all-defined-out) to enable exporting all these
|
;; TODO: override (all-defined-out) to enable exporting all these
|
||||||
;; properly.
|
;; properly.
|
|
@ -1,4 +1,4 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
#lang s-exp "../redex-curnel.rkt"
|
||||||
(require "sugar.rkt")
|
(require "sugar.rkt")
|
||||||
;; TODO: Handle multiple provide forms properly
|
;; TODO: Handle multiple provide forms properly
|
||||||
;; TODO: Handle (all-defined-out) properly
|
;; TODO: Handle (all-defined-out) properly
|
|
@ -1,4 +1,4 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
#lang s-exp "../redex-curnel.rkt"
|
||||||
(provide ->
|
(provide ->
|
||||||
->*
|
->*
|
||||||
forall*
|
forall*
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
real-app
|
real-app
|
||||||
define-rec)
|
define-rec)
|
||||||
|
|
||||||
(require (only-in "redex-curnel.rkt" [#%app real-app]
|
(require (only-in "../redex-curnel.rkt" [#%app real-app]
|
||||||
[define real-define]))
|
[define real-define]))
|
||||||
|
|
||||||
|
|
3
stlc.rkt
3
stlc.rkt
|
@ -1,5 +1,6 @@
|
||||||
#lang s-exp "redex-curnel.rkt"
|
#lang s-exp "redex-curnel.rkt"
|
||||||
(require racket/trace "nat.rkt" "sugar.rkt" "oll.rkt" "maybe.rkt")
|
(require racket/trace "stdlib/nat.rkt" "stdlib/sugar.rkt" "oll.rkt"
|
||||||
|
"stdlib/maybe.rkt")
|
||||||
|
|
||||||
(define-language stlc
|
(define-language stlc
|
||||||
#:vars (x)
|
#:vars (x)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user