資訊

安裝 Racket-llvm

(上新更新佇:2019-09-26)

  • Clone git repo
    git clone git@github.com:bubba/racket-llvm.git
  • 包做 .zip:
    raco pkg create --binary racket-llvm
  • 安裝:
    raco pkg install racket-llvm.zip
  • raco pkg show
    看安裝 ê 結果,親像:
    Installation-wide:
    Package Checksum Source
    ....
    User-specific for installation "6.3":
    Package Checksum Source
    racket-llvm 52ebbb73... file /tmp/a/racket-llvm.zip

Scheme ê call/cc ê 用法舉例(2)——coroutine

(接續頂篇,更新日:2019-01-22)

Coroutine

Coroutine(華語:{rb|協程|hia̍p-tîng} kap 囝程式 (subroutine) 仝款,lóng 是 kā 程式分節執行 ê 方法。M̄-koh kap 囝程式有呼叫 kap 受呼叫 ê 關係無仝, coroutine 之間是平等 ê ,會當 tī A coroutine 叫 B coroutine,tī B 內底叫 A coroutine。毋過阮這爿為著簡化,干焦展示「主程式 kap coroutine」ê 關係。

Scheme ê call/cc ê 用法舉例(1)——例外處理

(上尾更新 tī:2019-01-20)

介紹

Scheme 是一種函數式語言,所以無 break、yield 等等 ê 流程控制功能 (flow of control)。毋過,伊有一款功能 koh 較強 ê——用 the̍h 著現此時 ê 繼續(continuation) ê call/cc 來合成 tsē-tsē ê 控制流程。

Scheme ê 延遲計算 (lazy evaluation) ê 例

(上尾更新 tī:2019-01-20)

介紹

佇電腦程式中,通常愛算一个{rb|運算式|ūn-suàn-sik} ê 結果,會 kā 逐个部份照算 ê {rb|次序|tshù-sī}一改算予清,這種趁早算出來 ê 算法,號做「嚴格計算」 (strict evaluation; eager evaluation)。比論講:

(* 2 (+ 3 (/ 5 2)))

SILE 的介紹佮安裝

(上尾更新佇:2018-03-05)

介紹

SILE (Simon’s Improved Layout Engine) 是一款佮 LaTeX 相𫝛的排版軟體。TeX {rb|engine|ia̋n-jín} 已經開發幾十年矣,就算後來有較濟的版本,嘛攏是佇伊的面頂抑是用別款語言改寫伊的。毋過開發真久,Tex 系的語言有一寡歷史致到的問題,嘛有各囝系統之間無相通的情況。

[Note][Scheme] define-syntax 佮 syntax-rules 的使用例

(上尾更新佇:2018-02-04)
佇 Scheme 中,{rb|巨集|kū-tsi̍p} (macro) 的使用是一个特點,巨集佮函數真成,毋過會當處理 syntax ({rb|句法|kù-hoat})做輸入的 argumemt({rb|引數|ín-sòo})。巨集的定義干涉著 syntax。佇伊的囝語言 Racket 中閣有 syntax-case 等語法,提來定義 syntax 用的。

淺論白話字(台羅)到漢字翻譯系統的建構與問題

閩南語維基百科使用白話字,這套歷史悠久,且又派生教育部目前拼寫台灣閩南語(下稱台語)的標準——台羅的拉丁化(拼音)方案,為主要書寫系統。固然可以閃避掉用字共識不高、罕用字難知發音、字音有時還需要拼音標注、本字考據問題以及外來語不易用漢字統一標記的,台語和漢字的種種糾葛,但因為台灣甚至中國一帶的人受到漢字教育已久,對於白話字(台羅)需要另外學習會降低使用意願,使得經常使用的人數不太多。這或許也可以反應閩南語維基百科雖然在漢藏語系中條目數第二多,但是經常編輯者與編輯頻率遠少於華語維基百科的現況。

ruby.js - 讓 Hexo 更方便輸入旁註標記 <ruby>

(最近更新:2014-08-12)
緣起

對於使用漢字的語言,因為漢字並無法完美的表達發音,有些時候需要加拼注音(旁註標記,日語稱為ルビ)在字詞上或右方,以方便讀者閱讀或知道字音。由於日本漢字詞一字(詞)多音的情況挺複雜,因此有些日本小說有時會在一些字詞標音(如青空文庫太宰治《人間失格》)。HTML 中可使用 <ruby>、<rb>、<rp>、<rt> 等標籤,來支援加注音的效果,雖然有些瀏覽器如 Firefox 預設不支援。
現在 Holo 話(閩南語)或是客語的書寫體系有三大種:全漢字、全羅馬拼音、和漢拼混合(漢羅)。鑑於排版的整齊以及 Holo 話用字不一、形音對應複雜的現況,個人目前比較喜歡使用全漢為主、羅馬字為輔,但仿效日本的作品,加上大量旁註標記以表達生難字、多音詞等等的發音或意思。然而 <ruby> 的標籤插入複雜,光是輸入「{rb|中區|Tiong-khu}」就得插入「<ruby><rb>中區</rb><rp>[</rp><rt>Tiong-khu</rt><rp>]</rp></ruby>」,key in 標籤就要打 20 個左右的字母,容筆者說難聽的,code {rb|花貓貓|hue-niau-niau},光讀就夭壽煩,日後編改更加予人起{rb|痟|siáu}。

解決 cx_Freeze 做出的 .exe 檔無法在中文路徑下執行的問題

最近因為協助 Lonote 筆記軟體在 Windows 下的打包工作中,因為 Py2exe 至今對這軟體使用的 Python3 不支援,所以採用 cx_Freeze 將用 Python3 寫成的程式和相依的函式庫綁在同一個資料夾中,以方便廣大沒有安裝 Python3 和 PyQt4 的 Windows 用者使用。

但對於中文使用者來說, cx_Freeze 有相當嚴重的缺點,那就是在 setup.py 中,若 cx_Freeze.Executable 之 Base = ‘Win32GUI’(該參數的值為 ‘Win32GUI’ 時),做出來的視窗程式 .exe 檔無法在含有中文名稱的路徑下執行。若嘗試執行,則會跳出 “cannot get zipimporter instance” 的警告視窗。目前的正式版本 4.2.3 仍舊會出現這個錯誤。