Blog articles of IntelliFactory

0
comment
comment
on 12/29/2011 12:09 PM
Can anyone explain why this code leaks memory?
Looks like using Async.StartAsTask makes it complete in constant space.
0
comment
comment
on 12/23/2011 9:43 AM
Recent FPish FPish discussion
focused on some hacks available in F# to write code that
resembles using Haskell type classes. I particularly enjoyed the
comments by Gustavo Leon and Loic Denuziere.
To cut the long story short, before compiling to .NET F#
expands methods delcared inline and does overload resolution.
This was intended to support flexible operator overloading, but
opens up the door for interesting hacks. Even code that
generalizes over higher kinds and therefore cannot exist at .NET
level [...]
0
comment
comment
on 12/15/2011 2:43 PM
In this article I discuss why F# Async is a good thing for
writing concurrent software on .NET and show how to implement your
own Async specialized for low-concurrency use. As a sample
application, I look at a simple CML-style blocking channel. 30-50
lines of custom async and threadpool implementation increase the
throughput from 100-400 K to 1M messages a second.
Concurrency? Again?
It is hard to believe that after so many man-years of computer
science research anyone would still ha[...]
0
comment
comment
on 12/7/2011 11:50 AM
I found some more time to study Coq. One place where I stumble very frequently is case analysis of value-indexed inductive types. There are often cases that lead to contradiction. Other cases intuitively imply some variables to be equal. Vanilla match constructs gives you no help, leaving you stranded. In proof mode, inversion tactic helps a lot. However, generated proofs are huge and hard to navigate. Another option is to use dependent pattern matching directly (which is what inversion generates for[...]
0
comment
comment
on 12/5/2011 7:11 PM
Don Syme and several others sent tweets to correct my claims about boxing in F#. I made the mistake of assuming that structs cannot be used as interface implementations without being boxed and allocated on the heap. As it turns out, .NET constraints allow structs to implement interfaces without being boxed. Out of sheer curiosity, I attempted to (ab)use this facility to systematically remove heap allocation. I decided to write a simple functional program that would not use the heap at all, performing all [...]
Featured group
![]() | New England F# User Group 4 past events |
Latest blog articles by IntelliFactory (see all)
- F# query expressions and composability
- WebSharper 2.5.98
- CloudSharper Local alpha 0.9.6
- Update: Server exited with code 0
- Update: Showing compiler errors
- CloudSharper Local alpha 0.9.5
- CloudSharper Updates - Friday, February 14, 2014
- CloudSharper Local alpha available
- Deterministic parallelism with logging
- WebSharper 2.5.93 - improved numeric performance
- FAKE with NuGet support
- Generalizing records combinators a bit
- WebSharper, PhoneGap, and Ripple: easier native HTML5 apps
- TypeScript: initial impressions
- Using Coq as a program optimization tool
- WebSharper: From F# power features to JavaScript interop
- New FPish feature: E-mail notification
- Automate, automate, automate..
- Multi-targeting .NET projects with F# and FAKE
- Generating VSIX and VSTemplate packages in F#
- CUFP 2013 - Call for Presentations
- WebSharper for Windows 8 Desktop
- WebSharper 2.5.2-alpha on AppHarbor
- Upcoming WebSharper Changes
- WebSharper 0.4.62 is available - with dependent formlets-flowlets-third-party extensions-and more!
- Foldr or FoldBack on Infinite F# Sequences
- Generic Workflow Builders (Monads) in F#
- WGET in F#
- The Execution Speed of Early vs Late Binding in .NET
- WebSharper - Write F# and Run JavaScript
- .NET Composite Formatting with Keyword Expansion
Event tags for this company
Group tags
- f# × 33
- clojure × 14
- functional × 14
- haskell × 14
- scala × 11
- erlang × 6
- c# × 4
- .net × 3
- agile × 3
- ocaml × 3
- websharper × 3
- ddd × 2
- exchange × 2
- java × 2
- javascript × 2
- neo4j × 2
- nosql × 2
- scheme × 2
- skillsmatter × 2
- alt.net × 1
- android × 1
- architecture × 1
- async × 1
- bdd exchange × 1
- blazehtml × 1
- cassandra × 1
- clean × 1
- codeken × 1
- coffeescript × 1
- common lisp × 1
- continuous delivery × 1
- finance × 1
- fractureio × 1
- grails × 1
- groovy × 1
- html × 1
- html5 × 1
- islisp × 1
- jquery × 1
- jvm × 1
- lisp × 1
- load testing × 1
- lua × 1
- metro style × 1
- microsoft × 1
- mongodb! × 1
- ninja × 1
- ouya × 1
- package management × 1
- prog × 1
- projects × 1
- python × 1
- qcon × 1
- racket × 1
- reactive extensions × 1
- restful × 1
- riak × 1
- rx × 1
- scalability × 1
- tdd × 1
- test × 1
- titanium × 1
- unit testing × 1
- user group × 1
- web × 1
- web services × 1
- winrt × 1
![]() |
Copyright (c) 2011-2012 IntelliFactory. All rights reserved. Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy |
Built with WebSharper |