File: Issue93.fs.folded

package info (click to toggle)
codequery 1.0.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 17,860 kB
  • sloc: cpp: 151,420; xml: 16,576; python: 5,602; ansic: 5,487; makefile: 559; perl: 496; ruby: 209; sql: 194; sh: 106; php: 53; vhdl: 51; erlang: 47; objc: 22; lisp: 18; cobol: 18; modula3: 17; asm: 14; fortran: 12; ml: 11; tcl: 6
file content (47 lines) | stat: -rw-r--r-- 1,648 bytes parent folder | download | duplicates (3)
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
 2 400 401 + (*
 0 401 401 |     (**  nested comment 1 **)
 2 401 402 +     (*
 0 402 402 |         nested comment 2
 2 402 403 +         (*
 0 403 403 |             nested comment 3
 2 403 404 +             (*
 0 404 404 |                 nested comment 4
 2 404 405 +                 (*
 0 405 405 |                     nested comment 5
 0 405 404 |                 *)
 0 404 403 |             *)
 0 403 402 |         *)
 0 402 401 |     *)
 0 401 400 | *)
 2 400 401 + // declare a namespace
 0 401 400 | // for the module
 0 400 400   namespace Issue93
 1 400 400   
 0 400 400   module NestedComments =
 2 400 401 +     open FSharp.Quotations
 0 401 400 |     open FSharp.Quotations.Patterns
 2 400 401 +     // print the arguments
 0 401 400 |     // of an evaluated expression
 2 400 401 +     (* Example:
 2 401 402 +         (*
 0 402 402 |             printArgs <@ 1 + 2 @> ;;
 0 402 402 |             // 1
 0 402 402 |             // 2
 0 402 401 |         *)
 0 401 400 |     *)
 0 400 400       let printArgs expr =
 0 400 400           let getVal = function Value (v, _) -> downcast v | _ -> null
 0 400 400           match expr with
 0 400 400           | Call (_, _, args) ->
 0 400 400               List.map getVal args |> List.iter (printfn "%A")
 0 400 400           | _ ->
 0 400 400               printfn "not an evaluated expression"
 2 400 401 +     (* Example:
 2 401 402 +         (*
 0 402 402 |             let constExpr = <@ true @> ;;
 0 402 402 |             printArgs constExpr ;;
 0 402 401 |         *)
 0 401 400 |     *)
 2 400 401 +     // Prints:
 0 401 400 |     // "not an evaluated expression"
 1 400 400