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
|
(*
(** nested comment 1 **)
(*
nested comment 2
(*
nested comment 3
(*
nested comment 4
(*
nested comment 5
*)
*)
*)
*)
*)
// declare a namespace
// for the module
namespace Issue93
module NestedComments =
open FSharp.Quotations
open FSharp.Quotations.Patterns
// print the arguments
// of an evaluated expression
(* Example:
(*
printArgs <@ 1 + 2 @> ;;
// 1
// 2
*)
*)
let printArgs expr =
let getVal = function Value (v, _) -> downcast v | _ -> null
match expr with
| Call (_, _, args) ->
List.map getVal args |> List.iter (printfn "%A")
| _ ->
printfn "not an evaluated expression"
(* Example:
(*
let constExpr = <@ true @> ;;
printArgs constExpr ;;
*)
*)
// Prints:
// "not an evaluated expression"
|