wenyan README

The project's README from github.com/wenyan-lang/wenyan. As one markdown file: README.md.

文言 wenyan-lang

npm build Netlify Status

wy-lang.org | Wiki | The Book

English | 简体中文 | 繁體中文

文言文編程語言。A programming language for the ancient Chinese. Try it online.

CHANGELOG

序

夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱。蛇、象、駱、犀,各爭文采。方知鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此誠非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羈於遠邦,兩耳久曠于雅言。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故希孟不慚年少,莊生不望無涯。乃作斯言。誠未能嘔瀝長吉之心血,亦庶幾免於義山之流沫。既成之後,復學干將鑄劍而自飼,越王嚐糞而當先。自謂偶追《十書》之筆意,但恨少八家之淋漓。此子山所謂士衡撫掌而甘心,平子見陋而固宜。然則雖實覆甕之質,尚存斧正之望;雖乏呂相之金,易字之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。

Helloworld

Wenyan:

吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
	吾有一言。曰「「問天地好在。」」。書之。
云云。

Equivalent JavaScript:

var n = 3;
for (var i = 0; i < n; i++) {
	console.log("問天地好在。");
}

Output:

問天地好在。
問天地好在。
問天地好在。

Punctuations and newlines are completely optional (just like they are in Classical Chinese), so the above code is equivalent to:

吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云

More sophisticated examples, such as the Sieve of Eratosthenes, Quicksort, Mandelbrot set, and Tower of Hanoi, can be found in the ./examples folder.

Features

Try it out

The Online IDE

Text Editor Plugins

Command Line Compiler

Install the compiler by

npm install -g @wenyan/cli

Try run the included examples, e.g.:

wenyan examples/helloworld.wy
# will output: 問天地好在。

The Decompiler

You can now translate JavaScript to wenyan-lang using the wenyanizer by zxch3n.

3rd Party Compilers

Documentation

Check out our Wiki pages

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

wenyan (wenyan-lang/wenyan)

Searching Database…

20.3K ·GitHub
这是什么?wenyan-lang(文言)是一门语法为文言文的编程语言:你用文言散文的形式来写程序。它是图灵完备的,并带有编译器、在线 IDE 和包管理器。
它是一门独立的完整语言吗——wenyan 代码会编译成什么?它可以编译成 JavaScript、Python 或 Ruby。还有一个反编译器 wenyanizer,能把 JavaScript 转回 wenyan,另外也存在一个第三方开发的 JVM 编译器。
我怎么试用——需要先安装什么东西吗?上手不需要安装任何东西:有一个在线 IDE,直接在浏览器里就能用。如果想本地使用,README 介绍了需要安装的命令行编译器,装好后就可以运行自带的示例。
用命令行编译器的话,我的电脑上需要装什么?这个编译器是一个 TypeScript/npm 项目,所以 CLI 实际需要 Node.js。如果你只用在线 IDE,有浏览器就够了。
写程序真的得先懂文言文吗?是的——程序要按文言文的语法来写,所以能读懂文言文是真正的入门门槛。语法文档在 Wiki 的 Syntax Cheatsheet 里。
它只能在网页上用,还是能在我的操作系统上运行?两种都行:在线 IDE 和文档里介绍的 Browser Runtime 在任何浏览器中都能运行,而基于 Node 的 CLI 编译器在 Node 能运行的地方都能跑——Windows、macOS 和 Linux 都支持。
wenyan 代码里必须写标点符号吗?不必须——标点和换行完全是可选的,和文言文一样,所以同一个程序可以写成连续一整行的散文。
为什么要用文言文来做一门编程语言?作者本人的序言(同样用文言文写成)提到,此前从没有人用 wenyan 编过程序,并把这门语言看作让文脉延续下去的一种方式。
wenyan 能在网页里运行吗,还是只能在 IDE 里用?可以——Wiki 里记录了 Browser Runtime,所以 wenyan 程序可以在浏览器的客户端直接执行。
有没有学习 wenyan 的书?有——项目网站上链接了一本关于 wenyan 的《The Book》,提供英文、简体中文和繁体中文版本,此外还有 Wiki 文档。
Size
46.3 MB
Stars
20.3K
Age
6y
Commits · 90 Days