Xah Lee wrote: > Languages with Full Unicode Support > > As far as i know, Java and JavaScript are languages with full, complete > unicode support. That is, they allow names to be defined using unicode. > (the JavaScript engine used by FireFox support this) > > As far as i know, here's few other lang's status: > > C → No. > Python → No. > Perl → No.
Perl supports unicode in its core, and that include identifier names using exotic characters. > Haskell → Yes by the spec, but no on existing compilers. Erm, isn't this an effective "No"? > JavaScript → No in general. Firefox's engine do support it. > Lisps → No. > unix shells (bash) → No. (this probably applies to all unix shells) > Java → Yes and probably beats all. However, there may be a bug in 1.5 > compiler. > > Also, there appears to be a bug with Java 1.5's unicode support. The > following code compiles fine in 1.4, but under 1.5 the compiler > complains about the name x1.str★. > > class 方 { > String str北 = > "北方有佳人,絕世而獨立。\n一顧傾人城,再顧傾人国。\n寧不知倾城与倾国。\n佳人難再得。"; > String str★="θπαβγλϕρκψ ≤≥≠≈⊂⊃⊆⊇∈ > ⅇⅈⅉ∞∆° ℵℜℂℝℚℙℤ ℓ∟∠∡ ∀∃ ∫∑∏ > ⊕⊗⊙⊚⊛∘∙ ★☆"; > > } > > class UnicodeTest { > public static void main(String[] arg) { > 方 x1 = new 方(); > System.out.println( x1.str北 ); > System.out.println( x1.str★ ); > } > } > > If you know a lang that does full unicode support, please let me know. > Thanks. > > Xah > [EMAIL PROTECTED] > ∑ http://xahlee.org/ Perl is coming close to having full unicode support. '★' is not an alphabetic or numeric character and has no place in an identifier. That is why both Perl and Java reject it. Let's see what Perl can do: #!/usr/bin/perl use strict; use warnings; use utf8; package 方; our $str北="北方有佳人,絕世而獨立。\n一顧傾人城,再顧傾人国。" . "\n寧不知倾城与倾国。\n佳人難再得。"; our $strβ = "θπαβγλϕρκψ ≤≥≠≈⊂⊃⊆⊇∈ ⅇⅈⅉ∞∆° ℵℜℂℝℚℙℤ ℓ∟∠∡ ∀∃ ∫∑∏ ⊕⊗⊙⊚⊛∘∙ ★☆"; sub new { my $class = shift; my $self = { str北 => \$str北, 'strβ' , \$strβ, }; bless ($self, $class); } sub str北 { ${ (shift)->{str北} }; } sub strβ { ${ (shift)->{strβ} }; }; package Test方; sub do { binmode STDOUT, 'utf8'; my $obj方 = 方->new(); $\ = "\n"; print $obj方->str北(); print '----------------'; print $obj方->strβ(); } Test方->do(); -- http://mail.python.org/mailman/listinfo/python-list