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:
Scheme name <-> Java name JName = [a-zA-Z0-9_]
make-foo <-> makeFoo Scheme name <-> Java name
foo? <-> fooP JName*-[a-zA-Z0-9] <-> JName*[A-Z0-9] i.e. make-foo <-> makeFoo
foo->string <-> fooToString JName*? <-> JName*P i.e. foo? <-> fooP
set-foo-baz! <-> setFooBazSet JName*->[a-zA-Z0-9]<-> JName*To[A-Z0-9] i.e. foo->string <-> fooToString
object% <-> objectObj JName*! <-> JName*Set i.e. set-foo-baz! <-> setFooBazSet
JName*% <-> Jname*Obj i.e. object% <-> objectObj
_Libraries available to ProfessorJ: _Libraries available to ProfessorJ: