小编Mic*_*ael的帖子

Haskell RSS,邮件和XML库选择

我一直在学习Haskell一段时间,我学习了一些新的编程语言,我做了一个小项目,需要使用邮件服务器并发布RSS和Atom内容.唯一的问题是,我似乎无法找到适合这些的包装,或者至少找不到任何包装评论.

所以我会问社区:

用于与邮件服务器交互的任何首选包?(IMAP,POP3等)

用于发布RSS和/或Atom提要的任何优惠包?如果没有,那么一般XML的首选包是什么?

对于简约,低摩擦的网络服务器的任何建议,将所有这些绑定在一起?

提前致谢.

xml email rss webserver haskell

15
推荐指数
1
解决办法
1187
查看次数

Monadic .NET类型

在一系列帖子中, Eric Lippert概述了.NET类型的所谓"Monad模式",它有点像monad和implements实现返回并绑定其中一些.

作为monadic类型的例子,他给出了:

  • Nullable<T>
  • Func<T>
  • Lazy<T>
  • Task<T>
  • IEnumerable<T>

我有两个问题:

  1. 我得到Nullable<T>的有点像MaybeHaskell,绑定几个Maybe动作代表一组可能在任何时候都失败的操作.我知道列表monad(IEnumerable<T>)代表非决定论.我甚至有点明白Func作为monad(Readermonad)的作用.什么是monadic sematnics Lazy<T>Task<T>?绑定它们意味着什么?

  2. 有没有人在.NET中有更多类型的例子呢?

.net c# monads haskell

11
推荐指数
1
解决办法
1474
查看次数

C#中的Monadic编程

在Haskell中,我们有这个filterM功能.它的源代码是:

filterM          :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
filterM _ []     =  return []
filterM p (x:xs) =  do
flg <- p x
ys  <- filterM p xs
return (if flg then x:ys else ys)
Run Code Online (Sandbox Code Playgroud)

从符号转换:

filterM          :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
filterM _ []     =  return []
filterM p (x:xs) =  p x >>= \flg -> 
                    filterM p xs >>= \ys -> …
Run Code Online (Sandbox Code Playgroud)

c# linq monads haskell functional-programming

7
推荐指数
1
解决办法
368
查看次数

标签 统计

haskell ×3

c# ×2

monads ×2

.net ×1

email ×1

functional-programming ×1

linq ×1

rss ×1

webserver ×1

xml ×1