我是一个Haskell新手,我很遗憾这个程序表现如此糟糕.我尝试在各个地方强制使用严格的变量,但似乎没有什么区别.
这是我的代码(该程序的目的是产生从标准输入找到的输入字节的频率):
{-# LANGUAGE BangPatterns #-}
import Control.Concurrent (forkIO, killThread)
import Control.Concurrent.MVar
import qualified Data.IntMap as IntMap
import Data.IntMap.Strict (IntMap)
import Control.Monad.Fix
import Control.Monad (when)
import qualified Data.Char as Char
import qualified System.IO as IO
import System.IO (hSetBinaryMode, hFlush)
import Data.List as List
import Text.PrettyPrint.Boxes as Boxes
import Text.Printf (printf)
import Data.Function
data BFreq = BFreq Integer (IntMap Integer)
main :: IO ()
main = do
putStrLn "analyze data from stdin"
hSetBinaryMode IO.stdin True
mv <- newEmptyMVar
tid <- forkIO …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种易于快速编写脚本的解释语言,如python或ruby,但它具有更多的Haskell感觉(即一种函数式语言).
具体来说,我希望它具有像haskell一样的模式匹配功能.这样的事情存在吗?
编辑:我主要问,因为我喜欢学习新语言,我注意到我学习的语言中有空位.
一方面,我已经解释并动态地输入了具有功能元素的Python和Ruby等语言,但并没有把这个概念放得太过分.
另一方面,我有Haskell,它具有我喜欢的许多功能特性,但是非常严格(我需要花费相当多的时间来完成简单的程序).
我只是想知道是否存在分裂这些差异的东西.
haskell functional-programming scripting-language interpreted-language pattern-matching