MIT Scheme 的基本使用
注意:運行MIT-GNU Scheme出現“Requested allocation is too large”
請求分配額度太大。嘗試分配更小的堆內存。
右鍵單擊應用程序的鏈接並選擇屬性。編輯目標,在其中添加自定義參數 --heap 512 即可
參考鏈接:stackoverflow
快捷方式屬性設置
目標: "C:\Program Files (x86)\MIT-GNU Scheme\bin\mit-scheme.exe" --library "C:\Program Files (x86)\MIT-GNU Scheme\lib" --heap 512 --edit
起始位置: "C:\Program Files (x86)\MIT-GNU Scheme"
安裝和啟動 啟動 在 Windows 下正確安裝 MIT Scheme 系統后,程序菜單里將有一個 MIT Scheme 目錄,其中包含:
如果喜歡用命令行交互方式,可以用下述命令建一個快捷命令,放在你的桌面或者命令菜單里。注意將目錄修改為你的系統安裝目錄: Edwin系統的退出 C-x z (表示按 Ctrl-x 后按 z 鍵):從 Edwin 中退到 Scheme 的命令交互狀態。此時 Edwin 掛起,可用 (edit) 喚醒掛起的 Edwin,回到掛起前的狀態。 C-x c :停止 Edwin 並回到 Scheme 的命令交互狀態。 C-x C-z:停止 Edwin 並掛起 Scheme 系統。再次啟動 Scheme 將喚醒掛起的 Scheme 系統,回到掛起前的系統狀態。 C-x C-c:停止 Edwin 和 Scheme 系統。 從交互循環進入 Edwin 在交互方式下執行 (edit) 或 (edwin),將啟動或返回 Edwin 交互式執行中退出 在提示符下鍵入下面表達式並回車: n ]=> (exit) 系統將要求確認。這樣退出后所有在 Scheme 里已經做的事情都將丟掉了。 |
|||||||
基本使用: 命令行交互方式下回車,如果已輸入了一個完整表達式,系統就會對其求值並輸出結果 在 Edwin 里 C-x C-e 求值光標左邊的一個完整表達式,M-z 求值光標當時位於其中的整個定義式(一個定義式也就是一個表達式,其左括號從最左邊開始)
命令行方式下的使用
Edwin 的基本使用
|
|||||||
Scheme 文件操作 編輯和裝入程序文件: 如果程序比較長,可以用系統外的編輯器編寫好程序源文件,而后用 load 函數裝入系統。下面是一個用絕對路徑的實例: 1 ]=> (load "e:\\temp\\test1.scm") 求值這個表達式,可以看到文件裝入的信息。load 函數還可以裝入編譯好的程序文件,詳情見 Scheme 文檔 “MIT Scheme User's Manual” 的 “3.2 Loading Files”。 用函數 cd 可以轉換當前工作目錄。下面是一個實例: 1 ]=> (cd "e:\\temp") 此后就可以直接用文件名裝入這個目錄下的文件了。 保存和恢復系統映像: 可以將 Scheme 系統的當前運行現場保存起來,以便將來回復這個現場。這樣保存的現場稱為一個“world image”或者一個“band”。實際上,Scheme 啟動時也就是裝入了一個默認的 band,裝入編譯器的啟動方式就是裝入另一個 band。 函數 save-disk 將當前現場存入文件。下例將現場存入當前目錄下的文件 image1: 1 ]=> (disk-save "image1") 函數 disk-restore 恢復原保存在一個文件里的現場: 1 ]=> (disk-restore "image1") |
|||||||
閱讀 MIT Scheme 文檔: “MIT Scheme Reference” 介紹 MIT Scheme 的詳細功能,“MIT Scheme User's Manual” 介紹 MIT Scheme 的使用。“SOS Reference Manual” 介紹的 SOS 是 Scheme 的一個對象系統,“IMAIL User's Manual” 介紹的 IMAIL 是用 Scheme 做的一個郵件閱讀器。下面簡單介紹與前兩個文檔有關的若干問題。 MIT Scheme 手冊的主要內容是介紹這個 Scheme 系統提供的功能,包括預定義的變量(variable)、特殊形式(special form)和過程(procedure,函數)。例如
procedure: list object ...
|
我想有件事情肯定是對的,就是買了Structure and Interpretation of Computer Programs這本書籍。這本書在網上的評價甚高,被稱為巫師書。
書中介紹說是本科低年級的教材。而我本人,02年西安交大畢業,工作近七年,而且毫不謙虛地說,本人對計算機程序的執行的理解有深刻的認識,在國內,和同齡的程序員,更甚者比高齡的程序員,我絲毫不弱,但是,當我讀這本書的時候,我明顯的覺得,國內教育與國外教育的巨大差別,因為,書中很多思想都是我未曾見識過的,想象我已經工作七年了,而這本書只是MIT的本科低年級學生的教材。
當我在網上搜索的時候,我發現,不光是MIT,包括UCB,Standford等著名大學都在講授這門課程,而且我還幸運的發現,UCB有這門課的網絡視屏,正好可以跟着學習。
現在言歸正傳,這教材是MIT press出版的,我就依此為線索,我想知道MIT這樣的名校,他們的計算機系都開些什么課程,參考了一些關於中國人對國外教育的研究論文,而且也發現了下面的鏈接:
http://www.core.org.cn/OcwWeb/Global/all-courses.htm#ElectricalEngineeringandComputerScience
MIT的CS科系稱之為:EECS,也就是電子工程和計算機科學系,有趣的時候,他們設置的第一門課程就是:計算機的程序構造與解釋。所以,我越發覺得這么課程的重要性。課程代號為6.001.
我想借此機會,分析一下MIT的課程設置,當然,特別是與計算機相關的課程。
EECS大概涵蓋如下幾個專業知識:電氣工程,生物工程,自動控制,人工智能,通信系統,電子的各領域等。
與計算機相關的課程有:
6.001: 計算機程序的構造與解釋
6.033: 計算機系統工程,指定的教材竟然是人月神話,當然還有一系列的paper需要閱讀。
6.035:計算機語言工程:是有關計算機系統和體系結構的一門課程,可能主要涉及編譯原理。通過可選教材看出這一點
6.046J: 算法導論
6.090:6.001的實踐課程,獲取編程經驗。
6.823:計算機系統和體系結構:計算機體系結構:定量的方法,計算機組織與設計:硬件與軟件接口。
6.824:分布式計算機系統
6.826:計算機系統原理
6.828:操作系統工程:萊昂氏Unix操作系統注釋
6.829:計算機網絡
還有很多交叉的課程。至少我認為上述的:
001,033,035,046,823,826,828這七門課程是需要好好學習的,至少是要了解個大概的。
先不說別人的課程還有大量的實踐作業,就是在內容上的差距,我們相比起來也是差的太遠了。
難怪他們能培養出來大師級人物。我們的教育,還有很長的路要走。
來源: <http://blog.csdn.net/stephanxu/article/details/3858918>
===================== End