svn: r568
This commit is contained in:
parent
a2eaedecdc
commit
1e802969f9
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user