1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
|
// (**
// - title : FsReveal
// - description : Introduction to FsReveal
// - author : Karlkim Suwanmongkol
// - theme : Sky
// - transition : default
// ***
// ### What is FsReveal?
// - Generates [reveal.js](http://lab.hakim.se/reveal-js/#/) presentation from [markdown](http://daringfireball.net/projects/markdown/)
// - Utilizes [FSharp.Formatting](https://github.com/tpetricek/FSharp.Formatting) for markdown parsing
// ***
// ### Reveal.js
// - A framework for easily creating beautiful presentations using HTML.
// > **Atwood's Law**: any application that can be written in JavaScript, will eventually be written in JavaScript.
// ***
// ### FSharp.Formatting
// - F# tools for generating documentation (Markdown processor and F# code formatter).
// - It parses markdown and F# script file and generates HTML or PDF.
// - Code syntax highlighting support.
// - It also evaluates your F# code and produce tooltips.
// ***
// ### Syntax Highlighting
// #### F# (with tooltips)
// *)
// let a = 5
// let factorial x = [1..x] |> List.reduce (*)
// let c = factorial a
// (**
// `c` is evaluated for you
// *)
// (*** include-value: c ***)
// (**
// ---
// #### More F#
// *)
// [<Measure>] type sqft
// [<Measure>] type dollar
// let sizes = [|1700<sqft>;2100<sqft>;1900<sqft>;1300<sqft>|]
// let prices = [|53000<dollar>;44000<dollar>;59000<dollar>;82000<dollar>|]
// (**
// #### `prices.[0]/sizes.[0]`
// *)
// (*** include-value: prices.[0]/sizes.[0] ***)
// (**
// ---
// #### C#
// [lang=cs]
// using System;
// class Program
// {
// static void Main()
// {
// Console.WriteLine("Hello, world!");
// }
// }
// ---
// #### JavaScript
// [lang=js]
// function copyWithEvaluation(iElem, elem) {
// return function (obj) {
// var newObj = {};
// for (var p in obj) {
// var v = obj[p];
// if (typeof v === "function") {
// v = v(iElem, elem);
// }
// newObj[p] = v;
// }
// if (!newObj.exactTiming) {
// newObj.delay += exports._libraryDelay;
// }
// return newObj;
// };
// }
// ---
// #### Haskell
// [lang=haskell]
// recur_count k = 1 : 1 : zipWith recurAdd (recur_count k) (tail (recur_count k))
// where recurAdd x y = k * x + y
// main = do
// argv <- getArgs
// inputFile <- openFile (head argv) ReadMode
// line <- hGetLine inputFile
// let [n,k] = map read (words line)
// printf "%d\n" ((recur_count k) !! (n-1))
// *code from [NashFP/rosalind](https://github.com/NashFP/rosalind/blob/master/mark_wutka%2Bhaskell/FIB/fib_ziplist.hs)*
// ---
// ### SQL
// [lang=sql]
// select *
// from
// (select 1 as Id union all select 2 union all select 3) as X
// where Id in (@Ids1, @Ids2, @Ids3)
// *sql from [Dapper](https://code.google.com/p/dapper-dot-net/)*
// ***
// **Bayes' Rule in LaTeX**
// $ \Pr(A|B)=\frac{\Pr(B|A)\Pr(A)}{\Pr(B|A)\Pr(A)+\Pr(B|\neg A)\Pr(\neg A)} $
// ***
// ### The Reality of a Developer's Life
// **When I show my boss that I've fixed a bug:**
// 
// **When your regular expression returns what you expect:**
// 
// *from [The Reality of a Developer's Life - in GIFs, Of Course](http://server.dzone.com/articles/reality-developers-life-gifs)*
// *)
|