摘要:
看到F#的inline关键字,马上会联想到C++中也有这个。然而因为F#有类型推导的特性,两者结合起来使本来不起眼的关键字变得神通广大。 阅读全文
摘要:
参照赵劼的博客《使用Lambda表达式编写递归函数》中用C#实现的为函数求出其 Y 组合子代码,
使用F#重写,并剖析算法。 阅读全文
摘要:
新年发布F#的两个 Bug,都集中在module中。第一个是:[]特性在module中不起作用,CLIEvent的作用是使 F# 的事件编译后生成标准接口,方便C#调用。但是CLIEvent在module中不运作,要实现相同的效果,只能通过 type声明类,然后在类中声明静态事件。第二个是:modu... 阅读全文
摘要:
函数式血统的另一个高峰: F#中利用对象表达式动态创建匿名类。同时介绍 IDisposable 接口的一种巧妙利用,以及如何在 C#里实现。 阅读全文
摘要:
对比 F# 的一些函数式血统特征,对 C#进行函数式编程过程中遇到的问题,进行总结。(第一部分) 阅读全文
摘要:
F# 中 module 里的泛型变量实际上是泛型函数。就因为这个问题,导致泛型特化的优化之路尤其曲折。 阅读全文
摘要:
module 里的泛型变量,在 F# 里面,只是看起来像变量,实际上是在执行一个函数。由此,使用时如果当成真变量,就会引起逻辑错误。 阅读全文
摘要:
使用结构时候,let和let mutable,行为间有很大区别 阅读全文
摘要:
如是我闻,MSDN里面记载:F#数组的创建方法大概分三类:1、把初始值包含在[| 和|]之内, letarray1 = [| 1; 2; 3 |]或者letarray1 = [|123 |]2、使用Array.zeroCreate或者Array.Create,和Array.init 如果要创... 阅读全文
摘要:
元组在编程里面出现最早是在函数式语言。而现在python、C#、VB.net、Java、Go等等已经广泛应用。元组有如下特性:1、元组里面的成员都是只读的。2、元组成员支持泛型,甚至可以衔套另一个元组。元组刚引入C#的时候,大多数人都把它当作out的语法糖。然而,它有自身存在的意义。作为函数的多返回... 阅读全文