svn: r568

This commit is contained in:
Kathy Gray 2005-08-08 21:26:03 +00:00
parent a2eaedecdc
commit 1e802969f9

View File

@ -14,7 +14,7 @@ interaction boxes, and test-suite boxes. (i.e. what would be given to
javac plus two graphical boxes). Descriptions of these boxes can be javac plus two graphical boxes). Descriptions of these boxes can be
found in the DrScheme manual. found in the DrScheme manual.
_Java + dynamic language level _Java + dynamic_ language level
Version 299.200 + Version 299.200 +
This language level allows programs to contain a value that will be This language level allows programs to contain a value that will be
checked dynamically rather than statically. checked dynamically rather than statically.
@ -32,6 +32,12 @@ _Java + dynamic language level
any primitive or object value in Java. In addition, values with type any primitive or object value in Java. In addition, values with type
'dynamic' can also be used as methods: var() is a legal use. 'dynamic' can also be used as methods: var() is a legal use.
In general, variables declared with type 'dynamic' will generate a contract
check with coercians at each usage to ensure consistency with the Java type
system.
A Java String will be converted to a Scheme string, and vice-versa.
Within the Java + dynamic language level, Scheme libraries may be Within the Java + dynamic language level, Scheme libraries may be
imported and used within the Java program. imported and used within the Java program.
@ -55,12 +61,13 @@ _Java + dynamic language level
As many Scheme names are not valid Java names, the following automatic name translations As many Scheme names are not valid Java names, the following automatic name translations
will be used: will be used:
JName = [a-zA-Z0-9_]
Scheme name <-> Java name Scheme name <-> Java name
make-foo <-> makeFoo JName*-[a-zA-Z0-9] <-> JName*[A-Z0-9] i.e. make-foo <-> makeFoo
foo? <-> fooP JName*? <-> JName*P i.e. foo? <-> fooP
foo->string <-> fooToString JName*->[a-zA-Z0-9]<-> JName*To[A-Z0-9] i.e. foo->string <-> fooToString
set-foo-baz! <-> setFooBazSet JName*! <-> JName*Set i.e. set-foo-baz! <-> setFooBazSet
object% <-> objectObj JName*% <-> Jname*Obj i.e. object% <-> objectObj
_Libraries available to ProfessorJ: _Libraries available to ProfessorJ: