Mu Way ︰ For What ??

甲骨文名

金文名

論語‧子路篇

子路曰:『衛君待子而為政,子將奚先?』子曰:『必也正名乎!』子路曰:『有是哉 ,子之迂也!奚其正?』子曰:『野哉由也!君子於其所不知,蓋闕如也。名不正,則言不順;言不順,則事不成;事不成,則禮樂不興;禮樂不興,則刑罰不中;刑罰不中,則民無所措手足。故君子名之必可言也 ,言之必可行也。君子於其言,無所苟而已矣。』

説文解字》:

名,自命也。从口,从夕。夕者,冥也。冥不相見,故以口自名。

古來『名字』的傳統,幼時口呼『命名』,成年書寫『取字』。

許多讀過『λ 運算』的人,多半覺得它既『難懂』又『難解』。這是有原因的,如果用『抽象辦法』談論著『抽象事物』,又不知道為何如此表述當然『難懂』;假使不能『困思勉行』多次的『深思熟慮』,以至於能夠一旦了悟那就自然『難解』。通常越是『基本』的概念,由於太過『直覺』了,反而容易『誤解』。就像化學元素『週期表』上的元素不過一一八個,它所構成的世界卻是千嬌萬媚繁多複雜,要講『』的『性質』與『作用』,也許一大本書都不能窮盡,但換個方向說鐵不就是日用之物的嗎?

邱奇發展『λ 運算』Lambda calculus,這裡的『calculus』不是指『微積分』,是用著『函式』Function 和『變元』Variable 的概念 ,來談論『計算』一事是什麼?複雜的『函式』是如何清晰明白無歧異的『結構』而成?『變元』的『替換』Substitution 規則,要如何系統化的處理變元替換時『異物同名』衝突之問題?如果從『函式求值』上講,一個『λ 表達式』用著怎樣的『規則』可以『轉換』成為『同等』equivalent 的另一個 λ 表達式呢?……種種。假使給定了兩個『λ 表達式』是否會有一個普適的『演算法』能夠判定彼此間的『同等性』呢?……等等。

『λ 表達式』可以用『數學歸納法』定義如下︰

變元集合 V = \{ v_1, v_2, v_3, \dots, v_n, \dots \}
抽象符號 『 λ  』與『 . 』,符號本身不是λ 表達項
結構括號 『 ( 』與『 ) 』,括號本身不是λ 表達項

λ 表達式的集合 \Lambda,由下面三條規則歸納界定︰

一、如果 x \in V ,那麼 x \in \Lambda

二、如果 x \in V 而且 M \in \Lambda ,那麼 ( \lambda x. M ) \in \Lambda

三、如果 M, N \in \Lambda ,那麼 ( M \  N) \in \Lambda

假如使用數學上函數的觀點來解釋,『第一條』規則是說︰『變數』是一個『λ 表達式』。『第二條』規則用以抽象建構單一變數的『函數』,變數 x 是『函數』的『輸入之數』,M 是『函數』的『計算表達式』,結構括號表示『函數』的在表達式裡的範圍。『第三條』規則是應用『函數求值規則』,假使該應用合理的話,計算表達式 MN 表達式下的值。

─── 《Λ 運算︰概念導引《一》

 

如果『半個』

瓦肯人

瓦肯人是虛構科幻影集《星艦迷航記》中的一種外星人。他們是發源於瓦肯星(英語:Vulcan[1])的智慧外星類人類族群,以信仰嚴謹的邏輯推理、去除情感的干擾聞名。瓦肯人是第一個與地球人類正式接觸的外星智慧文明,並在此之後成為星際聯邦的創始成員之一。瓦肯人在前六集以及第11集《星艦奇航》系列電影皆有出現,其中有四位瓦肯人及半瓦肯人(父母分別來自瓦肯人與人類)為主要角色。

 

『史巴克』

Spock

Spock is a fictional character in the Star Trek media franchise. Spock was first portrayed by Leonard Nimoy in the original Star Trek series, and also appears in the animated Star Trek series, a two-part episode ofStar Trek: The Next Generation, eight of the Star Trek feature films, and numerous Star Trek novels, comics, and video games.[2][3] In addition, numerous actors portrayed the various stages of Spock’s rapid growth, due to the effects of the Genesis Planet, in the 1984 Star Trek film Star Trek III: The Search for Spock. In the 2009 film Star Trek, Nimoy reprised his role with Zachary Quinto, who depicted a younger version of the character, existing within an alternate timeline. Both reprised their roles in the 2013 sequel Star Trek Into Darkness and Quinto reprised his role again in 2016’s Star Trek Beyond.[3]

Spock serves aboard the starship Enterprise, as science officer and first officer, and later as commanding officer of two iterations of the vessel. Spock’s mixed humanVulcan heritage serves as an important plot element in many of the character’s appearances. Along with Captain James T. Kirk and Dr. Leonard “Bones” McCoy, he is one of the three central characters in the original Star Trek series and its films. After retiring from Starfleet, Spock serves as a Federation ambassador, contributing toward the easing of the strained relationship between the Federation and the Klingon Empire. In his later years, he serves as Federation Ambassador-at-Large to the Romulan Star Empire and becomes involved in the ill-fated attempt to save Romulus from a supernova,[4] leading him to live out the rest of his life in the parallel timeline introduced in Star Trek (2009).

 

足以掌握『 \lambda 運算』,甚至還『超越』它!

那麼『一個』地球人, For What 需要『繆編環境』 \mu editor 呢?

Mu: A Python Code Editor

_images/logo.png

Note : 

This documentation is NOT for users of Mu. Rather, it is for software developers who want to improve Mu. Read our Developer Setup documentation for the technical details needed to get started.

For tutorials, how-to guides and user related discussion, please see the project’s website for users of Mu at: https://codewith.mu/

If you’re interested in the fun, educational, inspiring and sometimes hilarious ways in which people use Mu, check out: https://madewith.mu/

 

在作是非判斷之前,先聽聽 \mu 創造者── 一位教師 ── 3W1H 的現身說法吧☆

What?

Mu is a very simple Python editor for kids, teachers and beginner programmers. It’s written in Python and works on Windows, OSX, Linux and Raspberry Pi.

“[Papert] realized, ‘Oh, we could take the real content out here as a version in the child’s world that is still the real thing.’ It’s not a fake version of math. It’s kind of like little league, or even T-ball. In sports they do this all the time. In music, they do it all the time. The idea is, you never let the child do something that isn’t the real thing – but you have to work your ass off to figure out what the real thing is in the context of the way their minds are working at that developmental level.” – Alan Kay

Mu aspires to be “the real thing” as a development environment for beginner programmers taking their first steps with Python.

As a rule of thumb, if you’re able to ask “why doesn’t Mu have [feature X]?” then you’re probably too advanced for using Mu as a development environment. In which case, you should graduate to a more advanced editor.

Why?

There isn’t a cross platform Python code editor that is:

  • Easy to use;
  • Available on all major platforms;
  • Well documented (even for beginners);
  • Simply coded;
  • Currently maintained; and,
  • Thoroughly tested.

Mu addresses these needs.

Mu was originally created as a contribution from the Python Software Foundation for the BBC’smicro:bit project. Many people asked if Mu could be turned into a generic beginner’s code editor and, thanks to the wonderful support of the Raspberry Pi Foundation the work needed to make such changes was done over the summer of 2017.

The following video of a talk given at PyCon 2018 outlines the story of Mu:

How?

Mu’s outlook is:

  • Less is more (remove all unnecessary distractions);
  • Keep it simple (so Mu is easy to understand);
  • Walk the path of least resistance (Mu should be easy to use);
  • Have fun (learning should be a positive experience).

Mu’s own code is simple, clearly organised and well tested. It’s copiously commented and mostly found in a few obviously named Python files.

This has been done on purpose: we want teachers and kids to take ownership of this project and organising the code in this way aids the first steps required to get involved.

If you’re looking for ways to get involved check out some of the Suggested First Steps for new contributors.

Furthermore, we put our users at the centre of our development work. Extensive interviews with teachers, observations of lessons and exceptionally clear and helpful feedback from the education team at the Raspberry Pi Foundation (perhaps the most successful computing in education project in history) have informed the design choices for Mu.

 

Who?

You!

Contributions are welcome without prejudice from anyone irrespective of age, gender, religion, race or sexuality. If you’re thinking, “but they don’t mean me”, then we especially mean YOU. Good quality code and engagement with respect, humour and intelligence wins every time.

Read about Contributing to Mu and perhaps try out some Suggested First Steps.

We want the Mu community to be a friendly place. Therefore, we expect contributors to follow our Code of Conduct.