47 lines
1.0 KiB
Forth
47 lines
1.0 KiB
Forth
|
(*
|
||
|
(** 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"
|