User Tools

Site Tools


projects:fsharp_workshop

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
projects:fsharp_workshop [2015/03/13 23:27] – created mkuciaprojects:fsharp_workshop [2015/04/17 21:35] mkucia
Line 1: Line 1:
 ====== F# workshop ====== ====== F# workshop ======
  
-<wrap hi>highlighted</wrap>+ 
 +  * f(x) = Hello_Word 
 +  * Type providers (strongly typed) 
 +  * Matching 
 +  * Options 
 + 
 +===== How to use? Where to get? ===== 
 +Try F# in browser: 
 +http://www.tryfsharp.org/Create 
 + 
 +Want to get a full distribution?  
 +http://fsharp.org/ → Use F# 
 + 
 +===== [Hello] ===== 
 +<code fsharp> 
 +let hello = printf "Hello World" 
 +</code> 
 + 
 +===== Why? ===== 
 + 
 + 
  
 <WRAP group> <WRAP group>
 <WRAP half column box> <WRAP half column box>
 Pros: Pros:
 +  * Open Source
 +  * Multi platform (Mono, .NET core)
 +  * Modern, rising popularity
   * Lazy evaluation   * Lazy evaluation
   * Reusable   * Reusable
   * Reduced code   * Reduced code
 +  * Strongly typed
 </WRAP> </WRAP>
  
 <WRAP half column box> <WRAP half column box>
 Cons: Cons:
-  * Not suitable for real time +  * Not suitable for real time (unpredictable performance) 
-  * requires different thinking+  * Different thinking process (you need to re-learn)
 </WRAP> </WRAP>
 </WRAP> </WRAP>
  
 +<hidden ↘ C# equivalent>Since you want to know more, here is an explanation with more details […]</hidden>
 +
 +===== Pitfalls and drawbacks =====
 +Functional languages fundamentally don't model how your computer works.
 +Harder to optimize.
 +
 +===== References =====
 +  * http://fsharp.org/
 +  * http://fsharp3sample.codeplex.com/wikipage?Title=MicroSamples
 +  * http://en.wikibooks.org/wiki/F_Sharp_Programming
 +  * http://fsharp.org/specs/language-spec/3.0/FSharpSpec-3.0-final.pdf
 +  * http://www.mindscapehq.com/blog/index.php/2012/03/27/5-12-f-features-every-c-programmer-should-lust-after/
 +  * [[https://msdn.microsoft.com/en-us/library/dd233228.aspx|MSDN Symbol and Operator Reference (F#)]]
 +  * https://github.com/rookboom/SharpShaders/wiki/Why-write-shaders-in-F%23%3F
 +  * http://www.quora.com/What-are-some-limitations-disadvantages-of-functional-programming
 +  * http://fsharpforfunandprofit.com/site-contents/
 +  * http://research.microsoft.com/en-us/projects/kiwi/
 +  * [[https://www.youtube.com/watch?v=hMjv8m--W28|Ten things F# can do, and C# can't - Liam McLennan @ DDD Brisbane 2013]]
projects/fsharp_workshop.txt · Last modified: 2015/05/02 12:45 by mkucia