Is there a programming language that uses characters other than those in the (non-extended) ascii table?
I cant see who would make such a decision but is there any such language?
The reason I ask this (or some trivia, if you like) is that I just finished making the eighth iteration of my "developer" version of dvorak (big emphasis on special characters). And four keys are currently not used!
Since I dont ever want to stumble upon a new language to try, only to find out that my layout lacks a crucial special character I decided to ask the community.
If there never is a ne开发者_C百科ed for any other characters besides the basic ones, what would be the best use (for a programmer of course, this is SO) of unused keys? Something from the extended ascii table? Or purposefully leave them unused and do something cool with with AutoHotKey?
Yes, there is (at least one): APL
Here is Conway's Game of Life written in APL:
(source: wikimedia.org)
It uses this keyboard mapping:
The de-facto standard Haskell implementation, GHC, supports Unicode syntax if
{-# LANGUAGE UnicodeSyntax #-}
is specified at the top of a file. This lets you use →
for function types and lambdas, ⇒
for type classes, ←
for list comprehensions, etc..
More precisely, the supported syntax is:
ASCII Unicode alternative
:: ∷ U+2237 PROPORTION
=> ⇒ U+21D2 RIGHTWARDS DOUBLE ARROW
forall ∀ U+2200 FOR ALL
-> → U+2192 RIGHTWARDS ARROW
<- ← U+2190 LEFTWARDS ARROW
-< ↢ U+2919 LEFTWARDS ARROW-TAIL
>- ↣ U+291A RIGHTWARDS ARROW-TAIL
-<< U+291B LEFTWARDS DOUBLE ARROW-TAIL
>>- U+291C RIGHTWARDS DOUBLE ARROW-TAIL
* ★ U+2605 BLACK STAR
Further, various libraries provide Unicode operators (using Haskell's support for Unicode characters in operator names): http://www.haskell.org/haskellwiki/Unicode-symbols
Fortress, a mathematical/scientific programming language developed by (among others) Java's Guy L Steele when he was still at Sun, extensively uses Unicode mathematical operators etc.
Not only is there a defined ASCII representation of the language, there's also a defined way of converting the ASCII into a 'rendered' version using TeX. You can also (as I understand i) use Unicode operators directly in your source -- there's just an ASCII 'shortcut' for stuff that's hard to type (as I understand it -- I'l admit I'm not sure on this point).
The site has an example of the source and how it's rendered.
C# allows variables to contain Unicode characters. For example, the character ɢ (Latin Small Capital G, U+0262) is a perfectly valid character in a C# variable.
The scripting language for the old Macintosh Programmer's Workshop (MPW) used lots of non-ASCII characters to implement what was basically a version of the Unix shell. In fact, some of the documentation is still available. It used ∑ for redirection, for example.
Perl 6 has optional Unicode operators, as well as the ability to add user-defined operators.
You probably shouldn't wait for it before remapping your keys. I don't know if Rakudo can work with Unicode operators yet.
PL/I uses an upside-down-L character for the "not" operator; the VM360 I used once upon a time used "^" as the ASCII equivalent (I don't think EBCDIC had "^").
Would this count?
Chinese version of Python
http://www.chinesepython.org/doc/tut/tut/node3.html
Chinese:
>>> 甲 = 12
>>> 乙 = 3
>>> 甲 + 乙
15
>>> 甲 + 乙**乙
39
>>> 甲 = 0 #(可以重新指定值)
>>> 乙 = 甲 + 1
>>> 寫 乙
1
English:
>>> j = 12
>>> y = 3
>>> j + y
15
>>> j + y**y
39
>>> j = 0
>>> y = j + 1
>>> print y
1
My fork of F# : https://github.com/Heather/fsharp
let ° msg = System.Console.WriteLine( msg.ToString() )
let ◄ = 5
let ★ x = x + ◄
let (-★-) x y = x + y
let © = "© 2013"
let ► =
fun x -> 2 + x
sprintf "Heather %s" project version © |> °
► ◄ |> fun ▼ ->
★ <| (▼ -★- ▼) |> °
精彩评论