@@ -404,74 +404,3 @@ module Exrb = struct
404
404
pexrb_loc = loc;
405
405
}
406
406
end
407
-
408
- module Convenience = struct
409
- open Location
410
-
411
- let may_tuple tup = function
412
- | [] -> None
413
- | [x] -> Some x
414
- | l -> Some (tup ?loc:None ?attrs:None l )
415
-
416
- let lid s = mkloc (Longident. parse s) ! default_loc
417
- let tuple l = Exp. tuple l
418
- let constr s args = Exp. construct (lid s) (may_tuple Exp. tuple args)
419
- let nil () = constr " []" []
420
- let unit () = constr " ()" []
421
- let cons hd tl = constr " ::" [hd; tl]
422
- let list l = List. fold_right cons l (nil () )
423
- let str s = Exp. constant (Const_string (s, None ))
424
- let int x = Exp. constant (Const_int x)
425
- let char x = Exp. constant (Const_char x)
426
- let float x = Exp. constant (Const_float (string_of_float x))
427
- let record ?over l =
428
- Exp. record (List. map (fun (s , e ) -> (lid s, e)) l) over
429
- let func l = Exp. function_ (List. map (fun (p , e ) -> Exp. case p e) l)
430
- let lam ?(label = " " ) ?default pat exp = Exp. fun_ label default pat exp
431
- let app f l = Exp. apply f (List. map (fun a -> " " , a) l)
432
- let evar s = Exp. ident (lid s)
433
- let let_in ?(recursive = false ) b body =
434
- Exp. let_ (if recursive then Recursive else Nonrecursive ) b body
435
-
436
- let pvar s = Pat. var (mkloc s ! default_loc)
437
- let pconstr s args = Pat. construct (lid s) (may_tuple Pat. tuple args)
438
- let precord ?(closed = Open ) l =
439
- Pat. record (List. map (fun (s , e ) -> (lid s, e)) l) closed
440
- let pnil () = pconstr " []" []
441
- let pcons hd tl = pconstr " ::" [hd; tl]
442
- let punit () = pconstr " ()" []
443
- let plist l = List. fold_right pcons l (pnil () )
444
- let ptuple l = Pat. tuple l
445
-
446
- let pstr s = Pat. constant (Const_string (s, None ))
447
- let pint x = Pat. constant (Const_int x)
448
- let pchar x = Pat. constant (Const_char x)
449
- let pfloat x = Pat. constant (Const_float (string_of_float x))
450
-
451
- let tconstr c l = Typ. constr (lid c) l
452
-
453
- let get_str = function
454
- | {pexp_desc =Pexp_constant (Const_string (s , _ )); _} -> Some s
455
- | e -> None
456
-
457
- let get_lid = function
458
- | {pexp_desc =Pexp_ident {txt =id ;_} ;_} ->
459
- Some (String. concat " ." (Longident. flatten id))
460
- | _ -> None
461
-
462
- let find_attr s attrs =
463
- try Some (snd (List. find (fun (x , _ ) -> x.txt = s) attrs))
464
- with Not_found -> None
465
-
466
- let expr_of_payload = function
467
- | PStr [{pstr_desc= Pstr_eval (e, _)}] -> Some e
468
- | _ -> None
469
-
470
- let find_attr_expr s attrs =
471
- match find_attr s attrs with
472
- | Some e -> expr_of_payload e
473
- | None -> None
474
-
475
- let has_attr s attrs =
476
- find_attr s attrs <> None
477
- end
0 commit comments