Blog articles of New England F# User Group

0
comment
comment
on 12/30/2011 9:30 AM
When WebSharper compiles F# to JavaScript it preserves
namespaces, module and class nesting to make it easy to navigate
the compiled code from JavaScript shell. Roughly speaking,
A.B.C.D.E identifier in F# can be found by typing
A.B.C.D.E in JavaScript.
This poses a challenge: as you can imagine, emitting long
qualified identifiers everywhere is not a good idea for compact
code generation. To save space WebSharper 2.4 does class/module
interning. The basic idea is to say
L=Microsoft.FSharp.Core.ListMod[...]
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[...]
About this group
- Founded: 7/22/2011
- Owners: Adam Granicz
- Members: 1
- Past events: 4
- Upcoming events: 0 Log in to join
Featured group
![]() | New York City F# User Group 3 past events |
Latest blog articles by fsug (see all)
- 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
- Automate, automate, automate..
- Multi-targeting .NET projects with F# and FAKE
- Generating VSIX and VSTemplate packages in F#
- WebSharper 2.5.2-alpha on AppHarbor
- Upcoming WebSharper Changes
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 |