Skip to content

Commit

Permalink
remove */local-ec surface syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
hasu committed Nov 2, 2015
1 parent 371a86c commit 25ff496
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 89 deletions.
14 changes: 0 additions & 14 deletions 2014/surface.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -115,20 +115,6 @@

(define-annos-wrapper* typedef)

(define-syntax* (let/local-ec stx)
(syntax-case stx ()
[(_ . rest)
(syntax-property
(syntax/loc stx (let/ec . rest))
'local-ec #t)]))

(define-syntax* (apply/local-ec stx)
(syntax-case stx ()
[(_ k e)
(syntax-property
(syntax/loc stx (k e))
'local-ec #t)]))

(define-syntax* (begin-racket stx)
(syntax-case stx ()
[(_ e ...)
Expand Down
19 changes: 0 additions & 19 deletions manual-src/manual.scrbl
Original file line number Diff line number Diff line change
Expand Up @@ -262,25 +262,6 @@ For example:
nine)
}

@defform[(let/local-ec k body ...+)]{
A block that binds an escape continuation to the label @racket[k], and contains a sequence of expressions @racket[body ...]. The value of the overall expression is given either by the last expression of its body, or the argument expression @racket[_expr] of any evaluated @racket[(app/local-ec k _expr)] within the body. All value giving expressions in a block must be of the same type.

For example:
@(interaction #:eval the-eval
(let/local-ec outer-k
(when #f
(app/local-ec outer-k 5))
(let/local-ec middle-k
(when #f
(app/local-ec middle-k 6))
(let/local-ec inner-k
(app/local-ec outer-k 7))
8)))
}

@defform[(app/local-ec k expr)]{
An expression that causes a jump to a surrounding continuation labeled by @racket[k], with the continuation yielding the value given by expression @racket[expr]. It is possible to jump beyond other, intermediate @racket[let/local-ec] blocks, but jumping outside the surrounding function body is not possible.}

@defform[(if-target name then-expr else-expr)]{
A compile-time conditional expression that depends on the intended execution target. Currently the only meaningful target language @racket[name] is @racketidfont{cxx}, which stands for C++. When code is being compiled for a target matching @racket[name], only @racket[then-expr] will be included in generated executable code; otherwise it is @racket[else-expr] that will be subject to evaluation in the target environment.

Expand Down
14 changes: 0 additions & 14 deletions surface.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -175,20 +175,6 @@ language.
(abstract-type)))]
))

(define-syntax* (let/local-ec stx)
(syntax-parse stx
[(_ . rest)
(syntax-property
(syntax/loc stx (let/ec . rest))
'local-ec #t)]))

(define-syntax* (app/local-ec stx)
(syntax-parse stx
[(_ k:id e:expr)
(syntax-property
(syntax/loc stx (k e))
'local-ec #t)]))

(define-syntax* (if-target stx)
(syntax-parse stx
[(_ name:id t:expr e:expr)
Expand Down
20 changes: 0 additions & 20 deletions tests/test-run-local-ec-1.rkt

This file was deleted.

22 changes: 0 additions & 22 deletions tests/test-run-local-ec-2.rkt

This file was deleted.

0 comments on commit 25ff496

Please sign in to comment.