Haskell
Open Telemetry ã£ã¦ä½ï¼ ãã®è¨äºã§ã¯ Open Telemetry ã®ãã¬ã¼ã¹ã®æ©è½ã使ãã¾ãããã¬ã¼ã¹ã使ãã¨ããµã¼ãã¼ãè¶å¢ãã¦ã³ã¼ã«ã°ã©ãã¨ãã®å®è¡æéãªã©ãåå¾ãããã¨ãã§ãã¾ããä¸ã®ç»å㯠Jaeger ã®ã¹ã¯ãªã¼ã³ã·ã§ããã§ããJaeger 㯠Open Telemetrâ¦
wd ã³ãã³ãã£ã¦ï¼ ããããããã£ãã hoge path/to/dir foo bar ã£ã¦å®è¡ããããã¯ã¼ãã³ã°ãã£ã¬ã¯ããªã¼ã path/to/dir 㧠foo bar ã³ãã³ããå®è¡ãã¦ããããã㪠hoge ã³ãã³ããªãï¼â ããã (@kakkun61) 2022å¹´8æ11æ¥ $ wd ãã£ã¬ã¯ããªã¼ ã³ãã³â¦
Hackage ã«ãã SDL2 ã©ã¤ãã©ãªã¼ã Windows ã§å©ç¨ããæ¹æ³ã®ã¡ã¢ã hackage.haskell.org Haskell-jp ã® Slack ã®è³ªåããã£ããã«æå ã§è©¦ãããã¨ãæãåºããªããæ¸ãã¦ããã sdl2.cabal ã«ä¸è¨ã®è¨è¿°ãããã®ã§ C ã©ã¤ãã©ãªã¼ãäºåã«ã¤ã³ã¹ãã¼ã«ãâ¦
ããããã§çµããè¨äºãªã®ã§äºåã«ãäºæ¿ãã ããã ååã®ãããã ï¼ååãªã©ãªãã®ã§æ¢ããªãã¦ããã§ããï¼ é«ã«ã¤ã³ããã¼ã¿åï¼Higher-kinded Datatypes; HKDï¼ã¨ãããã®ãããã¾ãã fumieval.hatenablog.com qiita.com ç°¡åã«èª¬æããã¨ä¸è¨ã®ããâ¦
GHC ã®æ¼ç®åã®åªå é ä½ã«ã¯ -1 ãããï¼ãã¶ãçµè¾¼ã§ãã使ããªã #Haskell pic.twitter.com/Xa0OIjvw5iâ oÌÍkäÌmoÌÍtoÌÍ käÌzÊÌ kÉªÌ (@kakkun61) January 3, 2021
ä»å㯠case analysis ã¨å¼ã°ããé¢æ°ã®è©±ã§ã1ã data D a b c = C0 a b | C1 c ä¾ãã°ä¸è¨ã®ãããªãã¼ã¿åããã£ãå ´å case analysis é¢æ°ã¯æ¬¡ã®ããã«ãªãã¾ãã d :: (a -> b -> d) -> (c -> d) -> D a b c -> d d f _ (C0 a b) = f a b d _ f (C1 c) â¦
The English version is at Dev. ååã®è¨äºã®è¿½å æ å ±ã§ãã kakkun61.hatenablog.com pure æãéã¯ãªãã£ã ã¾ããããããã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ãããã¡ãª pure ã§å¤ã«åºãæãéãåå¨ããã®ã§ããã æå¾ã«ãããããã¨ãç¡ææ ®ã«æ¸ããããã§ãããDev â¦
The English version is at Dev. ãç´ç²é¢æ°åãã¼ã¿æ§é ãï¼ä»¥é PFDSï¼ã®5.2ç« ã«å¹é£çç´ç²é¢æ°çãã¥ã¼ã¨ãããã®ãåºã¦ãã¾ãã https://asciidwango.jp/post/160831986220/%E7%B4%94%E7%B2%8B%E9%96%A2%E6%95%B0%E5%9E%8B%E3%83%87%E3%83%BC%E3%82%BF%Eâ¦
GHC 9.0.1 alpha 1 ããªãªã¼ã¹ãããã¨ãã«ç·å½¢åãããã£ã¦ã¿ã¦ãããã¨ãã¡ã¢ãã¦ããªãã£ãã®ã§æãåºããªããã¡ã¢ãã¦ããã mail.haskell.org 使ç¨ãã¼ã¸ã§ã³ GHC 9.0.0.20200925 ä¸è¨ãªã³ã¯ã®ãã® ghcup ãªãããçµç±ã§ã¤ã³ã¹ãã¼ã«ã§ããã ghcups ã®â¦
Docker Desktop for Windows 㯠Windows ã³ã³ããã¼ã¨ Linux ã³ã³ããã¼ã使ããã®ã ãã©æä»çã«ãªã£ã¦ããã ããæã£ã¦ã¹ã¯ã·ã§ãåãããã«åãæ¿ããã¿ã³ãæ¼ãã¦ã¿ããä»ã¯ãããããªãï¼Windows/Linux ã³ã³ããã¼ã®åãæ¿ããåã¯å®å ¨ã«æä»çã ã£ãâ¦
Data.Monoid.First ã®ããã¥ã¡ã³ããè¦ã¦ããã次ã®è¨è¿°ãè¦ã¤ãããã¨ããå§ã¾ãè¨äºã§ãã This type will be marked deprecated in GHC 8.8, and removed in GHC 8.10. Users are advised to use the variant from Data.Semigroup and wrap it in Maybe. â¦
ã³ã³ãã¤ã«ãå¾ ã¤ãªãã¦çç£æ§ãä½ãï¼ éããªãã³ã¼ãçã®ã¨ã©ã¼ãªããç¥ããªãï¼ ãã£ï¼ï¼ã¾ã éçåæ¤æ»ãã¦ã³ã³ãã¤ã«ãã¦ãã®ï¼ ãããããã°ã©ãã¼ã¯åçåæ¤æ»ï¼ã¤ã³ã¿ã¼ããªããï¼ main = do input <- readLn if input < 10 then putStrLn "Hi" elseâ¦
The English version is at Dev. å人活åç¨ã®ã¦ã§ããµã¤ãããã£ã¦ä»ã¾ã§ã¯ Jekyll ã§çæãã¦ãã¾ãããããã Shake + Lucid + Hint ã§ä½æããçæå¨ã«ç½®ãæãã¾ããã doujin.kakkun61.com shakebuild.com hackage.haskell.org hackage.haskell.org ã½â¦
The English version is at Dev. å°å ¥ fail ã Monad ããå¥ãããã¦æ©ã幾年ãç§ã¯å¤±æããå¯è½æ§ã®ããè¨ç®ã¯ MonadFail ã使ã£ã¦åãä»ããã®ã好ãã§ãã foo :: MonadFail m => m a ãããã㨠IO ã®æèã§ããã°ãã®ä¸ã§ãç´ç²ãªæèã§ããã° Maybe ãªâ¦
åã«ç°å¢æ§ç¯ã«ã¤ãã¦ã®è¨äºãæ¸ããã®ã§ãããåå¦è åãã«ããã¨è¦ã¦åããããã«ããã¼ãã£ã¼ãã«ãã¾ãããkakkun61.hatenablog.comGoogle ãã©ã¤ã å³å½¢æç»ã®ãã¡ã¤ã«ã¯ãã¡ãã§ããã³ã¡ã³ããä»ãããã¨ãã§ãã¾ããdocs.google.com
ãã®è¨äºã¯ Haskell Advent Calendar 2019 ã®6æ¥ç®ã®è¨äºã§ãã hackage.haskell.org postgresql-pure 㯠Haskell ã® PostgreSQL ãã©ã¤ãã¼ï¼ã¯ã©ã¤ã¢ã³ãã©ã¤ãã©ãªã¼ï¼ã§æ¬¡ã®ãããªç®æ¨ã§éçºãã¾ããã ãã«ãã³ã¢ç°å¢ã§ã®ããã©ã¼ãã³ã¹åä¸ æé»ã®ããâ¦
Rust ã§ä½ã£ãã©ã¤ãã©ãªã¼ãéçãªã³ã¯ã㦠Haskellï¼GHCï¼ãã使ãä¾ã¨èª¬æãæ¸ããã github.com
Haskell ã®éçºç°å¢ãæ§ç¯ããæ¹æ³ã¯ä½éãããããæ°ãããã¼ã«ãåºãã¨ãä»ã¯ããã ãã¨ã»ããããã°ãå ¬éããã¾ãããããåå¦è ãæ··ä¹±ããããã¨ãããããã¾ãã æ¬è¨äºã§ã¯ãã«ããã¼ã«ã®ã¤ã³ã¹ãã¼ã«ã«ãã¼ããéçºæ¯æ´ãä¾ãã° ghc-modã»haskell-idâ¦
id:syocy ã®ããã°ãè¦ãã®ã§ Windows ã§èªåãã©ããã¦ããããã¡ã¢ãã¦ããã syocy.hatenablog.com Stack æè¿ã¯ ghcup ããããã·ã§ã«ã¹ã¯ãªãã製ã§èªå㯠PowerShell ã¦ã¼ã¶ã¼ãªã®ã§ stack ã使ã£ã¦ãããï¼ghcup ã¯ãªã㧠Haskell 製ãããªããã 1ï¼â¦
ããã°ã«æ¸ãã¦ã¿ãã¨ããåãããªããªã£ã¦ãã¾ãã Haskell-jp ã§åçããããã¾ããã @lotz84_ ããã®è¨äºã GHC ã®ãããã¡ã¤ã«ã«åºã¦ãã CAF ãããåãã£ã¦ãªãã£ãã®ãã¾ã¨ããã qiita.com fact ã®ã¡ã¢å lotz ããã®è¨äºã®éä¹ fact é¢æ°ãé¡æã«â¦
ãï¼6ï¼ãããã 5 ã§ããï¼ techbookfest.org æ± è¢ æ £ã親ããã ç§èåã®å°ãé£ã³åºãã¦æ± è¢ã«ãã£ã¦ãã¾ããã ãã¡ããã¡ãåºãã¦ã³ã£ããã§ããç§èåééä¼é¤¨ããã¢ããã¹ã¯ã¨ã¢ã«ãã£ã¦ããã¨ããæãã¾ããããåãææ³ãããä¸åº¦ã ã¬ã©ã¹å¼µããããªâ¦
Servant ã¨ã¯ Servant ã¯åã¬ãã«ããã°ã©ãã³ã°ã«ãã£ã¦ãã¦ã§ãã¢ããªã¨ãã¦ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¨å®è£ ã¨ã®å·®ç°ãé²ããã¨ã®ã§ããã¦ã§ãã¢ããªãã¬ã¼ã ã¯ã¼ã¯ã§ãã haskell-servant.readthedocs.io æ¥æ¬èªè¨äºã¨ãã¦ã¯ lotz ããã®ãã¡ããåãããããã®â¦
ã³ã¼ã ã³ã¼ãã¯ååè¨äºã¨åãã§ãï¼åæ²ï¼ã Git ãªãã¸ããªã¼ã¯ãã¡ãã import Control.Concurrent import Control.Monad import System.Exit import System.IO import System.Win32.Console.CtrlHandler main :: IO () main = do tid <- myThreadId letâ¦
Ctrl-C çã®å²ãè¾¼ã¿ã®æ±ãæ¹ã§ãã tl;dr System.Win32.Console.CtrlHandler ã使ãã¾ãã Ctrl-C ãæ¼ããããã¯ãã¼ã¸ã³ã°ã®å¦çãä¼´ã£ã¦çµäºããããã°ã©ã ãæ¸ãã¦ã¿ã¾ãã import Control.Concurrent import Control.Monad import System.Exit import â¦
GHC 8.0 以åã«ã¤ãã¦ã¯ãã¡ããåèã«ã teratail.com GHC 8.2 以é㧠stack ã使ãå ´åãããã§ã¯ã¨ããããã 確信ã¯ãªãã®ã ããGHC 8.2 ãã GHC èªä½ã iconv ã«ä¾åããªããªã£ãã®ãã$(stack path --programs)\ghc-8.0.2\mingw\lib ãã libiconv.a â¦
å人èªã§çºå£²ãã¦ãããé åããã¦å¦ã¶ Yesod å ¥éãããã®ãã³ã¤ã³ãã¬ã¹ R&D ãããHaskell ã§ä½ã Web ã¢ããªã±ã¼ã·ã§ã³ é åããã¦å¦ã¶ Yesod å ¥éãã¨ãã¦åæ¥èªåããããã¨ã«ãªãã¾ããã www.impressrd.jp å人èªçããã®å¤æ´ç¹ã¯ä¸»ã«ã æ¥æ¬èªãèªâ¦
æé 1. ã½ã¼ã¹ã³ã¼ãåå¾ã git clone [email protected]:haskell/haskell-ide-engine.git 2. Unicode ãæ±ã ICU ã®å¤ããã¼ã¸ã§ã³ãè¦ãã®ã§åå¾ã èªåã®ä½¿ããã¼ã¸ã§ã³ã® text-icu ã® changelog ãè¦ã¦ãå¿ è¦ãª ICU ã®ãã¼ã¸ã§ã³ãæ¢ããå·çæç¹ã§ã¯ 53 â¦
4æ22æ¥ã«éå¬ããããæè¡æ¸å ¸ 4ãã«ãµã¼ã¯ã«åå ãã¦ãã¾ããã techbookfest.org æè¡æ¸å ¸ã¯1ã¨2ã«å人ã§åå ãã¦3ã¯ä¼ç¤¾ã¨ãã¦åå ãã¦ä»åã®4ã¯ä¼ç¤¾ã¨å人ã¨2ãµã¼ã¯ã«ã«ãããã£ã¦ãã¾ããã è¶ æè¡æ¸å ¸ãæãã¨çå¤ã§ãã å人ãµã¼ã¯ã« æ¢åã¨ãã¦ãé â¦
èªå㯠Haskell ã好ãã§ä¼æ¥ã¯ Haskell ãæ¸ãã¦ãã¾ãããããããã¨ãè¨ãã¨é¢æ°åã好ããªãã§ããã¨è¨ãããã®ã§ãããHaskell ã®ããã¯ãããããªãã¨æãã¦ããã®ã§æ¸ãèµ·ããããã¨ãçãå·ãã¾ããã ã¨ããããã§ããã®è¨äºã¯æè¡çææ¸ã¨ããããâ¦
æãä»ã ãã®1 åã¬ãã«ã®ãªã¹ããã¯ã¨ãªã¼å½æ°ã«ä¸ãã¦ãããï¼DataKinds ãæå¹ï¼ data Attr = Id | Name | Friends data User = User { id :: Int, name :: String, friends :: [User] } query :: Proxy '[??] -> Key -> MonadDB User userFriends :: Prâ¦