Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
| [sieve.wy][30] | 埃氏篩 |
| [sqrt_newton.wy][31] | 牛頓求根法 |
| [turing.wy][32] | 圖靈機 |
| [draw_heart.wy][33] | 畫心 |

[1]: https://en.wikipedia.org/wiki/Fizz_buzz "Fizz buzz"
[2]: https://zh.wikipedia.org/wiki/自產生程式 "自產生程式"
Expand Down Expand Up @@ -66,3 +67,4 @@
[30]: sieve.wy
[31]: sqrt_newton.wy
[32]: turing.wy
[33]: draw_heart.wy
42 changes: 42 additions & 0 deletions examples/draw_heart.wy
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
吾嘗觀「「算經」」之書。方悟「絕對」「平方根」之義。

吾有一術名之曰「畫心」。
欲行是術。必先得一言。曰「心語」。
乃行是術曰。
夫「心語」之長。名之曰「長度」。
吾有一言。曰「「``」」。名之曰「填充符」。
吾有一言。曰「「\n」」。名之曰「换行符」。
除十三以十。名之曰「乙」。
除負十一以十。名之曰「乙止」。
除四十以一千。名之曰「甲步長」。
除六以一百。名之曰「乙步長」。
吾有一數。曰一。名之曰「輸出位置」。
吾有一言。曰「「」」。名之曰「果」。
恆為是。若「乙」小於「乙止」者乃止也。
除負十一以十。名之曰「甲」。
除十一以十。名之曰「甲止」。
吾有一言。曰「「」」。名之曰「本行」。
恆為是。若「甲」大於「甲止」者乃止也。
施「絕對」於「甲」。名之曰「甲絕對」。
施「平方根」於「甲絕對」。名之曰「減數」。
乘五於「乙」。除其以四。名之曰「被減數」。
減「被減數」以「減數」。名之曰「差」。
乘「差」以「差」。名之曰「加數」。
乘「甲」以「甲」。加其以「加數」。減其以一。名之曰「函數值」。
若「函數值」不大於零者。
夫「心語」之「輸出位置」。名之曰「字」。
銜「本行」以「字」。昔之「本行」者今其是矣。
除「輸出位置」以「長度」。所餘幾何。加其以一。昔之「輸出位置」者今其是矣。
若非。
銜「本行」以「填充符」。昔之「本行」者今其是矣。
终也。
加「甲」以「甲步長」。昔之「甲」者今其是矣。
云云。
減「乙」以「乙步長」。昔之「乙」者今其是矣。
銜「本行」以「换行符」。昔之「本行」者今其是矣。
銜「果」以「本行」。昔之「果」者今其是矣。
云云。
吾有一言。曰「果」。書之。
是謂「畫心」之術也。

施「畫心」於「「琉璃梳子撫青絲,畫心牽腸癡不癡。」」。