From: Finn B. <bc...@us...> - 2000-11-17 14:14:22
|
Update of /cvsroot/jython/jython/Doc In directory slayer.i.sourceforge.net:/tmp/cvs-serv15716 Modified Files: compile.html differences.html embedding.html faq.html index.html interpreter.html jarray.html jythonc.html properties.html registry.html subclassing.html usejava.html whatis.html Log Message: Generated .html files. Index: compile.html =================================================================== RCS file: /cvsroot/jython/jython/Doc/compile.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** compile.html 1999/09/22 20:33:16 1.5 --- compile.html 2000/11/17 14:14:17 1.6 *************** *** 1,14 **** <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Wed Sep 22 16:32:59 1999 --> ! <!-- USING HT2HTML 1.0 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Compiling JPython --> <HEAD> ! <TITLE>Compiling JPython</TITLE> </HEAD> --- 1,14 ---- <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Nov 17 14:50:48 2000 --> ! <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Compiling Jython --> <HEAD> ! <TITLE>Compiling Jython</TITLE> </HEAD> *************** *** 25,30 **** <center> ! <a href="http://www.jpython.org/"> ! <img border=0 src="./images/jpython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> --- 25,30 ---- <center> ! <a href="http://jython.sourceforge.net/"> ! <img border=0 src="./images/jython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> *************** *** 37,41 **** <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 37,41 ---- <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 44,48 **** </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 44,48 ---- </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 70,77 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking JPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">JPython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 70,77 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking Jython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">Jython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 79,83 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <b>Compiling JPython from source</b> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 79,83 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <b>Compiling Jython from source</b> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 98,102 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jpythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 98,102 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 115,125 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="differences.html">JPython vs. CPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="faq.html">JPython FAQ</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.python.org/pipermail/jpython-interest/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 115,125 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="differences.html">Jython vs. CPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="faq.html">Jython FAQ</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.geocrawler.com/archives/3/7017/2000/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 131,135 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jp...@py...">jp...@py...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 131,135 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jyt...@li...">jyt...@li...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 142,145 **** --- 142,148 ---- </A> </TD></TR> + <TR><TD BGCOLOR="#cdb7b5"> + + </TD></TR> </TABLE><!-- end of sidebar table --> *************** *** 149,198 **** <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>Compiling JPython</h3> ! <P>Most users of JPython will never be required to look at the ! contents of the src directory, or try and recompile any of the files in the org.python package. All of these files have been precompiled in ! jpython.jar.</P> ! <P>For those people who do want to rebuild JPython from the source, for whatever reason, the following offers a few tips to keep in mind.</P> ! <P>The source to many of the classes in the org.python.parser package ! are not distributed with JPython. These classes are produced from the ! file "python.jjt" using the ! <A HREF="http://www.metamata.com/javacc/">JavaCC</A> parser generator ! tool. When rebuilding JPython from source you have two options for ! generating these classes: ! ! <OL> ! <LI>Copy all of the .class files from jpython.jar into src. Then ! only rebuild those files in packages other than ! org.python.parser. This is the recommended choice unless you ! explicitly want to experiment with the JPython ! grammar/parser. ! ! <LI>Get <A HREF="http://www.metamata.com/javacc/">JavaCC</A> ! <sup>1</sup>. ! Run jjtree on python.jjt, and then run javacc on the resulting ! python.jj. This should produce all of the required source ! files to build the org.python.parser package. ! </OL> ! ! <P></P> ! ! <P>The file in src/installer/MakeScriptAction.java is only used by the ! JPython installer. You should have no need to recompile this file ! unless you plan to build a new installer for JPython. This file ! depends on packages from ! <A HREF="http://www.installshield.com/java">InstallShield Java ! Edition</A>, and you must have this software installed and in your ! CLASSPATH before you can rebuild this file. <hr> ! <sup>1</sup>JavaCC version 0.7.1 is required. Specifically, newer ! versions of JavaCC are known to be incompatible with JPython's grammar ! file. This will be fixed in a later release. </TD><!-- end of body cell --> --- 152,188 ---- <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>Compiling Jython</h3> ! <P>Most users of Jython will never be required to look at the ! contents of the source directories, or try and recompile any of the files in the org.python package. All of these files have been precompiled in ! jython.jar.</P> ! <P>For those people who do want to rebuild Jython from the source, for whatever reason, the following offers a few tips to keep in mind.</P> + + <P>Some of the sources in the org.python.parser package are generated + from python.jtt file by the JavaCC parser generator. If you need to + make changes to the grammar file you will need to download this + <A HREF="http://www.metamata.com/javacc/">JavaCC</A> too. The generated + files are also in the distribution, so usually this is not necessary. + + <P>To regenerate the parser from the grammar, run jjtree on python.jjt, + and then run javacc on the resulting python.jj. This should produce all + of the required source files to build the org.python.parser package. + + <P>If you have further interest in the Jython source and Jython's + continued development, you can read the archives for the + <a href="http://www.geocrawler.com/lists/3/SourceForge/7018/0/"> + Jython-dev mailing list</a> or you can + <a href="http://lists.sourceforge.net/mailman/listinfo/jython-dev">join</a> + the list. ! <P> <hr> ! <sup>1</sup>JavaCC version 2.0 is used to create the generated sources ! included with the distribution. </TD><!-- end of body cell --> Index: differences.html =================================================================== RCS file: /cvsroot/jython/jython/Doc/differences.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** differences.html 2000/01/22 01:09:35 1.10 --- differences.html 2000/11/17 14:14:17 1.11 *************** *** 1,14 **** <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Jan 21 20:05:33 2000 --> <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Differences between CPython and JPython --> <HEAD> ! <TITLE>Differences between CPython and JPython</TITLE> </HEAD> --- 1,14 ---- <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Nov 17 14:50:48 2000 --> <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Differences between CPython and Jython --> <HEAD> ! <TITLE>Differences between CPython and Jython</TITLE> </HEAD> *************** *** 25,30 **** <center> ! <a href="http://www.jpython.org/"> ! <img border=0 src="./images/jpython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> --- 25,30 ---- <center> ! <a href="http://jython.sourceforge.net/"> ! <img border=0 src="./images/jython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> *************** *** 37,41 **** <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 37,41 ---- <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 44,48 **** </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 44,48 ---- </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 70,77 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking JPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">JPython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 70,77 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking Jython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">Jython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 79,83 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="compile.html">Compiling JPython from source</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 79,83 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="compile.html">Compiling Jython from source</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 98,102 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jpythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 98,102 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 115,125 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <b>JPython vs. CPython</b> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="faq.html">JPython FAQ</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.python.org/pipermail/jpython-interest/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 115,125 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <b>Jython vs. CPython</b> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="faq.html">Jython FAQ</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.geocrawler.com/archives/3/7017/2000/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 131,135 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jp...@py...">jp...@py...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 131,135 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jyt...@li...">jyt...@li...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 142,145 **** --- 142,148 ---- </A> </TD></TR> + <TR><TD BGCOLOR="#cdb7b5"> + + </TD></TR> </TABLE><!-- end of sidebar table --> *************** *** 149,155 **** <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>Differences between CPython and JPython</h3> ! <P>CPython and JPython are two different implementations of the Python language. While a <A HREF="http://www.python.org/doc/ref">Language Reference</A> exists for the Python language, there are a number of --- 152,158 ---- <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>Differences between CPython and Jython</h3> ! <P>CPython and Jython are two different implementations of the Python language. While a <A HREF="http://www.python.org/doc/ref">Language Reference</A> exists for the Python language, there are a number of *************** *** 157,182 **** following lists all known differences between the two implementations of the Python language. These differences range from the trivial -- ! JPython prints "1.0E20" where CPython prints ! "1e+020" -- to the dramatic -- everything in JPython is an instance of a class. At some point more effort should be made to separate the interesting differences from the mundane. <p>Any other differences not listed here can probably be considered a ! bug in JPython. Understand of course that CPython and JPython advance at different paces. All efforts are made to keep the two implementations in sync, but that's not always possible. <p><i>This list ! has been updated to describe the differences between JPython 1.1beta4 and ! CPython 1.5.2</i> <h3>Syntax</h3> <UL> ! <LI>JPython has a different interpretation of floating point literals. CPython doesn't allow 001.1 <I>CPython should be fixed.</I> ! <p><LI>JPython supports continue in a try clause. <I>CPython should be fixed - but don't hold your breath.</I> </UL> --- 160,185 ---- following lists all known differences between the two implementations of the Python language. These differences range from the trivial -- ! Jython prints "1.0E20" where CPython prints ! "1e+020" -- to the dramatic -- everything in Jython is an instance of a class. At some point more effort should be made to separate the interesting differences from the mundane. <p>Any other differences not listed here can probably be considered a ! bug in Jython. Understand of course that CPython and Jython advance at different paces. All efforts are made to keep the two implementations in sync, but that's not always possible. <p><i>This list ! has been updated to describe the differences between Jython-2.0 and ! CPython 2.0</i> <h3>Syntax</h3> <UL> ! <LI>Jython has a different interpretation of floating point literals. CPython doesn't allow 001.1 <I>CPython should be fixed.</I> ! <p><LI>Jython supports continue in a try clause. <I>CPython should be fixed - but don't hold your breath.</I> </UL> *************** *** 185,237 **** <UL> ! <LI>JPython string objects support full two-byte Unicode ! characters and the functions in the string module are ! Unicode-aware. <I>CPython should add Unicode support in the ! future, though the details of this are still unclear.</I> ! ! <p><li>JPython string objects have methods, providing a more ! convenient interface to most of the string module functionality. ! <i>This feature has been added to CPython and will appear in ! version CPython 1.6.</i> ! ! <p><LI>JPython formats floating point numbers differently, e.g. an upper case 'E' is used, and it switches over to E notation sooner than CPython does. <I>Both behaviors are acceptable.</I> - - <p><LI>In JPython, 0.1**4 is printed as - 1.0000000000000002E-4. In CPython, it is printed 0.0001, even - though it is not actually equal to 0.0001. <I>Both behaviors - are acceptable for now -- this is still being discussed.</I> - - <p><LI>JPython sequences support three argument - slices. i.e. range(3)[::-1] == [2,1,0]. <I>CPython should be - fixed.</I> ! <p><LI>Every object in JPython is an instance of a class -- ! there are no types in JPython. i.e. [].__class__ is a sensible ! thing to write in JPython. <I>CPython should be fixed - but don't hold your breath.</I> ! <p><LI>The .tell() method on JPython file objects returns a ! Python long, while the .tell() method on CPython file objects ! returns a Python int. <I>Whether or not both behaviors are ! acceptable is still unclear.</I> ! ! <p><LI>JPython file objects are still missing some functionality -- see todo list in PyFile.java. (Hopefully in ! the near future this can be changed to read -- JPython file objects include the following extra functionality to properly ! handle non-ascii files...) <I>JPython should be fixed.</I> <p><LI>In CPython, range(0.1, 3.2) yields the surprising [0, ! 1, 2]. JPython does the right thing (reject float arguments). -- Many other functions taking int arguments have the same ! problem. <I>CPython should be fixed.</I> ! ! <p><LI>In CPython, the list.append() method takes multiple ! arguments and forms a tuple. JPython's append() method ! requires one argument only. <I>CPython should be fixed -- but ! probably won't be due to backwards compatibility.</I> <p><LI>The __name__ attribute of built-in extension modules --- 188,236 ---- <UL> ! <LI>Jython have only one string type which support full ! two-byte Unicode characters and the functions in the string ! module are Unicode-aware. The u"" string modifier is optional ! and completely ignored if specified. ! CPython-2.0 have two string types, the classic 8-bit string and ! and new unicode string which is created with the u"" string modifier. ! <I>Both behaviors are acceptable.</I> ! ! <p><li>Jython uses the character properties (isuppercase, isdecimal, ...) ! from the java platform. Java uses Unicode-2.0 and not all unicode properties ! is available through java. ! CPython-2.0 uses Unicode-3.0 and all unicode properties are available. ! About 340 of the unicode points have different properties. ! <I>Both behaviors are acceptable.</I> ! ! <p><LI>Jython formats floating point numbers differently, e.g. an upper case 'E' is used, and it switches over to E notation sooner than CPython does. <I>Both behaviors are acceptable.</I> ! <p><LI>In Jython, 0.1**4 is printed as ! 1.0000000000000002E-4. In CPython, it is printed ! 0.00010000000000000005. ! <I>Both behaviors are acceptable.</I> ! ! <p><LI>Jython sequences support three argument ! slices. i.e. range(3)[::-1] == [2,1,0]. ! <I>CPython should be fixed.</I> ! ! <p><LI>Every object in Jython is an instance of a class -- ! there are no types in Jython. i.e. [].__class__ is a sensible ! thing to write in Jython. <I>CPython should be fixed - but don't hold your breath.</I> ! <p><LI>Jython file objects are still missing some functionality -- see todo list in PyFile.java. (Hopefully in ! the near future this can be changed to read -- Jython file objects include the following extra functionality to properly ! handle non-ascii files...) <I>Jython should be fixed.</I> <p><LI>In CPython, range(0.1, 3.2) yields the surprising [0, ! 1, 2]. Jython does the right thing (reject float arguments). -- Many other functions taking int arguments have the same ! problem. <I>CPython should be fixed, but don't hold your ! breath.</I> <p><LI>The __name__ attribute of built-in extension modules *************** *** 240,273 **** <p><LI>In many cases, introspection yields different results. ! <I>Where appropriate and possible, JPython will adhere to CPython's introspection behavior. Some differences are acceptable.</I> ! <p><LI>JPython defines __debug__, but always sets it equal to ! 1. <I>JPython should implement CPython's -O option.</I> ! <p><LI>The locals() dictionary in JPython is mutable from within a function. After "def foo(x=1): locals()['x'] = 2; print x" foo() prints 1 in CPython and 2 in ! JPython. Jim thinks that JPython's behavior is better here -- but the best answer might be that locals() should be considered a read-only dictionary.<I> Proper behavior here is still unclear.</I> ! <p><LI>JPython doesn't support restricted execution mode and doesn't have the magic __builtins__ in every namespace. ! <I>JPython will probably never support restricted execution mode -- Java's security model is recommended instead.</I> ! <p><LI>JPython uses different values for the IOError argument. This causes trouble for people who unpack the value into an (errno, message) tuple. <I>Both behaviors are acceptable.</I> ! <p><LI>JPython code objects are missing other attributes -- co_code, co_consts, co_lnotab, co_names, co_nlocals, co_stacksize. <I>co_flags is now supported because the Python debugger requires it. Other attributes will probably never be ! supported in JPython due to its implementation of code objects as compiled Java bytecodes.</I> --- 239,272 ---- <p><LI>In many cases, introspection yields different results. ! <I>Where appropriate and possible, Jython will adhere to CPython's introspection behavior. Some differences are acceptable.</I> ! <p><LI>Jython defines __debug__, but always sets it equal to ! 1. <I>Jython should implement CPython's -O option.</I> ! <p><LI>The locals() dictionary in Jython is mutable from within a function. After "def foo(x=1): locals()['x'] = 2; print x" foo() prints 1 in CPython and 2 in ! Jython. Jim thinks that Jython's behavior is better here -- but the best answer might be that locals() should be considered a read-only dictionary.<I> Proper behavior here is still unclear.</I> ! <p><LI>Jython doesn't support restricted execution mode and doesn't have the magic __builtins__ in every namespace. ! <I>Jython will probably never support restricted execution mode -- Java's security model is recommended instead.</I> ! <p><LI>Jython uses different values for the IOError argument. This causes trouble for people who unpack the value into an (errno, message) tuple. <I>Both behaviors are acceptable.</I> ! <p><LI>Jython code objects are missing other attributes -- co_code, co_consts, co_lnotab, co_names, co_nlocals, co_stacksize. <I>co_flags is now supported because the Python debugger requires it. Other attributes will probably never be ! supported in Jython due to its implementation of code objects as compiled Java bytecodes.</I> *************** *** 275,284 **** objects may raise <tt>AttributeError</tt> or <tt>TypeError</tt> differently. <i>This is considered ! implementation dependent. In JPython the following rules are used: when getting a non-existant attribute, <tt>AttributeError</tt> is raised; when setting or deleting a readonly attribute, <tt>TypeError</tt> is raised; when setting or deleting a non-existant attribute, <tt>AttributeError</tt> ! is raised. Be aware though currently neither JPython nor CPython are completely consistent.</i> --- 274,283 ---- objects may raise <tt>AttributeError</tt> or <tt>TypeError</tt> differently. <i>This is considered ! implementation dependent. In Jython the following rules are used: when getting a non-existant attribute, <tt>AttributeError</tt> is raised; when setting or deleting a readonly attribute, <tt>TypeError</tt> is raised; when setting or deleting a non-existant attribute, <tt>AttributeError</tt> ! is raised. Be aware though currently neither Jython nor CPython are completely consistent.</i> *************** *** 286,313 **** func_defaults attributes. <i>While these are writable in CPython, I haven't decided whether they should be writable in ! JPython.</i> ! <p><LI>JPython has "true" garbage collection whereas ! CPython uses reference counting. This means that in JPython users don't need to worry about handling circular references as these are guaranteed to be collected properly. On the ! other hand, users of JPython have no guarantees of when an object will be finalized -- this can cause problems for people who use open("foo", 'r').read() excessively. <I>Both behaviors are acceptable -- and highly unlikely to change.</I> - <p><LI>In JPython, __del__() methods in user-defined classes - are never called. <i>Some future version of JPython might - provide limited support for __del__(), but see the above - item.</i> - <p><LI>The dictionaries used by classes, instances, and ! modules in JPython are not the same as the dictionaries created by {}. They are StringMap's which require all of their keys to be strings. After "class c: pass", c.__dict__[1] = 2 will work in CPython, but will raise a "TypeError: keys in namespace must be strings" error ! in JPython. <I>Both behaviors are acceptable -- CPython might ! adopt JPython's approach in the future for the performance gains it can provide.</I> --- 285,307 ---- func_defaults attributes. <i>While these are writable in CPython, I haven't decided whether they should be writable in ! Jython.</i> ! <p><LI>Jython has "true" garbage collection whereas ! CPython uses reference counting. This means that in Jython users don't need to worry about handling circular references as these are guaranteed to be collected properly. On the ! other hand, users of Jython have no guarantees of when an object will be finalized -- this can cause problems for people who use open("foo", 'r').read() excessively. <I>Both behaviors are acceptable -- and highly unlikely to change.</I> <p><LI>The dictionaries used by classes, instances, and ! modules in Jython are not the same as the dictionaries created by {}. They are StringMap's which require all of their keys to be strings. After "class c: pass", c.__dict__[1] = 2 will work in CPython, but will raise a "TypeError: keys in namespace must be strings" error ! in Jython. <I>Both behaviors are acceptable -- CPython might ! adopt Jython's approach in the future for the performance gains it can provide.</I> *************** *** 317,342 **** <UL> ! <LI>JPython supports all Java packages as extension modules. i.e. from "java.lang import System" will ! work in any JPython implementation. <I>This functionality might be added as an optional extension to some future version of CPython.</I> ! <p><LI>JPython includes the builtin module <tt>jarray</tt> -- which allows Python programmers to create and manipulate Java array objects. ! <p><LI>Lots of builtin extension modules don't exist in JPython. <UL> ! <LI>Modules struct, cPickle, cStringIO, and operator were ! all added for JPython v1.1. The following are likely to ! be implemented in a future version of JPython -- cmath. ! ! <p><LI>The following are under consideration (working code would make the decision much easier ;-) -- array, select, ! a dbm/gdbm/bsddb style module, Numeric. <p><LI>The following are highly unlikely any time soon -- ! Tkinter. However, Finn Bock has a JNI implementation called <a href="http://jTkinter.sourceforge.net/">jTkinter</a> which supports the full _tkinter API. Very cool stuff! --- 311,332 ---- <UL> ! <LI>Jython supports all Java packages as extension modules. i.e. from "java.lang import System" will ! work in any Jython implementation. <I>This functionality might be added as an optional extension to some future version of CPython.</I> ! <p><LI>Jython includes the builtin module <tt>jarray</tt> -- which allows Python programmers to create and manipulate Java array objects. ! <p><LI>Some builtin extension modules don't exist in Jython. <UL> ! <LI>The following are under consideration (working code would make the decision much easier ;-) -- array, select, ! a dbm/gdbm/bsddb style module, Numeric, cmath. <p><LI>The following are highly unlikely any time soon -- ! win32com and Tkinter. However, Finn Bock has a JNI implementation called <a href="http://jTkinter.sourceforge.net/">jTkinter</a> which supports the full _tkinter API. Very cool stuff! *************** *** 346,362 **** </UL> - <p><LI>__builtin__ module - <UL> - <p><LI>Incomplete implementation of __import__ -- only one - argument is allowed and replacing this with a user-defined - function has no effect. <I>JPython might be fixed in a - future release, but CPython will probably adopt a new - import mechanism in the near future, so JPython may not - change until the new mechanism is defined.</I> - </UL> - <p><LI>os module <UL> ! <LI>popen() and system() are missing. <I>JPython should be fixed, patches would be graciously accepted.</I> --- 336,342 ---- </UL> <p><LI>os module <UL> ! <LI>popen() and system() are missing. <I>Jython should be fixed, patches would be graciously accepted.</I> *************** *** 373,381 **** <p>Finn Bock has created ! a JNI/C++ implementation for the posix module. See ! <a href="http://pip.dknet.dk/~pip1848/jpython/modules.html"> ! Finn Bock's JPython modules page</a> for details. ! Note that his cPickle, cStringIO, binascii, and struct ! modules have all been integrated into JPython 1.1. </UL> --- 353,358 ---- <p>Finn Bock has created ! a <a href="http://jnios.sourceforge.net/">JNI/C++ ! implementation for the posix module</a> </UL> *************** *** 385,392 **** <UL> ! <p><LI>JPython is still missing exitfunc <p><LI>Also missing executable, getrefcount, ! setcheckinterval which don't make much sense for JPython. </UL> --- 362,369 ---- <UL> ! <p><LI>Jython is still missing exitfunc <p><LI>Also missing executable, getrefcount, ! setcheckinterval which don't make much sense for Jython. </UL> *************** *** 395,400 **** <UL> <p><LI>CPython's thread modules defines some aliases that ! JPython's doesn't. <I>These aliases are considered ! obsolete and won't be supported by JPython.</I> </UL> --- 372,377 ---- <UL> <p><LI>CPython's thread modules defines some aliases that ! Jython's doesn't. <I>These aliases are considered ! obsolete and won't be supported by Jython.</I> </UL> *************** *** 411,418 **** <UL> ! <p><LI>JPython doesn't catch interrupts. <I>Only fixable with a GUI console since interrupts are not supported by Java.</I> ! <p><LI>JPython doesn't have command line editing. <I>Only fixable with a GUI console. However, Un*x users can check out <tt>rlterm</tt> which provides generic GNU Readline support --- 388,395 ---- <UL> ! <p><LI>Jython doesn't catch interrupts. <I>Only fixable with a GUI console since interrupts are not supported by Java.</I> ! <p><LI>Jython doesn't have command line editing. <I>Only fixable with a GUI console. However, Un*x users can check out <tt>rlterm</tt> which provides generic GNU Readline support *************** *** 421,429 **** <a href="ftp://ftp-icf.llnl.gov/pub/Yorick/">Yorick</a> package.</I> ! <p><LI>JPython should have a feature similar to $PYTHONSTARTUP, which specifies a script to run at the start of interactive mode only. ! <p><LI>JPython supports <a href="interpreter.html">different command line options</a> than CPython, e.g. "-jar" and "-D". It --- 398,406 ---- <a href="ftp://ftp-icf.llnl.gov/pub/Yorick/">Yorick</a> package.</I> ! <p><LI>Jython should have a feature similar to $PYTHONSTARTUP, which specifies a script to run at the start of interactive mode only. ! <p><LI>Jython supports <a href="interpreter.html">different command line options</a> than CPython, e.g. "-jar" and "-D". It Index: embedding.html =================================================================== RCS file: /cvsroot/jython/jython/Doc/embedding.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** embedding.html 1999/06/17 20:30:45 1.4 --- embedding.html 2000/11/17 14:14:17 1.5 *************** *** 1,12 **** <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- USING THE NEW HT2HTML SCRIPT: Thu Jun 17 15:59:40 1999 --> <!-- User-specified headers: ! Title: Embedding JPython --> <HEAD> ! <TITLE>Embedding JPython</TITLE> </HEAD> --- 1,14 ---- <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Nov 17 14:50:49 2000 --> ! <!-- USING HT2HTML 1.1 --> ! <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Embedding Jython --> <HEAD> ! <TITLE>Embedding Jython</TITLE> </HEAD> *************** *** 23,28 **** <center> ! <a href="http://www.jpython.org/"> ! <img border=0 src="./images/jpython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> --- 25,30 ---- <center> ! <a href="http://jython.sourceforge.net/"> ! <img border=0 src="./images/jython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> *************** *** 35,39 **** <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 37,41 ---- <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 42,46 **** </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 44,48 ---- </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 68,75 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking JPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">JPython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 70,77 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking Jython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">Jython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 77,81 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="compile.html">Compiling JPython from source</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 79,83 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="compile.html">Compiling Jython from source</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 96,100 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jpythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 98,102 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 113,123 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="differences.html">JPython vs. CPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="faq.html">JPython FAQ</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.python.org/pipermail/jpython-interest/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 115,125 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="differences.html">Jython vs. CPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="faq.html">Jython FAQ</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.geocrawler.com/archives/3/7017/2000/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 129,133 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jp...@py...">jp...@py...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 131,135 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jyt...@li...">jyt...@li...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 140,143 **** --- 142,148 ---- </A> </TD></TR> + <TR><TD BGCOLOR="#cdb7b5"> + + </TD></TR> </TABLE><!-- end of sidebar table --> *************** *** 147,156 **** <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>Embedding JPython</h3> ! <P>There are several options for embedding JPython in a Java application. Sometimes the nicest approach is to make a real Java class out of a Python class and then just use that Python class from ! Java code. The simplest approach to embedding JPython is to use the PythonInterpreter object.</P> --- 152,161 ---- <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>Embedding Jython</h3> ! <P>There are several options for embedding Jython in a Java application. Sometimes the nicest approach is to make a real Java class out of a Python class and then just use that Python class from ! Java code. The simplest approach to embedding Jython is to use the PythonInterpreter object.</P> Index: faq.html =================================================================== RCS file: /cvsroot/jython/jython/Doc/faq.html,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** faq.html 2000/01/22 01:09:35 1.10 --- faq.html 2000/11/17 14:14:17 1.11 *************** *** 1,14 **** <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Jan 21 20:05:34 2000 --> <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: JPython FAQ --> <HEAD> ! <TITLE>JPython FAQ</TITLE> </HEAD> --- 1,14 ---- <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Nov 17 14:50:49 2000 --> <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Jython FAQ --> <HEAD> ! <TITLE>Jython FAQ</TITLE> </HEAD> *************** *** 25,30 **** <center> ! <a href="http://www.jpython.org/"> ! <img border=0 src="./images/jpython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> --- 25,30 ---- <center> ! <a href="http://jython.sourceforge.net/"> ! <img border=0 src="./images/jython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> *************** *** 37,41 **** <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 37,41 ---- <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 44,48 **** </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 44,48 ---- </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 70,77 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking JPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">JPython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 70,77 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking Jython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">Jython Registry</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 79,83 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="compile.html">Compiling JPython from source</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 79,83 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="compile.html">Compiling Jython from source</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 98,102 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jpythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 98,102 ---- </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="jythonc.html">Building applets, servlets, beans...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 115,125 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="differences.html">JPython vs. CPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <b>JPython FAQ</b> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.python.org/pipermail/jpython-interest/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 115,125 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="differences.html">Jython vs. CPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <b>Jython FAQ</b> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="http://www.geocrawler.com/archives/3/7017/2000/">List Archives</A> (exit) </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 131,135 **** </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jp...@py...">jp...@py...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> --- 131,135 ---- </FONT></B></TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="mailto:jyt...@li...">jyt...@li...</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> *************** *** 142,145 **** --- 142,148 ---- </A> </TD></TR> + <TR><TD BGCOLOR="#cdb7b5"> + + </TD></TR> </TABLE><!-- end of sidebar table --> *************** *** 149,153 **** <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>The JPython FAQ</h3> <ol> --- 152,156 ---- <!-- start of body cell --> <TD VALIGN=TOP WIDTH="90%"><BR> ! <h3>The Jython FAQ</h3> <ol> *************** *** 162,179 **** JPython. ! <p><li><b>Is JPython the same language as Python?</b> ! <P>We will always strive to ensure that JPython remains as compatible with CPython as possible. Nevertheless, there are a number of <a href="differences.html">differences</a> between the two implementations that are ! unlikely to go away. These range from the trivial - JPython's code objects don't have a co_code attribute because they don't ! have any Python bytecodes; to the significant - JPython uses Java's true garbage collection rather than Python's reference counting scheme. <P>Python has never really had much of a language definition ! beyond it's C-based implementation. The existence of JPython changed that for the first time and will hopefully lead to a much clearer sense of what Python the language is; independent of any --- 165,194 ---- JPython. ! <p><li><b>What is Jython?</b> ! ! <p>Jython is the successor to JPython. The Jython project was ! created in accordance with the CNRI JPython 1.1.x license, in ! order to ensure the continued existence and development of this ! important piece of Python software. The intent is to manage this ! project with the same open policies that are serving CPython so well. ! ! <p>Mailing lists, CVS and all current information on the Jython ! project is available at SourceForge, at ! <a href="http://sourceforge.net/projects/jython">The Jython project</a>. ! ! <p><li><b>Is Jython the same language as Python?</b> ! <P>We will always strive to ensure that Jython remains as compatible with CPython as possible. Nevertheless, there are a number of <a href="differences.html">differences</a> between the two implementations that are ! unlikely to go away. These range from the trivial - Jython's code objects don't have a co_code attribute because they don't ! have any Python bytecodes; to the significant - Jython uses Java's true garbage collection rather than Python's reference counting scheme. <P>Python has never really had much of a language definition ! beyond it's C-based implementation. The existence of Jython changed that for the first time and will hopefully lead to a much clearer sense of what Python the language is; independent of any *************** *** 186,203 **** <p><li><b>What is the current status of JPython?</b> ! <p>JPython 1.1rc1 was released on 21-Jan-2000, with the final ! release expected before the ! <a href="http://www.python.org/workshops/2000-01/">8th ! International Python Conference</a>. Check the ! <a href="http://www.jpython.org">www.jpython.org</a> site for the ! most current release. ! Jim Hugunin, JPython's author, has moved out to sunny ! California to work on Xerox PARC's ! <a href="http://www.parc.xerox.com/spl/projects/aop/">AspectJ</a> ! language. JPython continues to be maintained by Barry Warsaw at ! CNRI, with help and input from Python's author Guido van Rossum, ! other CNRI folks, and the many contributors on the ! <a href="http://www.python.org/mailman/listinfo/jpython-interest"> ! JPython-Interest</a> mailing list. <p><li><b>JPython and Y2K</b> --- 201,210 ---- <p><li><b>What is the current status of JPython?</b> ! <p>JPython 1.1 was released on 28-Jan-2000. Since then, there have ! been no further developments on JPython. ! ! <p><li><b>What is the current status of Jython?</b> ! <p>The Jython project was announced on 19-oct-2000. A release of ! jython-2.0 is planned before the end of the year. <p><li><b>JPython and Y2K</b> *************** *** 207,214 **** <a href="http://www.python.org/cgi-bin/faqw.py?querytype=anykeywords&casefold=yes&req=search&query=y2k"> Python FAQ entry on the subject</a>, with the additional caveat ! that JPython is of course dependent on any Y2K issues associated with the underlying JVM and Java class libraries you're using. However, you can essentially apply the Python Y2K stance to ! JPython by, e.g. substituting the word "Java" for "C" in FAQ question 4.65 (<em>ignore the clip from the Python copyright notice</em>). --- 214,221 ---- <a href="http://www.python.org/cgi-bin/faqw.py?querytype=anykeywords&casefold=yes&req=search&query=y2k"> Python FAQ entry on the subject</a>, with the additional caveat ! that Jython is of course dependent on any Y2K issues associated with the underlying JVM and Java class libraries you're using. However, you can essentially apply the Python Y2K stance to ! Jython by, e.g. substituting the word "Java" for "C" in FAQ question 4.65 (<em>ignore the clip from the Python copyright notice</em>). *************** *** 217,221 **** library are supported?</b> ! <P>The good news is that JPython now supports the large majority of the standard Python library. The bad news is that this has moved so rapidly, it's hard to keep the documentation up to --- 224,228 ---- library are supported?</b> ! <P>The good news is that Jython now supports the large majority of the standard Python library. The bad news is that this has moved so rapidly, it's hard to keep the documentation up to *************** *** 223,227 **** <p>Built-in modules (e.g. those that are written in C for CPython) ! are a differnet story. These would have to be ported to Java, or implemented with a JNI bridge in order to be used by JPython. Some built-in modules have been ported to JPython, most notably --- 230,234 ---- <p>Built-in modules (e.g. those that are written in C for CPython) ! are a different story. These would have to be ported to Java, or implemented with a JNI bridge in order to be used by JPython. Some built-in modules have been ported to JPython, most notably *************** *** 237,243 **** <P>If there is some standard Python module that you have a real need for that doesn't work with JPython yet, please ! <a href="mailto:jp...@py...">send us mail</a>. ! <p><li><b>How fast is JPython?</b> <p>At <a href="http://www.python.org/workshops/1997-10/">IPC-6</a> --- 244,250 ---- <P>If there is some standard Python module that you have a real need for that doesn't work with JPython yet, please ! <a href="mailto:jyt...@li...">send us mail</a>. ! <p><li><b>How fast is Jython?</b> <p>At <a href="http://www.python.org/workshops/1997-10/">IPC-6</a> *************** *** 247,262 **** CPython is 1.5.2 which might be only slightly faster than 1.5. JimH re-ran his benchmark tests against CPython 1.5 and his then ! current release of JPython, finding that JPython was about 2.5x slower than CPython 1.5. I have recently run a few informal benchmarks and found some interesting numbers: using Sun's JDK ! 1.2.1 with JIT on a Solaris 2.6 Sparc Ultra 2, I found JPython 1.1beta3 to produce pystone numbers equal to (or very slightly better than) CPython 1.5.2+. <p>The problem, of course, is that JITs are still not reliable ! enough for JPython. Turning off the JIT on the above platform, ! can slow JPython down by a factor of 10. ! <P>The speed of JPython is tied very tightly to the speed of the underlying JVM. The benchmark results that JimH reported were all using Microsoft's JVM from Internet Explorer 4.0. The next --- 254,269 ---- CPython is 1.5.2 which might be only slightly faster than 1.5. JimH re-ran his benchmark tests against CPython 1.5 and his then ! current release of Jython, finding that Jython was about 2.5x slower than CPython 1.5. I have recently run a few informal benchmarks and found some interesting numbers: using Sun's JDK ! 1.2.1 with JIT on a Solaris 2.6 Sparc Ultra 2, I found Jython 1.1beta3 to produce pystone numbers equal to (or very slightly better than) CPython 1.5.2+. <p>The problem, of course, is that JITs are still not reliable ! enough for Jython. Turning off the JIT on the above platform, ! can slow Jython down by a factor of 10. ! <P>The speed of Jython is tied very tightly to the speed of the underlying JVM. The benchmark results that JimH reported were all using Microsoft's JVM from Internet Explorer 4.0. The next *************** *** 267,281 **** <P>Finally, pystone is not the last word in benchmarking. At the ! moment I'm more concerned with making JPython complete and correct than with performance. We will continually be revisiting performance issues both to examine better benchmark's for ! comparing JPython and CPython (as well as other scripting ! languages for the JVM) and work at optimizing JPython's performance. ! <p><li><b>Why do weird things sometimes happen in JPython?</b> <p>More likely than not, the problem is with the JIT ! (Just-in-time) compiler your JVM is using. JPython acts like a bizarre Java compiler, taking Python source code and emitting Java bytecode. It's bizarre because the emitted bytecode --- 274,288 ---- <P>Finally, pystone is not the last word in benchmarking. At the ! moment I'm more concerned with making Jython complete and correct than with performance. We will continually be revisiting performance issues both to examine better benchmark's for ! comparing Jython and CPython (as well as other scripting ! languages for the JVM) and work at optimizing Jython's performance. ! <p><li><b>Why do weird things sometimes happen in Jython?</b> <p>More likely than not, the problem is with the JIT ! (Just-in-time) compiler your JVM is using. Jython acts like a bizarre Java compiler, taking Python source code and emitting Java bytecode. It's bizarre because the emitted bytecode *************** *** 285,290 **** stuff happen, or weird bugs, the first thing to do is to turn off your JIT and try again. If the bug still exists with the JIT ! turned off then consider <a href="http://www.python.org/jpython-bugs"> ! submitting a bug report</a>. <p><li><b>Why did I get an OutOfMemoryError?</b> --- 292,298 ---- stuff happen, or weird bugs, the first thing to do is to turn off your JIT and try again. If the bug still exists with the JIT ! turned off then consider ! <a href="http://sourceforge.net/bugs/?group_id=12867">submitting a ! bug report</a>. <p><li><b>Why did I get an OutOfMemoryError?</b> *************** *** 312,316 **** (i.e. <tt>jview.exe</tt>) which provides the standard classes in a different format. You need to run the following command in a ! console window before using JPython: <pre> --- 320,324 ---- (i.e. <tt>jview.exe</tt>) which provides the standard classes in a different format. You need to run the following command in a ! console window before using Jython: <pre> *************** *** 318,324 **** </pre> ! <p><li><b>Semantic Differences between JPython and CPython</b> ! <P>There are several several differences between JPython and CPython that wil probably never go away. These differences are primarily related to underlying differences between the C and Java --- 326,332 ---- </pre> ! <p><li><b>Semantic Differences between Jython and CPython</b> ! <P>There are several several differences between Jython and CPython that wil probably never go away. These differences are primarily related to underlying differences between the C and Java *************** *** 329,338 **** <p><UL> ! <LI><em>JPython has true garbage collection - CPython uses reference counting.</em> ! <br>This means that in JPython users don't need to worry about creating circular references as these are guarnteed to be ! collected properly. On the other hand, users of JPython have no guarantees of when an object will be finalized (short of calling System.gc() to force garbage collection). --- 337,346 ---- <p><UL> ! <LI><em>Jython has true garbage collection - CPython uses reference counting.</em> ! <br>This means that in Jython users don't need to worry about creating circular references as these are guarnteed to be ! collected properly. On the other hand, users of Jython have no guarantees of when an object will be finalized (short of calling System.gc() to force garbage collection). *************** *** 344,348 **** ever called. ! <p><LI><em>Control-C can not be caught by JPython, but will exit the shell completely</em> </UL> --- 352,356 ---- ever called. ! <p><LI><em>Control-C can not be caught by Jython, but will exit the shell completely</em> </UL> *************** *** 350,354 **** <p><li><b>Why can't I multiply inherit from two Java classes?</b> ! <P>In an earlier version of JPython, you actually could. This was deliberately disabled in 1.1 for a variety of good reasons. For a detailed discussion on this issue see the following archive --- 358,362 ---- <p><li><b>Why can't I multiply inherit from two Java classes?</b> ! <P>In earlier versions of JPython, you actually could. This was deliberately disabled in 1.1 for a variety of good reasons. For a detailed discussion on this issue see the following archive Index: index.html =================================================================== RCS file: /cvsroot/jython/jython/Doc/index.html,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** index.html 1999/09/10 16:49:41 1.5 --- index.html 2000/11/17 14:14:17 1.6 *************** *** 1,14 **** <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Sep 10 12:47:52 1999 --> ! <!-- USING HT2HTML 1.0 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Overview of JPython documentation --> <HEAD> ! <TITLE>Overview of JPython documentation</TITLE> </HEAD> --- 1,14 ---- <HTML> <!-- THIS PAGE IS AUTOMATICALLY GENERATED. DO NOT EDIT. --> ! <!-- Fri Nov 17 14:50:49 2000 --> ! <!-- USING HT2HTML 1.1 --> <!-- SEE http://www.python.org/~bwarsaw/software/pyware.html --> <!-- User-specified headers: ! Title: Overview of Jython documentation --> <HEAD> ! <TITLE>Overview of Jython documentation</TITLE> </HEAD> *************** *** 25,30 **** <center> ! <a href="http://www.jpython.org/"> ! <img border=0 src="./images/jpython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> --- 25,30 ---- <center> ! <a href="http://jython.sourceforge.net/"> ! <img border=0 src="./images/jython-new-small.gif"></a></center> </TD> <TD WIDTH=15 BGCOLOR="#cdb7b5"> </TD><!--spacer--> <!-- end of corner cells --> *************** *** 37,41 **** <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> --- 37,41 ---- <TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/">Home</a> </TD> <TD BGCOLOR="#cdb7b5"> *************** *** 44,51 **** </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://www.jpython.org/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> ! <a href="./index.html">Documentation</a> </TD> </TR> --- 44,51 ---- </TR><TR> <TD BGCOLOR="#cdb7b5"> ! <a href="http://jython.sourceforge.net/download.html">Download</a> </TD> <TD BGCOLOR="#cdb7b5"> ! <b>Documentation</b> </TD> </TR> *************** *** 70,77 **** </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="interpreter.html">Invoking JPython</A> </TD></TR> <TR><TD BGCOLOR="#cdb7b5"> ! <A HREF="registry.html">JPython Regis... [truncated message content] |