summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormuqiuhan <[email protected]>2023-05-15 13:39:08 +0000
committermuqiuhan <[email protected]>2023-05-15 13:39:08 +0000
commita66ebdb0dcb5f425cc018626ac03d01ef02eaf60 (patch)
tree9103480885fefdf499a4279bbc33b97110414723
parenteb827a5b8badd64be62991330f3c954da1afe765 (diff)
downloadblog-a66ebdb0dcb5f425cc018626ac03d01ef02eaf60.tar.gz
deploy: 79f3d87bca011e8fbce6f5e568b95f6eb925540f
-rw-r--r--2023/04/29/OCaml_News_20230429/index.html4
-rw-r--r--2023/05/04/OCaml-Effects简明教程/index.html231
-rw-r--r--2023/05/06/OCaml_News_20230506/index.html4
-rw-r--r--2023/05/09/OCaml_News_20230509/index.html7
-rw-r--r--2023/05/15/OCaml_News_20230515/index.html258
-rw-r--r--archives/2023/05/index.html18
-rw-r--r--archives/2023/index.html18
-rw-r--r--archives/index.html18
-rw-r--r--tags/OCaml/index.html18
-rw-r--r--tags/Technique/index.html18
10 files changed, 313 insertions, 281 deletions
diff --git a/2023/04/29/OCaml_News_20230429/index.html b/2023/04/29/OCaml_News_20230429/index.html
index 80019c60..9ace21f0 100644
--- a/2023/04/29/OCaml_News_20230429/index.html
+++ b/2023/04/29/OCaml_News_20230429/index.html
@@ -173,7 +173,7 @@
</ol>
<p>所以:</p>
<hr>
-<h1 id="???-二零二三年四月二十九日"><a href="#???-二零二三年四月二十九日" class="headerlink" title="??? - 二零二三年四月二十九日"></a>??? - 二零二三年四月二十九日</h1><h2 id="呼吁新的-opam-存储库维护者"><a href="#呼吁新的-opam-存储库维护者" class="headerlink" title="呼吁新的 opam 存储库维护者"></a>呼吁新的 opam 存储库维护者</h2><p><a target="_blank" rel="noopener" href="https://opam.ocaml.org/">OPAM</a>是OCaml的官方包管理器,它通过<a target="_blank" rel="noopener" href="https://github.com/ocaml/opam-repository">opam-repository</a>存储OCaml包,opam-repository由少数人力共同维护,以确保包的时效性、和高质量。OPAM的维护团队正在寻找新的贡献者来帮助他们维护opam-repository。</p>
+<h1 id="???-二〇二三年四月二十九日"><a href="#???-二〇二三年四月二十九日" class="headerlink" title="??? - 二〇二三年四月二十九日"></a>??? - 二〇二三年四月二十九日</h1><h2 id="呼吁新的-opam-存储库维护者"><a href="#呼吁新的-opam-存储库维护者" class="headerlink" title="呼吁新的 opam 存储库维护者"></a>呼吁新的 opam 存储库维护者</h2><p><a target="_blank" rel="noopener" href="https://opam.ocaml.org/">OPAM</a>是OCaml的官方包管理器,它通过<a target="_blank" rel="noopener" href="https://github.com/ocaml/opam-repository">opam-repository</a>存储OCaml包,opam-repository由少数人力共同维护,以确保包的时效性、和高质量。OPAM的维护团队正在寻找新的贡献者来帮助他们维护opam-repository。</p>
<p>帮助维护opam-repository并不是OCaml或OPAM方面的专家才能参与。新加入的维护者将从审查和批准对repo的更改开始,经过几周的工作后,你可以决定留下来继续做这份工作,届时将被授予完全访问权限。</p>
<p>论坛原帖:<a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/call-for-new-opam-repository-maintainers/12041">https://discuss.ocaml.org/t/call-for-new-opam-repository-maintainers/12041</a></p>
<h2 id="Local-Type-Definition"><a href="#Local-Type-Definition" class="headerlink" title="Local Type Definition"></a>Local Type Definition</h2><p>OCaml目前并不支持类似如下的Local Type Definition:</p>
@@ -201,7 +201,7 @@
<div class="icon arrow-left"></div>
<div class="post-link">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">Prev</a>
+ <a href="/2023/05/06/OCaml_News_20230506/">Prev</a>
</div>
</div>
diff --git a/2023/05/04/OCaml-Effects简明教程/index.html b/2023/05/04/OCaml-Effects简明教程/index.html
deleted file mode 100644
index 0e17ea7c..00000000
--- a/2023/05/04/OCaml-Effects简明教程/index.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="UTF-8">
-<meta name="viewport"
- content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
-<meta http-equiv="X-UA-Compatible" content="ie=edge">
-
- <meta name="author" content="含暮秋">
-
-
- <meta name="subtitle" content="暮秋小屋">
-
-
- <meta name="description" content="不卑不亢的码农, 朴素的民谣诗人">
-
-
- <meta name="keywords" content="韩暮秋,MuqiuHan">
-
-
-
-
-<title>如何表示OCaml运行时类型 | 暮秋小屋</title>
-
-
-
-
-
-<style>
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Roboto+Mono&display=swap');
-</style>
-
-
-
- <!-- stylesheets list from _config.yml -->
-
- <link rel="stylesheet" href="/css/style.css">
-
-
-
-
-
- <!-- scripts list from _config.yml -->
-
- <script src="/js/frame.js"></script>
-
-
-
-
-
- <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
- <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
-
-
-
-
-
-
-
- <!-- hexo injector head_end start -->
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css">
-
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/style.css">
-<!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head>
- <body>
- <div class="mask-border">
- </div>
-
- <div class="wrapper">
-
- <div class="header">
- <div class="flex-container">
- <div class="header-inner">
- <div class="site-brand-container">
- <a href="/">
-
- 暮秋小屋
-
- </a>
- </div>
- <div id="menu-btn" class="menu-btn" onclick="toggleMenu()">
- Menu
- </div>
- <nav class="site-nav">
- <ul class="menu-list">
-
-
- <li class="menu-item">
- <a href="/">主页</a>
- </li>
-
-
-
- <li class="menu-item">
- <a href="/tags/Technique/">技术</a>
- </li>
-
-
-
- <li class="menu-item">
- <a href="/Projects">项目</a>
- </li>
-
-
-
- <li class="menu-item">
- <a href="/categories/gallery/">日记本</a>
- </li>
-
-
-
- <li class="menu-item">
- <a href="/about">关于</a>
- </li>
-
-
-
- </ul>
- </nav>
- </div>
- </div>
-</div>
-
-
- <div class="main">
- <div class="flex-container">
- <article id="post">
-
-
- <div class="post-head">
- <div class="post-info">
- <div class="tag-list">
-
-
- <span class="post-tag">
- <a href="/tags/OCaml/">
- OCaml
- </a>
- </span>
-
- <span class="post-tag">
- <a href="/tags/Technique/">
- Technique
- </a>
- </span>
-
-
- </div>
- <div class="post-title">
-
-
- 如何表示OCaml运行时类型
-
-
- </div>
- <span class="post-date">
- May 4, 2023
- </span>
- </div>
- <div class="post-img">
-
- <div class="h-line-primary"></div>
-
- </div>
-</div>
- <div class="post-content">
-
-</div>
-
-<script>
- window.onload = detectors();
-</script>
- <div class="post-footer">
- <div class="h-line-primary"></div>
- <nav class="post-nav">
- <div class="prev-item">
-
- <div class="icon arrow-left"></div>
- <div class="post-link">
- <a href="/2023/05/06/OCaml_News_20230506/">Prev</a>
- </div>
-
- </div>
- <div class="next-item">
-
- <div class="icon arrow-right"></div>
- <div class="post-link">
- <a href="/2023/04/29/OCaml_News_20230429/">Next</a>
- </div>
-
- </div>
- </nav>
-</div>
-
-
- <div class="post-comment">
-
-
-
-
-
-
-
-</div>
-
-
-</article>
- </div>
- </div>
-
- <div class="footer">
- <div class="flex-container">
- <div class="footer-text">
-
-
- |
-
-
- 希望路过的人可以添点柴火让这里暖和点
-
- </div>
- </div>
-</div>
-
- </div>
-
-
-
-
- </body>
-</html>
diff --git a/2023/05/06/OCaml_News_20230506/index.html b/2023/05/06/OCaml_News_20230506/index.html
index dbdd7da7..eafd35fe 100644
--- a/2023/05/06/OCaml_News_20230506/index.html
+++ b/2023/05/06/OCaml_News_20230506/index.html
@@ -164,7 +164,7 @@
</div>
</div>
<div class="post-content">
- <h1 id="二零二三年四月二十九日-二零二三年五月六日"><a href="#二零二三年四月二十九日-二零二三年五月六日" class="headerlink" title="二零二三年四月二十九日 - 二零二三年五月六日"></a>二零二三年四月二十九日 - 二零二三年五月六日</h1><h2 id="Dune正在探索集成包管理,提供统一的开发体验"><a href="#Dune正在探索集成包管理,提供统一的开发体验" class="headerlink" title="Dune正在探索集成包管理,提供统一的开发体验"></a>Dune正在探索集成包管理,提供统一的开发体验</h2><p>dune, opam, opam-monorepo团队在几个月前联合起来,共同解决这个来自之前社区报告中的重要痛点。</p>
+ <h1 id="二〇二三年四月二十九日-二〇二三年五月六日"><a href="#二〇二三年四月二十九日-二〇二三年五月六日" class="headerlink" title="二〇二三年四月二十九日 - 二〇二三年五月六日"></a>二〇二三年四月二十九日 - 二〇二三年五月六日</h1><h2 id="Dune正在探索集成包管理,提供统一的开发体验"><a href="#Dune正在探索集成包管理,提供统一的开发体验" class="headerlink" title="Dune正在探索集成包管理,提供统一的开发体验"></a>Dune正在探索集成包管理,提供统一的开发体验</h2><p>dune, opam, opam-monorepo团队在几个月前联合起来,共同解决这个来自之前社区报告中的重要痛点。</p>
<p>在dune的github上有对于这项工作的详细解释:<a target="_blank" rel="noopener" href="https://github.com/ocaml/dune/issues/7680">https://github.com/ocaml/dune/issues/7680</a></p>
<p><a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/explorations-on-package-management-in-dune/12101">https://discuss.ocaml.org/t/explorations-on-package-management-in-dune/12101</a></p>
<p><a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/explorations-on-package-management-in-dune/12101">论坛原帖:https://discuss.ocaml.org/t/explorations-on-package-management-in-dune/12101</a></p>
@@ -218,7 +218,7 @@
<div class="icon arrow-right"></div>
<div class="post-link">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">Next</a>
+ <a href="/2023/04/29/OCaml_News_20230429/">Next</a>
</div>
</div>
diff --git a/2023/05/09/OCaml_News_20230509/index.html b/2023/05/09/OCaml_News_20230509/index.html
index aca38d8c..ec61d448 100644
--- a/2023/05/09/OCaml_News_20230509/index.html
+++ b/2023/05/09/OCaml_News_20230509/index.html
@@ -164,7 +164,7 @@
</div>
</div>
<div class="post-content">
- <h1 id="二零二三年五月六日-二零二三年五月九日"><a href="#二零二三年五月六日-二零二三年五月九日" class="headerlink" title="二零二三年五月六日 - 二零二三年五月九日"></a>二零二三年五月六日 - 二零二三年五月九日</h1><h2 id="在Eio中不使用Unix和Sys模块实现所有I-x2F-O和文件系统操作?"><a href="#在Eio中不使用Unix和Sys模块实现所有I-x2F-O和文件系统操作?" class="headerlink" title="在Eio中不使用Unix和Sys模块实现所有I&#x2F;O和文件系统操作?"></a>在Eio中不使用Unix和Sys模块实现所有I&#x2F;O和文件系统操作?</h2><blockquote>
+ <h1 id="二〇二三年五月六日-二〇二三年五月九日"><a href="#二〇二三年五月六日-二〇二三年五月九日" class="headerlink" title="二〇二三年五月六日 - 二〇二三年五月九日"></a>二〇二三年五月六日 - 二〇二三年五月九日</h1><h2 id="在Eio中不使用Unix和Sys模块实现所有I-x2F-O和文件系统操作?"><a href="#在Eio中不使用Unix和Sys模块实现所有I-x2F-O和文件系统操作?" class="headerlink" title="在Eio中不使用Unix和Sys模块实现所有I&#x2F;O和文件系统操作?"></a>在Eio中不使用Unix和Sys模块实现所有I&#x2F;O和文件系统操作?</h2><blockquote>
<p>EIO: <a target="_blank" rel="noopener" href="https://github.com/ocaml-multicore/eio">Effects-based direct-style IO for multicore OCaml</a></p>
</blockquote>
<p>例如<code>Sys.is_directory</code>, <code>Sys.file_exists</code>,<code>Sys.is_regular_file</code>这些函数在Eio中并没有相关的实现, 因为Eio目前还缺少很多文件操作的实现: <a target="_blank" rel="noopener" href="https://github.com/ocaml-multicore/eio/issues/510">Add missing file operations #510</a>。</p>
@@ -228,6 +228,11 @@
<nav class="post-nav">
<div class="prev-item">
+ <div class="icon arrow-left"></div>
+ <div class="post-link">
+ <a href="/2023/05/15/OCaml_News_20230515/">Prev</a>
+ </div>
+
</div>
<div class="next-item">
diff --git a/2023/05/15/OCaml_News_20230515/index.html b/2023/05/15/OCaml_News_20230515/index.html
new file mode 100644
index 00000000..e5284b8e
--- /dev/null
+++ b/2023/05/15/OCaml_News_20230515/index.html
@@ -0,0 +1,258 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8">
+<meta name="viewport"
+ content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+<meta http-equiv="X-UA-Compatible" content="ie=edge">
+
+ <meta name="author" content="含暮秋">
+
+
+ <meta name="subtitle" content="暮秋小屋">
+
+
+ <meta name="description" content="不卑不亢的码农, 朴素的民谣诗人">
+
+
+ <meta name="keywords" content="韩暮秋,MuqiuHan">
+
+
+
+
+<title>OCaml News 2023/5/15 | 暮秋小屋</title>
+
+
+
+
+
+<style>
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&family=Roboto+Mono&display=swap');
+</style>
+
+
+
+ <!-- stylesheets list from _config.yml -->
+
+ <link rel="stylesheet" href="/css/style.css">
+
+
+
+
+
+ <!-- scripts list from _config.yml -->
+
+ <script src="/js/frame.js"></script>
+
+
+
+
+
+ <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
+ <script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
+
+
+
+
+
+
+
+ <!-- hexo injector head_end start -->
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css">
+
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/style.css">
+<!-- hexo injector head_end end --><meta name="generator" content="Hexo 6.3.0"></head>
+ <body>
+ <div class="mask-border">
+ </div>
+
+ <div class="wrapper">
+
+ <div class="header">
+ <div class="flex-container">
+ <div class="header-inner">
+ <div class="site-brand-container">
+ <a href="/">
+
+ 暮秋小屋
+
+ </a>
+ </div>
+ <div id="menu-btn" class="menu-btn" onclick="toggleMenu()">
+ Menu
+ </div>
+ <nav class="site-nav">
+ <ul class="menu-list">
+
+
+ <li class="menu-item">
+ <a href="/">主页</a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/tags/Technique/">技术</a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/Projects">项目</a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/categories/gallery/">日记本</a>
+ </li>
+
+
+
+ <li class="menu-item">
+ <a href="/about">关于</a>
+ </li>
+
+
+
+ </ul>
+ </nav>
+ </div>
+ </div>
+</div>
+
+
+ <div class="main">
+ <div class="flex-container">
+ <article id="post">
+
+
+ <div class="post-head">
+ <div class="post-info">
+ <div class="tag-list">
+
+
+ <span class="post-tag">
+ <a href="/tags/OCaml/">
+ OCaml
+ </a>
+ </span>
+
+ <span class="post-tag">
+ <a href="/tags/Technique/">
+ Technique
+ </a>
+ </span>
+
+
+ </div>
+ <div class="post-title">
+
+
+ OCaml News 2023/5/15
+
+
+ </div>
+ <span class="post-date">
+ May 15, 2023
+ </span>
+ </div>
+ <div class="post-img">
+
+ <div class="h-line-primary"></div>
+
+ </div>
+</div>
+ <div class="post-content">
+ <h1 id="二〇二三年五月九日-二〇二三年五月十五日"><a href="#二〇二三年五月九日-二〇二三年五月十五日" class="headerlink" title="二〇二三年五月九日 - 二〇二三年五月十五日"></a>二〇二三年五月九日 - 二〇二三年五月十五日</h1><h2 id="关于OCaml最新的并行特性相关文档"><a href="#关于OCaml最新的并行特性相关文档" class="headerlink" title="关于OCaml最新的并行特性相关文档"></a>关于OCaml最新的并行特性相关文档</h2><ol>
+<li>Eio的README有很多例子: <a target="_blank" rel="noopener" href="https://github.com/ocaml-multicore/eio">https://github.com/ocaml-multicore/eio</a></li>
+<li>ocaml-multicore组织官方的教程仓库: <a target="_blank" rel="noopener" href="https://github.com/ocaml-multicore/parallel-programming-in-multicore-ocaml">https://github.com/ocaml-multicore/parallel-programming-in-multicore-ocaml</a></li>
+<li>OCaml的Manual: <a target="_blank" rel="noopener" href="https://v2.ocaml.org/releases/5.0/htmlman/parallelism.html">https://v2.ocaml.org/releases/5.0/htmlman/parallelism.html</a></li>
+</ol>
+<p>论坛原帖: <a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/new-concurrency-features/12158">https://discuss.ocaml.org/t/new-concurrency-features/12158</a></p>
+<h2 id="使用OCaml通过串口与STM32通信"><a href="#使用OCaml通过串口与STM32通信" class="headerlink" title="使用OCaml通过串口与STM32通信"></a>使用OCaml通过串口与STM32通信</h2><p>在Linux&#x2F;Unix上可以:</p>
+<ul>
+<li>适用于linux&#x2F;unix的oserial: <a target="_blank" rel="noopener" href="https://github.com/m-laniakea/oserial">https://github.com/m-laniakea/oserial</a></li>
+<li>直接打开 <code>/dev/XXX</code> 文件用Unix模块相关的API与其交互, 一个例子: <a target="_blank" rel="noopener" href="https://gist.github.com/dbuenzli/035bc5c8598069360dd7301f55e7774a">https://gist.github.com/dbuenzli/035bc5c8598069360dd7301f55e7774a</a></li>
+</ul>
+<p>Windows目前没有解决方案。</p>
+<p>论坛原帖: <a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/is-there-any-library-of-ocaml-to-use-serial-port-of-pc/3658">https://discuss.ocaml.org/t/is-there-any-library-of-ocaml-to-use-serial-port-of-pc/3658</a></p>
+<h2 id="使用OCaml构建IOS-APP"><a href="#使用OCaml构建IOS-APP" class="headerlink" title="使用OCaml构建IOS APP"></a>使用OCaml构建IOS APP</h2><ul>
+<li>通过Js_of_ocaml编译为JavaScript并使用像CapacitorJS(甚至是旧的Cordova)这样的框架或许是一条路子。</li>
+<li><a target="_blank" rel="noopener" href="http://psellos.com/aboutus.html">Psellos</a>是一个注重现代函数式语言(OCaml, F#, Haskell)的组织,它们维护了一个将OCaml编译到IOS的交叉编译器: <a target="_blank" rel="noopener" href="http://psellos.com/ocaml/compile-to-iphone.html">http://psellos.com/ocaml/compile-to-iphone.html</a></li>
+<li>ocaml-cocoa的demo: <a target="_blank" rel="noopener" href="https://github.com/dboris/ocaml-cocoa/blob/master/examples/count_clicks.ml">https://github.com/dboris/ocaml-cocoa/blob/master/examples/count_clicks.ml</a></li>
+</ul>
+<p>论坛原帖: <a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/building-ios-apps-with-ocaml/12153">https://discuss.ocaml.org/t/building-ios-apps-with-ocaml/12153</a></p>
+<h2 id="Ahref现在使用Melange构建"><a href="#Ahref现在使用Melange构建" class="headerlink" title="Ahref现在使用Melange构建"></a>Ahref现在使用Melange构建</h2><p><a href="">Melange</a>是结合使用 OCaml 和 Reason 生成 JavaScript 的工具组合。<br><a target="_blank" rel="noopener" href="https://ahrefs.com/">Ahrefs</a>是一个SEO软件套装,包含外链建设、关键字研究、竞争对手分析,排名跟踪和站点审核等工具。Ahrefs内部的大多数功能都是为营销专业人员设计的。</p>
+<p>自去年 9 月以来,Melange、Dune 和 Ahrefs 开发团队一直致力于加强 Dune 和 Melange 之间的集成。作为一家在后端使用大量 OCaml 的公司,Ahrefs看到了Melange可以将其前端技术栈与OCaml更紧密结合(通过使用Melange与UI相关的JavaScript生态系统集成)。因此,该公司决定投资并积极参与以实现这种整合。</p>
+<p>论坛原帖: <a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/ahrefs-is-now-built-with-melange/12107">https://discuss.ocaml.org/t/ahrefs-is-now-built-with-melange/12107</a></p>
+<h2 id="Ahref正在招聘OCaml开发人员"><a href="#Ahref正在招聘OCaml开发人员" class="headerlink" title="Ahref正在招聘OCaml开发人员"></a>Ahref正在招聘OCaml开发人员</h2><p>一如既往,Ahrefs正在寻找OCaml开发人员,他们总部位于新加坡,团队遍布各地,所以也支持远程,详见:<br><a target="_blank" rel="noopener" href="https://ahrefs.com/jobs/ocaml-developer">https://ahrefs.com/jobs/ocaml-developer</a></p>
+<p>论坛原帖: <a target="_blank" rel="noopener" href="https://discuss.ocaml.org/t/ahrefs-is-hiring/12136">https://discuss.ocaml.org/t/ahrefs-is-hiring/12136</a></p>
+<h2 id="string-literals-inside-comments-5745"><a href="#string-literals-inside-comments-5745" class="headerlink" title="string literals inside comments #5745"></a>string literals inside comments #5745</h2><p>草,OCaml的parser不会忽略注释中的引号:</p>
+<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">$ echo &#x27;(* &quot;test *)&#x27; | ocaml </span><br><span class="line">OCaml version 5.0.0</span><br><span class="line">Enter #help;; for help.</span><br><span class="line"></span><br><span class="line"># (* &quot;test *)tive `utop_prompt_fancy_light&#x27;.</span><br><span class="line"># * </span><br><span class="line">Error: This comment contains an unterminated string literal</span><br><span class="line">Line 1, characters 3-4: String literal begins here</span><br><span class="line"># </span><br></pre></td></tr></table></figure>
+
+<p>而经过讨论认为修复这个问题是向后不兼容的,所以修复这个词法分析器错误的风险似乎大于好处,就给close了。</p>
+<p>相关issue: <a target="_blank" rel="noopener" href="https://github.com/ocaml/ocaml/issues/5745">https://github.com/ocaml/ocaml/issues/5745</a></p>
+<p>有趣的是F#也继承了这个问题:</p>
+<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">$ echo &#x27;(* &quot;test *)&#x27; | dotnet fsi</span><br><span class="line"></span><br><span class="line">Microsoft (R) F# Interactive version 12.5.0.0 for F# 7.0</span><br><span class="line">Copyright (c) Microsoft Corporation. All Rights Reserved.</span><br><span class="line"></span><br><span class="line">For help type #help;;</span><br><span class="line"></span><br><span class="line">&gt; </span><br><span class="line"> (* &quot;test *)</span><br><span class="line"> ^^</span><br><span class="line"></span><br><span class="line">/home/muqiu-han/stdin(1,1): error FS0517: End of file in string embedded in comment begun at or before here</span><br></pre></td></tr></table></figure>
+
+
+</div>
+
+<script>
+ window.onload = detectors();
+</script>
+ <div class="post-footer">
+ <div class="h-line-primary"></div>
+ <nav class="post-nav">
+ <div class="prev-item">
+
+ </div>
+ <div class="next-item">
+
+ <div class="icon arrow-right"></div>
+ <div class="post-link">
+ <a href="/2023/05/09/OCaml_News_20230509/">Next</a>
+ </div>
+
+ </div>
+ </nav>
+</div>
+
+
+ <div class="post-comment">
+
+
+
+
+
+
+
+</div>
+
+
+</article>
+ </div>
+ </div>
+
+ <div class="footer">
+ <div class="flex-container">
+ <div class="footer-text">
+
+
+ |
+
+
+ 希望路过的人可以添点柴火让这里暖和点
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+
+
+
+ </body>
+</html>
diff --git a/archives/2023/05/index.html b/archives/2023/05/index.html
index 532cfa6f..a85d19c1 100644
--- a/archives/2023/05/index.html
+++ b/archives/2023/05/index.html
@@ -136,14 +136,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/09/OCaml_News_20230509/">
+ <a href="/2023/05/15/OCaml_News_20230515/">
- OCaml News 2023/5/9
+ OCaml News 2023/5/15
</a>
</div>
- <span class="post-date">May 9, 2023</span>
+ <span class="post-date">May 15, 2023</span>
</div>
@@ -154,14 +154,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/06/OCaml_News_20230506/">
+ <a href="/2023/05/09/OCaml_News_20230509/">
- OCaml News 2023/5/6
+ OCaml News 2023/5/9
</a>
</div>
- <span class="post-date">May 6, 2023</span>
+ <span class="post-date">May 9, 2023</span>
</div>
@@ -172,14 +172,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">
+ <a href="/2023/05/06/OCaml_News_20230506/">
- 如何表示OCaml运行时类型
+ OCaml News 2023/5/6
</a>
</div>
- <span class="post-date">May 4, 2023</span>
+ <span class="post-date">May 6, 2023</span>
</div>
diff --git a/archives/2023/index.html b/archives/2023/index.html
index 2fcdee21..b07f58bb 100644
--- a/archives/2023/index.html
+++ b/archives/2023/index.html
@@ -136,14 +136,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/09/OCaml_News_20230509/">
+ <a href="/2023/05/15/OCaml_News_20230515/">
- OCaml News 2023/5/9
+ OCaml News 2023/5/15
</a>
</div>
- <span class="post-date">May 9, 2023</span>
+ <span class="post-date">May 15, 2023</span>
</div>
@@ -154,14 +154,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/06/OCaml_News_20230506/">
+ <a href="/2023/05/09/OCaml_News_20230509/">
- OCaml News 2023/5/6
+ OCaml News 2023/5/9
</a>
</div>
- <span class="post-date">May 6, 2023</span>
+ <span class="post-date">May 9, 2023</span>
</div>
@@ -172,14 +172,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">
+ <a href="/2023/05/06/OCaml_News_20230506/">
- 如何表示OCaml运行时类型
+ OCaml News 2023/5/6
</a>
</div>
- <span class="post-date">May 4, 2023</span>
+ <span class="post-date">May 6, 2023</span>
</div>
diff --git a/archives/index.html b/archives/index.html
index b011391e..3efbc2ca 100644
--- a/archives/index.html
+++ b/archives/index.html
@@ -136,14 +136,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/09/OCaml_News_20230509/">
+ <a href="/2023/05/15/OCaml_News_20230515/">
- OCaml News 2023/5/9
+ OCaml News 2023/5/15
</a>
</div>
- <span class="post-date">May 9, 2023</span>
+ <span class="post-date">May 15, 2023</span>
</div>
@@ -154,14 +154,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/06/OCaml_News_20230506/">
+ <a href="/2023/05/09/OCaml_News_20230509/">
- OCaml News 2023/5/6
+ OCaml News 2023/5/9
</a>
</div>
- <span class="post-date">May 6, 2023</span>
+ <span class="post-date">May 9, 2023</span>
</div>
@@ -172,14 +172,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">
+ <a href="/2023/05/06/OCaml_News_20230506/">
- 如何表示OCaml运行时类型
+ OCaml News 2023/5/6
</a>
</div>
- <span class="post-date">May 4, 2023</span>
+ <span class="post-date">May 6, 2023</span>
</div>
diff --git a/tags/OCaml/index.html b/tags/OCaml/index.html
index 7d2d384c..0792a76d 100644
--- a/tags/OCaml/index.html
+++ b/tags/OCaml/index.html
@@ -143,14 +143,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/09/OCaml_News_20230509/">
+ <a href="/2023/05/15/OCaml_News_20230515/">
- OCaml News 2023/5/9
+ OCaml News 2023/5/15
</a>
</div>
- <span class="post-date">May 9, 2023</span>
+ <span class="post-date">May 15, 2023</span>
</div>
@@ -161,14 +161,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/06/OCaml_News_20230506/">
+ <a href="/2023/05/09/OCaml_News_20230509/">
- OCaml News 2023/5/6
+ OCaml News 2023/5/9
</a>
</div>
- <span class="post-date">May 6, 2023</span>
+ <span class="post-date">May 9, 2023</span>
</div>
@@ -179,14 +179,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">
+ <a href="/2023/05/06/OCaml_News_20230506/">
- 如何表示OCaml运行时类型
+ OCaml News 2023/5/6
</a>
</div>
- <span class="post-date">May 4, 2023</span>
+ <span class="post-date">May 6, 2023</span>
</div>
diff --git a/tags/Technique/index.html b/tags/Technique/index.html
index 4734fd84..8b4170ec 100644
--- a/tags/Technique/index.html
+++ b/tags/Technique/index.html
@@ -143,14 +143,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/09/OCaml_News_20230509/">
+ <a href="/2023/05/15/OCaml_News_20230515/">
- OCaml News 2023/5/9
+ OCaml News 2023/5/15
</a>
</div>
- <span class="post-date">May 9, 2023</span>
+ <span class="post-date">May 15, 2023</span>
</div>
@@ -161,14 +161,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/06/OCaml_News_20230506/">
+ <a href="/2023/05/09/OCaml_News_20230509/">
- OCaml News 2023/5/6
+ OCaml News 2023/5/9
</a>
</div>
- <span class="post-date">May 6, 2023</span>
+ <span class="post-date">May 9, 2023</span>
</div>
@@ -179,14 +179,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/05/04/OCaml-Effects%E7%AE%80%E6%98%8E%E6%95%99%E7%A8%8B/">
+ <a href="/2023/05/06/OCaml_News_20230506/">
- 如何表示OCaml运行时类型
+ OCaml News 2023/5/6
</a>
</div>
- <span class="post-date">May 4, 2023</span>
+ <span class="post-date">May 6, 2023</span>
</div>