Y at-il un langage de programmation qui utilise des caractères autres que ceux de la (non étendue) table ascii?

StackOverflow https://stackoverflow.com/questions/4110165

Question

Je ne peux pas voir qui ferait une telle décision, mais est-il une telle langue?

La raison pour laquelle je demande à ce (ou quelques anecdotes, si vous voulez) est que je viens de terminer la huitième itération faire de ma version « développeur » de Dvořák (grand accent sur les caractères spéciaux). Et quatre touches ne sont actuellement pas utilisés!

Depuis je ne veux plus jamais tomber par hasard sur une nouvelle langue pour essayer, pour savoir que ma mise en page n'a pas un caractère spécial cruciale j'ai décidé de demander à la communauté.


S'il n'y a jamais besoin d'autres personnages en plus de ceux de base, ce qui serait le meilleur usage (pour un programmeur bien sûr, cela est SO) des clés inutilisées? Quelque chose de la table ascii prolongée ? Ou délibérément les laisser inutilisés et faire quelque chose de cool avec des AutoHotKey ?

Était-ce utile?

La solution

Oui, il y a (au moins une): APL

Voici jeu de la vie de Conway écrit en APL:

Il utilise ce mappage du clavier:

Autres conseils

Le standard de fait la mise en œuvre Haskell, GHC, prend en charge la syntaxe Unicode si

{-# LANGUAGE UnicodeSyntax #-}

est spécifié dans la partie supérieure d'un fichier. Cela vous permet d'utiliser pour les types de fonction et lambdas, pour les classes de type, pour compréhensions liste, etc ..

Plus précisément, la syntaxe est pris en charge:

 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

En outre, différentes bibliothèques fournissent aux opérateurs Unicode (en utilisant le support de Haskell pour les caractères Unicode dans les noms de l'opérateur): http : //www.haskell.org/haskellwiki/Unicode-symbols

forteresse , un langage de programmation mathématique / scientifique développée par (entre autres) Guy L Steele Java quand il était encore à Sun, utilise largement les opérateurs mathématiques Unicode etc.

Non seulement est-il une représentation ASCII définie de la langue, il y a aussi une manière définie de convertir l'ASCII en une version « rendu » à l'aide TeX. Vous pouvez également (comme je comprends i) utilise les opérateurs Unicode directement dans votre source - il y a juste un « raccourci » ASCII pour des choses qui est difficile à taper (si je comprends bien - I'l admettre que je ne suis pas sûr sur ce point ).

Le site a un exemple de la source et la façon dont il est rendu .

C # permet variables contiennent des caractères Unicode. Par exemple, le caractère ɢ (latin Petit Capital G, U + 0262) est un caractère tout à fait valable dans une variable C #.

Le langage de script pour l'ancien atelier du programmeur Macintosh (de MPW) utilisé beaucoup de caractères non-ASCII pour mettre en œuvre ce qui était essentiellement une version du shell Unix. En fait, certains des documentation est toujours disponible. Il est utilisé pour la redirection Σ, par exemple.

Perl 6 est en option opérateurs Unicode, ainsi que la possibilité d'ajouter opérateurs définis par l'utilisateur.

Vous devriez probablement pas attendre avant remappant vos clés. Je ne sais pas si Rakudo peut encore travailler avec des opérateurs Unicode.

PL / I utilise un caractère à l'envers-L pour l'opérateur "non"; le VM360 je une fois utilisé « ^ » comme l'équivalent ASCII (je ne pense pas que EBCDIC avait « ^ »).

Ma fourchette de 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 ▼ ->
    ★ <| (▼ -★- ▼) |> °

Would ce compte?

version chinoise de Python
http://www.chinesepython.org/doc/tut/tut/node3.html

chinois:

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

anglais:

>>> j = 12
>>> y = 3
>>> j + y
15
>>> j + y**y
39
>>> j = 0
>>> y = j + 1
>>> print y
1
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top