作爲學習Haskell(和折磨自己)的練習,我正在考慮編寫一個可配置的Haskell代碼美化器。Haskell解析器到AST
它將支持(或更好的東西?)寫在JSON或YAML的配置文件指定像進口排序,排序/分組data
和class
語句,章節之間的行數等
我的選擇尋找Haskell 98的解析器,生成抽象語法樹(AST)並保留評論。解析GHC及其語言擴展將是一項獎勵。
在沒有這樣的事情的情況下,我想我可以編寫一個遞歸下降解析器或一個使用Parsec或解析器生成器。也許滾動我自己會增加學習(和酷刑:-))。
是否有一個完整的Haskell-> AST解析器在其中一個開源許可下可用?如果我在這個項目上取得進展,我會把它放在github上。
我的一個寵物小偷是醜陋的代碼。我的大部分工作都是用Java編寫的,它讓我驚訝於人們如何檢查代碼中沒有大括號對齊,操作符間的間距不一致等等。他們不讀他們自己的代碼嗎?它不打擾他們嗎?也許是我的強迫症。無論如何,我同意開箱即用的Haskell是一個更好看的數量級。但我仍然想寫一個美化:-)。 – Ralph
是的。我真的在開玩笑,因爲我喜歡你建議的那種事情。爲什麼不把haskell本身用於配置文件的語言?我確定我讀了一些關於某人漸漸發展他們的域配置語言的知識,直到他們意識到他們只是想要haskell,但[this](http://www.jmreardon.com/posts/2011-07-17-typesafe-config -in-haskell.html)是我能找到的最接近的。或者你可以使用[ConfigFile](http://hackage.haskell.org/package/ConfigFile)包。 – AndrewC