Core_kernel: OCaml工业强度标准库的系统独立扩展

需积分: 9 0 下载量 109 浏览量 更新于2024-11-24 收藏 956KB ZIP 举报
资源摘要信息:"OCaml的便携式标准库替代品,由Jane Street开发,旨在提供工业强度的代码库。核心部分为Core,而Core_kernel是其系统独立部分,适用于不支持完整Core的环境,例如Javascript。它为标准库提供了一个覆盖层,可以通过'open Core_kernel'来启动文件。与基础库的关系是:基础库提供最少的stdlib替换,小巧便携且稳定性高;Core_kernel是Base的扩展,功能更全面,代码和依赖性更多,API发展速度更快;核心则是使用UNIX API扩展的Core_kernel。" OCaml语言是一种高效的函数式编程语言,广泛应用于需要高性能计算的领域,如金融、编译器设计等。它的标准库提供了语言运行时所需的基本数据结构和函数,但某些情况下,标准库可能不完全符合工业强度项目的需求。Jane Street——一家以量化金融和交易所交易产品闻名的公司——开发了Core和Core_kernel,以解决这些问题。 Core库是OCaml标准库的一个全面替代品,而Core_kernel是Core的一个子集,专注于提供系统无关的、高度可移植的组件。这使得Core_kernel特别适合那些无法或不需要运行完整Core环境的应用场景,比如在JavaScript平台上。 Core_kernel的设计哲学是提供一个覆盖标准库的接口,这意味着开发者可以使用更加强大和健壮的功能,同时还能享受OCaml标准库的简单和熟悉性。使用Core_kernel时,推荐的做法是在文件顶部加入以下代码: ```ocaml open Core_kernel ``` 这行代码引入了Core_kernel模块中的所有内容,使得程序员可以便捷地使用库中定义的类型、函数和模块。 从功能上看,Core_kernel比标准库更全面,因此它拥有更多的代码和依赖性。同时,由于它需要适应不同的运行环境,比如JavaScript,所以它的API发展速度比基础库快,允许更频繁地引入新特性和改进。 Core_kernel的设计目标包括高稳定性和可移植性,因此它可以在不同的系统和环境中运行,如Linux、macOS和JavaScript。这种能力对于那些需要在多种环境中部署软件的开发者来说尤其重要,特别是在Web应用开发领域。 由于Core是Core_kernel的扩展,它包括UNIX API的扩展,这意味着Core将Core_kernel中提供的功能与UNIX系统特有的功能结合在了一起。这样,开发者就可以利用Core的库来编写能够直接与操作系统交互的底层应用。 简而言之,Core_kernel作为Core的一个子集,为OCaml开发者提供了一个强化版的标准库,使得他们能够利用更加现代和全面的库来构建应用程序,同时也支持跨平台开发的需求。通过Jane Street的持续开发和维护,Core_kernel不断进化,满足工业级应用开发者的高标准要求。

WARNING: /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.10+git999-r0/temp/run.do_kernel_configme.126308:414 exit 1 from 'exit 1' WARNING: Backtrace (BB generated script): #1: bbfatal, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.10+git999-r0/temp/run.do_kernel_configme.126308, line 414 #2: do_kernel_metadata, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.10+git999-r0/temp/run.do_kernel_configme.126308, line 251 #3: do_kernel_configme, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.10+git999-r0/temp/run.do_kernel_configme.126308, line 152 #4: main, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.10+git999-r0/temp/run.do_kernel_configme.126308, line 459 Backtrace (metadata-relative locations): #1: bbfatal, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/components/yocto/layers/core/meta/classes/logging.bbclass, line 60 #2: do_kernel_metadata, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/components/yocto/layers/core/meta/classes/kernel-yocto.bbclass, line 159 #3: do_kernel_configme, /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/components/yocto/layers/core/meta/classes/kernel-yocto.bbclass, line 395 ERROR: Logfile of failure stored in: /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/5.10+git999-r0/temp/log.do_kernel_configme.126308 NOTE: recipe linux-xlnx-5.10+git999-r0: task do_kernel_configme: Failed ERROR: Task (/home/xyc/work/petalinux_prj/20230518/zynq_petalinux/components/yocto/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2021.1.bb:do_kernel_configme) failed with exit code '1' NOTE: recipe libgcc-initial-10.2.0-r0: task do_configure: Succeeded NOTE: Tasks Summary: Attempted 545 tasks of which 0 didn't need to be rerun and 1 failed. ERROR: bitbake failed to configure u-boot ERROR: Failed to config u-boot. Check the /home/xyc/work/petalinux_prj/20230518/zynq_petalinux/build/config.log file for more details...

2023-05-19 上传