是否有一种编程语言使用除(非扩展)ascii表之外的字符?

时间:2010-11-05 21:16:23

标签: keyboard special-characters character keyboard-layout dvorak

我不知道谁会做出这样的决定,但是有没有这样的语言?

我问这个(或者一些琐事,如果你喜欢)的原因是我刚刚完成了dvorak的“开发者”版本的第八次迭代(特别强调特殊字符)。目前还没有使用四把钥匙!

由于我不想偶然发现一种新语言,只是为了发现我的布局缺乏一个关键的特殊性格,我决定向社区提问。


如果除了基本字符之外根本不需要任何其他字符,那么对于未使用的密钥,最好的用途(对于程序员来说,当然,这是SO)?来自extended ascii table的东西?或者故意让他们闲置,并使用AutoHotKey做一些很酷的事情?

9 个答案:

答案 0 :(得分:16)

是的,有(至少一个):APL

这是康威用APL写的生命游戏:

它使用此键盘映射:

答案 1 :(得分:5)

事实上的标准Haskell实现,GHC,supports Unicode syntax if

{-# LANGUAGE UnicodeSyntax #-}

在文件顶部指定。这允许您对函数类型和lambdas使用,对类型类使用,为列表推导使用等。

更准确地说,支持的语法是:

 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

此外,各种库提供Unicode运算符(使用Haskell对运算符名称中的Unicode字符的支持):http://www.haskell.org/haskellwiki/Unicode-symbols

答案 2 :(得分:4)

Fortress,一种数学/科学编程语言,由Java的Guy L Steele(当时还在Sun)开发,广泛使用Unicode数学运算符等。

不仅有语言的定义ASCII表示,还有一种使用TeX将ASCII转换为“渲染”版本的定义方式。您也可以(据我所知)直接在您的源代码中使用Unicode运算符 - 对于难以输入的内容,只有一个ASCII“快捷方式”(据我理解 - 我承认我不确定这一点)。

该网站有an example of the source and how it's rendered

答案 3 :(得分:2)

旧的Macintosh Programmer's Workshop(MPW)的脚本语言使用了大量非ASCII字符来实现基本上是Unix shell的版本。事实上,documentation中的一些仍然可用。例如,它使用Σ进行重定向。

答案 4 :(得分:2)

C#允许变量包含Unicode字符。例如,字符ɢ(Latin Small Capital G,U + 0262)是C#变量中完全有效的字符。

答案 5 :(得分:1)

Perl 6具有可选的Unicode operators,以及添加用户定义的运算符的能力。

在重新映射密钥之前,您可能不应该等待它。我不知道Rakudo是否可以使用Unicode运算符。

答案 6 :(得分:1)

PL / I对“not”运算符使用倒置-L字符;我曾经使用的VM360使用“^”作为ASCII等价物(我不认为EBCDIC有“^”)。

答案 7 :(得分:1)

我对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 ▼ ->
    ★ <| (▼ -★- ▼) |> °

答案 8 :(得分:0)

这会算吗?

中文版Python http://www.chinesepython.org/doc/tut/tut/node3.html

<强>中国:

>>> 甲 = 12
>>> 乙 = 3
>>> 甲 + 乙
15
>>> 甲 + 乙**乙
39
>>> 甲 = 0 #(可以重新指定值)
>>> 乙 = 甲 + 1
>>> 寫 乙
1

<强>英语:

>>> j = 12
>>> y = 3
>>> j + y
15
>>> j + y**y
39
>>> j = 0
>>> y = j + 1
>>> print y
1