mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-30 19:14:05 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  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    |