samth/test-bugs — Issue #145: provide/contract'ed funs can't be used in student languages
Author: racket-bug-submit
Created: 2012-03-09 16:22:19+00:00
State: open
Labels: anon-submit, gnats-migrated

###### Originally submitted by John Clements on: Tue Oct 04 01:28:01 -0400 2011

```racket
If a function is provided with a contract,
calling it in a student language signals
the error

function call: expected a function after the open parenthesis, but found a variable
```

##### Steps to Reproduce:

```racket
cat > ~/plt/collects/stepper/bogus.rkt
#lang racket

(provide/contract [bogus (-> number? number?)])

(define (bogus x) x)

Then, open a new buffer in DrR, set the
language level to Beginning Student, and
evaluate this program:

(require stepper/bogus)

(bogus 3)

See the error mentioned above.
```

##### Release:

```
5.1.3.11--2011-10-01(79fbc97/g)
```

##### Environment:

```
macosx "Darwin oiseau.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT
2011; root:xnu-1504.15.3~1/RELEASE_I386 i386" (x86_64-macosx/3m) (get-display-depth) = 32
Human Language: english
(current-memory-use) 435567704
Links: (links) = (); (links #:user? #f) = (); (links #:root? #t) = (); (links #:user? #f
#:root? #t) = ()

Collections:
("/Users/clements/clements/collects"
(".gitignore" "badger" "file-size-checker" "info-domain" "jbc-gnucash" "mboxrd-read"
"midi" "mnemisis" "projector" "shelly" "template-tester" "txomp" "web-utilities"))
("/Users/clements/matthias/collects"
(non-existent-path))
("/Users/clements/Library/Racket/5.1.3.11/collects"
(non-existent-path))
("/Users/clements/plt/collects"
(".gitignore" "2htdp" "algol60" "at-exp" "browser" "combinator-parser" "compiler"
"config" "data" "datalog" "db" "defaults" "deinprogramm" "drracket" "drscheme" "dynext"
"embedded-gui" "eopl" "errortrace" "ffi" "file" "framework" "frtime" "games" "graphics"
"gui-debugger" "guibuilder" "handin-client" "handin-server" "help" "hierlist" "honu"
"htdp" "html" "icons" "info-domain" "lang" "launcher" "lazy" "macro-debugger" "make"
"meta" "mred" "mrlib" "mysterx" "mzcom" "mzlib" "mzscheme" "net" "openssl" "parser-tools"
"picturing-programs" "plai" "planet" "plot" "preprocessor" "profile" "r5rs" "r6rs"
"racket" "racklog" "rackunit" "raco" "reader" "readline" "redex" "repo-time-stamp" "rnrs"
"s-exp" "scheme" "schemeunit" "scribble" "scribblings" "scriblib" "setup" "sgl" "sirmail"
"slatex" "slideshow" "srfi" "srpersist" "stepper" "string-constants" "swindle" "syntax"
"syntax-color" "teachpack" "test-box-recovery" "test-engine" "tests" "tex2page" "texpict"
"trace" "typed" "typed-racket!
" "typed-scheme" "unstable" "version" "waterworld" "web-server" "wxme" "xml" "xrepl"))

Computer Language: (("Teaching Languages" "How to Design Programs" "Beginning Student")
(#(#t constructor repeating-decimal #f #t none) #f ()))
```

###### This bug was converted from Gnats bug [12254](http://bugs.racket-lang.org/old/12254).

[anon-submit clements AT racket-lang.org]