代码之家  ›  专栏  ›  技术社区  ›  Flux

如何以静默方式加载顶级模块

  •  2
  • Flux  · 技术社区  · 7 年前

    在我的 ~/.ocamlinit ,我有一些指示:

    #use "topfind"
    #thread
    #require "core.top"
    

    因此,每次OCaml toplevel(即。 ocaml )开始时,我看到了这堵巨大的文字墙:

            OCaml version 4.02.3
    
    Findlib has been successfully loaded. Additional directives:
      #require "package";;      to load a package
      #list;;                   to list the available packages
      #camlp4o;;                to load camlp4 (standard syntax)
      #camlp4r;;                to load camlp4 (revised syntax)
      #predicates "p,q,...";;   to set these predicates
      Topfind.reset();;         to force that packages will be reloaded
      #thread;;                 to enable threads
    
    /usr/lib/ocaml/threads: added to search path
    /usr/lib/ocaml/unix.cma: loaded
    /usr/lib/ocaml/threads/threads.cma: loaded
    /usr/lib/ocaml/compiler-libs: added to search path
    /usr/lib/ocaml/bigarray.cma: loaded
    /home/user/.opam/system/lib/bin_prot: added to search path
    /home/user/.opam/system/lib/bin_prot/bin_prot.cma: loaded
    /home/user/.opam/system/lib/fieldslib: added to search path
    /home/user/.opam/system/lib/fieldslib/fieldslib.cma: loaded
    /usr/lib/ocaml/nums.cma: loaded
    /home/user/.opam/system/lib/num-top: added to search path
    /home/user/.opam/system/lib/num-top/num_top.cma: loaded
    /home/user/.opam/system/lib/num: added to search path
    /home/user/.opam/system/lib/sexplib: added to search path
    /home/user/.opam/system/lib/sexplib/sexplib.cma: loaded
    /home/user/.opam/system/lib/ppx_assert: added to search path
    /home/user/.opam/system/lib/ppx_assert/ppx_assert_lib.cma: loaded
    /home/user/.opam/system/lib/ppx_bench: added to search path
    /home/user/.opam/system/lib/ppx_bench/ppx_bench_lib.cma: loaded
    /home/user/.opam/system/lib/ppx_expect: added to search path
    /home/user/.opam/system/lib/ppx_expect/expect_test_common.cma: loaded
    /home/user/.opam/system/lib/ppx_expect/expect_test_config.cma: loaded
    /home/user/.opam/system/lib/ppx_inline_test: added to search path
    /home/user/.opam/system/lib/ppx_inline_test/inline_test_config.cma: loaded
    /home/user/.opam/system/lib/ppx_inline_test/ppx_inline_test_lib.cma: loaded
    /home/user/.opam/system/lib/ppx_expect/expect_test_collector.cma: loaded
    /home/user/.opam/system/lib/result: added to search path
    /home/user/.opam/system/lib/result/result.cma: loaded
    /home/user/.opam/system/lib/typerep: added to search path
    /home/user/.opam/system/lib/typerep/typerep_lib.cma: loaded
    /home/user/.opam/system/lib/variantslib: added to search path
    /home/user/.opam/system/lib/variantslib/variantslib.cma: loaded
    /home/user/.opam/system/lib/core_kernel: added to search path
    /home/user/.opam/system/lib/core_kernel/core_kernel.cma: loaded
    /home/user/.opam/system/lib/sexplib/sexplib_unix.cma: loaded
    /home/user/.opam/system/lib/core: added to search path
    /home/user/.opam/system/lib/core/core.cma: loaded
    /home/user/.opam/system/lib/core/core_top.cma: loaded
    #
    

    当顶层启动时,是否有办法使模块加载静音?

    1 回复  |  直到 6 年前
        1
  •  5
  •   hcarty    7 年前

    trivelt's comment 有最好的答案-使用utop!-但如果你或其他人想使用 ocaml 您可以直接设置 Sys.interactive false 使大多数状态消息静音。例如:

    噪音:

    $ ocaml
            OCaml version 4.06.0
    
    # #use "topfind";;
    - : unit = ()
    Findlib has been successfully loaded. Additional directives:
      #require "package";;      to load a package
      #list;;                   to list the available packages
      #camlp4o;;                to load camlp4 (standard syntax)
      #camlp4r;;                to load camlp4 (revised syntax)
      #predicates "p,q,...";;   to set these predicates
      Topfind.reset();;         to force that packages will be reloaded
      #thread;;                 to enable threads
    
    - : unit = ()
    

    更安静:

    $ ocaml
            OCaml version 4.06.0
    
    # Sys.interactive := false;;
    - : unit = ()
    # #use "topfind";;
    - : unit = ()
    - : unit = ()
    

    你可以把 Sys.interactive := false;; 在您的 .ocamlinit 文件和 Sys.interactive := true;; 最后,如果你想让这项工作自动进行。

    推荐文章