summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormuqiuhan <[email protected]>2023-08-15 05:30:55 +0000
committermuqiuhan <[email protected]>2023-08-15 05:30:55 +0000
commit108719207c81b85360ca63eebbf64ab7cdee60e2 (patch)
treeed7b1b3b39030396ab7539f5a66093a32c22657f
parent637b980a89b7e0870c04f118989722167bda96a0 (diff)
downloadblog-108719207c81b85360ca63eebbf64ab7cdee60e2.tar.gz
deploy: c5a7c0e217a91c05e60b492bc0e944ce73531c17
-rw-r--r--2023/08/01/二〇二三年八月一日/index.html5
-rw-r--r--2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/index.html225
-rw-r--r--2023/08/15/poll-error-attribute-in-OCaml/index.html232
-rw-r--r--2023/08/15/tick-thread在Multicore-OCaml中的作用/index.html224
-rw-r--r--archives/2023/08/index.html54
-rw-r--r--archives/2023/index.html60
-rw-r--r--archives/2023/page/2/index.html60
-rw-r--r--archives/2023/page/3/index.html54
-rw-r--r--archives/index.html62
-rw-r--r--archives/page/2/index.html62
-rw-r--r--archives/page/3/index.html66
-rw-r--r--archives/page/4/index.html68
-rw-r--r--archives/page/5/index.html215
-rw-r--r--page/5/index.html185
-rw-r--r--tags/OCaml/index.html54
-rw-r--r--tags/Technique/index.html54
16 files changed, 1490 insertions, 190 deletions
diff --git a/2023/08/01/二〇二三年八月一日/index.html b/2023/08/01/二〇二三年八月一日/index.html
index bdfb5486..a942ea86 100644
--- a/2023/08/01/二〇二三年八月一日/index.html
+++ b/2023/08/01/二〇二三年八月一日/index.html
@@ -161,6 +161,11 @@
<nav class="post-nav">
<div class="prev-item">
+ <div class="icon arrow-left"></div>
+ <div class="post-link">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">Prev</a>
+ </div>
+
</div>
<div class="next-item">
diff --git a/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/index.html b/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/index.html
new file mode 100644
index 00000000..f8939841
--- /dev/null
+++ b/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/index.html
@@ -0,0 +1,225 @@
+<!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>Typed Design Patterns for the Functional Era | 暮秋小屋</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="/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/Technique/">
+ Technique
+ </a>
+ </span>
+
+ <span class="post-tag">
+ <a href="/tags/OCaml/">
+ OCaml
+ </a>
+ </span>
+
+
+ </div>
+ <div class="post-title">
+
+
+ Typed Design Patterns for the Functional Era
+
+
+ </div>
+ <span class="post-date">
+ Aug 15, 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/08/15/poll-error-attribute-in-OCaml/">Prev</a>
+ </div>
+
+ </div>
+ <div class="next-item">
+
+ <div class="icon arrow-right"></div>
+ <div class="post-link">
+ <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">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/08/15/poll-error-attribute-in-OCaml/index.html b/2023/08/15/poll-error-attribute-in-OCaml/index.html
new file mode 100644
index 00000000..0cc7776a
--- /dev/null
+++ b/2023/08/15/poll-error-attribute-in-OCaml/index.html
@@ -0,0 +1,232 @@
+<!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>使用 [@poll error] 实现线程安全的数据结构 | 暮秋小屋</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="/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/Technique/">
+ Technique
+ </a>
+ </span>
+
+ <span class="post-tag">
+ <a href="/tags/OCaml/">
+ OCaml
+ </a>
+ </span>
+
+
+ </div>
+ <div class="post-title">
+
+
+ 使用 [@poll error] 实现线程安全的数据结构
+
+
+ </div>
+ <span class="post-date">
+ Aug 15, 2023
+ </span>
+ </div>
+ <div class="post-img">
+
+ <div class="h-line-primary"></div>
+
+ </div>
+</div>
+ <div class="post-content">
+ <p>OCaml的标准库提供了许多mutable的数据结构,比如Hashtbl, Queue, Stack之类的,但是这些数据结构都不是线程安全的。在 OCaml 4 和 OCaml 5 中,单个Domain中一次只能运行一个线程。换句话说,单个Domain中的线程仍然不会并行运行,除非在不同所的Domain中。</p>
+<p>而在单个Domain中 OCaml 的 runtime 是通过在safe point期间半抢占式的切换线程。也就是说,线程切换只会发生在safe point期间。例如内存分配就是是safe point。这意味着在没有safe point的代码块内,可以在Domain内原子性地进行多次读写或访问操作,因为线程没被切换。</p>
+<p>OCaml 编译器提供了一个名为 <a target="_blank" rel="noopener" href="https://github.com/ocaml/ocaml/pull/10462"><code>[@poll error]</code></a> 的annotation,可以在函数中使用它来确保该函数不包含safe point。</p>
+<p>所以通过使用 <code>[@poll error]</code> 就可以创建在Domain内原子性执行的函数,也就是说,基于此特性可以实现单个Domain内线程安全的数据结构,例如 thread-table 便是使用这个特性实现的 Hash Table。可以看看它的 add 函数的实现:</p>
+<figure class="highlight ocaml"><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><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">let</span>[@poll error] add_atomically t buckets n i before after =</span><br><span class="line"> t.rehash = <span class="number">0</span> &amp;&amp; buckets == t.buckets</span><br><span class="line"> &amp;&amp; before == <span class="type">Array</span>.unsafe_get buckets i</span><br><span class="line"> &amp;&amp; <span class="keyword">begin</span></span><br><span class="line"> <span class="type">Array</span>.unsafe_set buckets i after;</span><br><span class="line"> <span class="keyword">let</span> length = t.length + <span class="number">1</span> <span class="keyword">in</span></span><br><span class="line"> t.length &lt;- length;</span><br><span class="line"> <span class="keyword">if</span> n &lt; length &amp;&amp; n &lt; max_buckets_div_2 <span class="keyword">then</span> t.rehash &lt;- n * <span class="number">2</span>;</span><br><span class="line"> <span class="literal">true</span></span><br><span class="line"> <span class="keyword">end</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">let</span> <span class="keyword">rec</span> add t k&#x27; v&#x27; =</span><br><span class="line"> <span class="keyword">let</span> h = <span class="type">Mix</span>.<span class="built_in">int</span> k&#x27; <span class="keyword">in</span></span><br><span class="line"> maybe_rehash t;</span><br><span class="line"> <span class="keyword">let</span> buckets = t.buckets <span class="keyword">in</span></span><br><span class="line"> <span class="keyword">let</span> n = <span class="type">Array</span>.length buckets <span class="keyword">in</span></span><br><span class="line"> <span class="keyword">let</span> i = h <span class="keyword">land</span> (n - <span class="number">1</span>) <span class="keyword">in</span></span><br><span class="line"> <span class="keyword">let</span> before = <span class="type">Array</span>.unsafe_get buckets i <span class="keyword">in</span></span><br><span class="line"> <span class="keyword">let</span> after = <span class="type">Cons</span> (k&#x27;, v&#x27;, before) <span class="keyword">in</span></span><br><span class="line"> <span class="keyword">if</span> not (add_atomically t buckets n i before after) <span class="keyword">then</span> add t k&#x27; v&#x27;</span><br></pre></td></tr></table></figure>
+
+<p>相比使用 Stdlib.Mutex,这种无锁实现会有更好的性能(特别是对于只读操作),并且还允许例如信号处理之类的上下文操作。</p>
+
+</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/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/">Prev</a>
+ </div>
+
+ </div>
+ <div class="next-item">
+
+ <div class="icon arrow-right"></div>
+ <div class="post-link">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">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/08/15/tick-thread在Multicore-OCaml中的作用/index.html b/2023/08/15/tick-thread在Multicore-OCaml中的作用/index.html
new file mode 100644
index 00000000..de11afdd
--- /dev/null
+++ b/2023/08/15/tick-thread在Multicore-OCaml中的作用/index.html
@@ -0,0 +1,224 @@
+<!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>tick thread在Multicore 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="/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/Technique/">
+ Technique
+ </a>
+ </span>
+
+ <span class="post-tag">
+ <a href="/tags/OCaml/">
+ OCaml
+ </a>
+ </span>
+
+
+ </div>
+ <div class="post-title">
+
+
+ tick thread在Multicore OCaml中的作用
+
+
+ </div>
+ <span class="post-date">
+ Aug 15, 2023
+ </span>
+ </div>
+ <div class="post-img">
+
+ <div class="h-line-primary"></div>
+
+ </div>
+</div>
+ <div class="post-content">
+ <p>Multicore OCaml的程序在启动时会运行一个 tick thread,其实现如下:</p>
+<figure class="highlight c"><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><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">/* The tick thread: posts a SIGPREEMPTION signal periodically */</span></span><br><span class="line"></span><br><span class="line"><span class="type">static</span> <span class="type">void</span> * <span class="title function_">caml_thread_tick</span><span class="params">(<span class="type">void</span> * arg)</span></span><br><span class="line">&#123;</span><br><span class="line"> <span class="class"><span class="keyword">struct</span> <span class="title">timeval</span> <span class="title">timeout</span>;</span></span><br><span class="line"> <span class="type">sigset_t</span> mask;</span><br><span class="line"></span><br><span class="line"> <span class="comment">/* Block all signals so that we don&#x27;t try to execute an OCaml signal handler*/</span></span><br><span class="line"> sigfillset(&amp;mask);</span><br><span class="line"> pthread_sigmask(SIG_BLOCK, &amp;mask, <span class="literal">NULL</span>);</span><br><span class="line"> <span class="keyword">while</span>(! caml_tick_thread_stop) &#123;</span><br><span class="line"> <span class="comment">/* select() seems to be the most efficient way to suspend the</span></span><br><span class="line"><span class="comment"> thread for sub-second intervals */</span></span><br><span class="line"> timeout.tv_sec = <span class="number">0</span>;</span><br><span class="line"> timeout.tv_usec = Thread_timeout * <span class="number">1000</span>;</span><br><span class="line"> select(<span class="number">0</span>, <span class="literal">NULL</span>, <span class="literal">NULL</span>, <span class="literal">NULL</span>, &amp;timeout);</span><br><span class="line"> <span class="comment">/* The preemption signal should never cause a callback, so don&#x27;t</span></span><br><span class="line"><span class="comment"> go through caml_handle_signal(), just record signal delivery via</span></span><br><span class="line"><span class="comment"> caml_record_signal(). */</span></span><br><span class="line"> caml_record_signal(SIGPREEMPTION);</span><br><span class="line"> &#125;</span><br><span class="line"> <span class="keyword">return</span> <span class="literal">NULL</span>;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
+
+<p>这是因为Multicore OCaml的GC目前需要一个进程(或一个Domain)中的所有线程一起参与以避免并发访问。如果一个线程在system call上被阻塞,那么整个Domain就会被卡住,直到该线程可以参与当前的垃圾收集。为了避免这个问题,tick 线程可以代替被阻塞的线程执行垃圾收集操作。</p>
+
+</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/08/15/poll-error-attribute-in-OCaml/">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/08/index.html b/archives/2023/08/index.html
index 385fd541..27ca5aa7 100644
--- a/archives/2023/08/index.html
+++ b/archives/2023/08/index.html
@@ -130,6 +130,60 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/">
+
+ tick thread在Multicore OCaml中的作用
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/08/15/poll-error-attribute-in-OCaml/">
+
+ 使用 [@poll error] 实现线程安全的数据结构
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">
+
+ Typed Design Patterns for the Functional Era
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
二〇二三年八月一日
diff --git a/archives/2023/index.html b/archives/2023/index.html
index 4477e224..9ad3eff8 100644
--- a/archives/2023/index.html
+++ b/archives/2023/index.html
@@ -130,14 +130,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
+ <a href="/2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/">
- 二〇二三年八月一日
+ tick thread在Multicore OCaml中的作用
</a>
</div>
- <span class="post-date">Aug 1, 2023</span>
+ <span class="post-date">Aug 15, 2023</span>
</div>
@@ -148,14 +148,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/07/30/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%B8%89%E5%8D%81%E6%97%A5/">
+ <a href="/2023/08/15/poll-error-attribute-in-OCaml/">
- 二零二三年七月三十日
+ 使用 [@poll error] 实现线程安全的数据结构
</a>
</div>
- <span class="post-date">Jul 30, 2023</span>
+ <span class="post-date">Aug 15, 2023</span>
</div>
@@ -166,14 +166,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/07/26/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">
- 二〇二三年七月二十六日
+ Typed Design Patterns for the Functional Era
</a>
</div>
- <span class="post-date">Jul 26, 2023</span>
+ <span class="post-date">Aug 15, 2023</span>
</div>
@@ -184,14 +184,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">
+ <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
- 二〇二三年六月二十九日
+ 二〇二三年八月一日
</a>
</div>
- <span class="post-date">Jun 29, 2023</span>
+ <span class="post-date">Aug 1, 2023</span>
</div>
@@ -202,14 +202,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/28/OOP-Visitors%E5%9C%A8Polymorphic%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%94%99%E8%AF%AF/">
+ <a href="/2023/07/30/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%B8%89%E5%8D%81%E6%97%A5/">
- OOP Visitors在Polymorphic情况下的类型错误
+ 二零二三年七月三十日
</a>
</div>
- <span class="post-date">Jun 28, 2023</span>
+ <span class="post-date">Jul 30, 2023</span>
</div>
@@ -220,14 +220,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/28/%E9%9A%90%E8%97%8F%E4%B8%80%E4%BA%9BOCaml-Effect%E7%9A%84%E6%9C%BA%E5%88%B6%EF%BC%8C%E8%AE%A9%E5%85%B6%E8%AF%AD%E6%B3%95%E5%9C%A8%E7%B2%BE%E7%A5%9E%E4%B8%8A%E6%9B%B4%E6%8E%A5%E8%BF%91delimcc/">
+ <a href="/2023/07/26/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
- 隐藏一些OCaml Effect的机制,让其语法在精神上更接近delimcc
+ 二〇二三年七月二十六日
</a>
</div>
- <span class="post-date">Jun 28, 2023</span>
+ <span class="post-date">Jul 26, 2023</span>
</div>
@@ -238,14 +238,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/28/caml-release-runtime-system%E5%AF%BC%E8%87%B4%E7%9A%84%E6%AD%BB%E9%94%81%E9%97%AE%E9%A2%98/">
+ <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">
- caml_release_runtime_system导致的死锁问题
+ 二〇二三年六月二十九日
</a>
</div>
- <span class="post-date">Jun 28, 2023</span>
+ <span class="post-date">Jun 29, 2023</span>
</div>
@@ -256,14 +256,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/22/%E7%81%AF%E7%AC%BC%E8%8D%89/">
+ <a href="/2023/06/28/OOP-Visitors%E5%9C%A8Polymorphic%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%94%99%E8%AF%AF/">
- 灯笼草
+ OOP Visitors在Polymorphic情况下的类型错误
</a>
</div>
- <span class="post-date">Jun 22, 2023</span>
+ <span class="post-date">Jun 28, 2023</span>
</div>
@@ -274,14 +274,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/17/%E5%8F%91%E7%83%AD%E5%8F%8A%E8%B6%85%E9%AB%98%E7%83%AD%E5%8D%B1%E8%B1%A1/">
+ <a href="/2023/06/28/%E9%9A%90%E8%97%8F%E4%B8%80%E4%BA%9BOCaml-Effect%E7%9A%84%E6%9C%BA%E5%88%B6%EF%BC%8C%E8%AE%A9%E5%85%B6%E8%AF%AD%E6%B3%95%E5%9C%A8%E7%B2%BE%E7%A5%9E%E4%B8%8A%E6%9B%B4%E6%8E%A5%E8%BF%91delimcc/">
- 发热及超高热危象
+ 隐藏一些OCaml Effect的机制,让其语法在精神上更接近delimcc
</a>
</div>
- <span class="post-date">Jun 17, 2023</span>
+ <span class="post-date">Jun 28, 2023</span>
</div>
@@ -292,14 +292,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/10/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E5%8D%81%E6%97%A5/">
+ <a href="/2023/06/28/caml-release-runtime-system%E5%AF%BC%E8%87%B4%E7%9A%84%E6%AD%BB%E9%94%81%E9%97%AE%E9%A2%98/">
- 二零二三年六月十日
+ caml_release_runtime_system导致的死锁问题
</a>
</div>
- <span class="post-date">Jun 10, 2023</span>
+ <span class="post-date">Jun 28, 2023</span>
</div>
diff --git a/archives/2023/page/2/index.html b/archives/2023/page/2/index.html
index 509a509a..2ca3e586 100644
--- a/archives/2023/page/2/index.html
+++ b/archives/2023/page/2/index.html
@@ -130,14 +130,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/04/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
+ <a href="/2023/06/22/%E7%81%AF%E7%AC%BC%E8%8D%89/">
- 二零二三年四月二十五日
+ 灯笼草
</a>
</div>
- <span class="post-date">Apr 25, 2023</span>
+ <span class="post-date">Jun 22, 2023</span>
</div>
@@ -148,14 +148,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/04/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
+ <a href="/2023/06/17/%E5%8F%91%E7%83%AD%E5%8F%8A%E8%B6%85%E9%AB%98%E7%83%AD%E5%8D%B1%E8%B1%A1/">
- 二零二三年四月二十二日
+ 发热及超高热危象
</a>
</div>
- <span class="post-date">Apr 22, 2023</span>
+ <span class="post-date">Jun 17, 2023</span>
</div>
@@ -166,14 +166,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/14/%E8%9E%BA%E5%86%85%E9%85%AF%E7%89%87/">
+ <a href="/2023/06/10/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E5%8D%81%E6%97%A5/">
- 螺内酯片
+ 二零二三年六月十日
</a>
</div>
- <span class="post-date">Mar 14, 2023</span>
+ <span class="post-date">Jun 10, 2023</span>
</div>
@@ -184,14 +184,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/">
+ <a href="/2023/04/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
- 呋塞米
+ 二零二三年四月二十五日
</a>
</div>
- <span class="post-date">Mar 14, 2023</span>
+ <span class="post-date">Apr 25, 2023</span>
</div>
@@ -202,14 +202,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/">
+ <a href="/2023/04/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
- 替米沙坦
+ 二零二三年四月二十二日
</a>
</div>
- <span class="post-date">Mar 13, 2023</span>
+ <span class="post-date">Apr 22, 2023</span>
</div>
@@ -220,14 +220,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/05/%E5%A5%A5%E5%8F%B8%E4%BB%96%E9%9F%A6/">
+ <a href="/2023/03/14/%E8%9E%BA%E5%86%85%E9%85%AF%E7%89%87/">
- 奥司他韦
+ 螺内酯片
</a>
</div>
- <span class="post-date">Mar 5, 2023</span>
+ <span class="post-date">Mar 14, 2023</span>
</div>
@@ -238,14 +238,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/04/%E9%87%91%E5%8C%AE%E8%A6%81%E7%95%A5/">
+ <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/">
- 金匮要略
+ 呋塞米
</a>
</div>
- <span class="post-date">Mar 4, 2023</span>
+ <span class="post-date">Mar 14, 2023</span>
</div>
@@ -256,14 +256,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/01/%E6%B0%94%E8%83%B8/">
+ <a href="/2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/">
- 气胸
+ 替米沙坦
</a>
</div>
- <span class="post-date">Mar 1, 2023</span>
+ <span class="post-date">Mar 13, 2023</span>
</div>
@@ -274,14 +274,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/01/%E7%BA%AF%E7%89%9B%E5%A5%B6%E5%8F%AF%E4%BB%A5%E5%8A%A0%E7%82%B9%E5%95%A5/">
+ <a href="/2023/03/05/%E5%A5%A5%E5%8F%B8%E4%BB%96%E9%9F%A6/">
- 纯牛奶可以加点啥
+ 奥司他韦
</a>
</div>
- <span class="post-date">Mar 1, 2023</span>
+ <span class="post-date">Mar 5, 2023</span>
</div>
@@ -292,14 +292,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+ <a href="/2023/03/04/%E9%87%91%E5%8C%AE%E8%A6%81%E7%95%A5/">
- 二零二三年二月二十六日
+ 金匮要略
</a>
</div>
- <span class="post-date">Feb 26, 2023</span>
+ <span class="post-date">Mar 4, 2023</span>
</div>
diff --git a/archives/2023/page/3/index.html b/archives/2023/page/3/index.html
index 73807c59..4fdca286 100644
--- a/archives/2023/page/3/index.html
+++ b/archives/2023/page/3/index.html
@@ -130,6 +130,60 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/03/01/%E6%B0%94%E8%83%B8/">
+
+ 气胸
+
+ </a>
+ </div>
+
+ <span class="post-date">Mar 1, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/03/01/%E7%BA%AF%E7%89%9B%E5%A5%B6%E5%8F%AF%E4%BB%A5%E5%8A%A0%E7%82%B9%E5%95%A5/">
+
+ 纯牛奶可以加点啥
+
+ </a>
+ </div>
+
+ <span class="post-date">Mar 1, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/02/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+
+ 二零二三年二月二十六日
+
+ </a>
+ </div>
+
+ <span class="post-date">Feb 26, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/02/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
二零二三年二月二十五日
diff --git a/archives/index.html b/archives/index.html
index b0f51cd6..51c29fc9 100644
--- a/archives/index.html
+++ b/archives/index.html
@@ -130,14 +130,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
+ <a href="/2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/">
- 二〇二三年八月一日
+ tick thread在Multicore OCaml中的作用
</a>
</div>
- <span class="post-date">Aug 1, 2023</span>
+ <span class="post-date">Aug 15, 2023</span>
</div>
@@ -148,14 +148,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/07/30/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%B8%89%E5%8D%81%E6%97%A5/">
+ <a href="/2023/08/15/poll-error-attribute-in-OCaml/">
- 二零二三年七月三十日
+ 使用 [@poll error] 实现线程安全的数据结构
</a>
</div>
- <span class="post-date">Jul 30, 2023</span>
+ <span class="post-date">Aug 15, 2023</span>
</div>
@@ -166,14 +166,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/07/26/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">
- 二〇二三年七月二十六日
+ Typed Design Patterns for the Functional Era
</a>
</div>
- <span class="post-date">Jul 26, 2023</span>
+ <span class="post-date">Aug 15, 2023</span>
</div>
@@ -184,14 +184,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">
+ <a href="/2023/08/01/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AB%E6%9C%88%E4%B8%80%E6%97%A5/">
- 二〇二三年六月二十九日
+ 二〇二三年八月一日
</a>
</div>
- <span class="post-date">Jun 29, 2023</span>
+ <span class="post-date">Aug 1, 2023</span>
</div>
@@ -202,14 +202,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/28/OOP-Visitors%E5%9C%A8Polymorphic%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%94%99%E8%AF%AF/">
+ <a href="/2023/07/30/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%B8%89%E5%8D%81%E6%97%A5/">
- OOP Visitors在Polymorphic情况下的类型错误
+ 二零二三年七月三十日
</a>
</div>
- <span class="post-date">Jun 28, 2023</span>
+ <span class="post-date">Jul 30, 2023</span>
</div>
@@ -220,14 +220,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/28/%E9%9A%90%E8%97%8F%E4%B8%80%E4%BA%9BOCaml-Effect%E7%9A%84%E6%9C%BA%E5%88%B6%EF%BC%8C%E8%AE%A9%E5%85%B6%E8%AF%AD%E6%B3%95%E5%9C%A8%E7%B2%BE%E7%A5%9E%E4%B8%8A%E6%9B%B4%E6%8E%A5%E8%BF%91delimcc/">
+ <a href="/2023/07/26/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%83%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
- 隐藏一些OCaml Effect的机制,让其语法在精神上更接近delimcc
+ 二〇二三年七月二十六日
</a>
</div>
- <span class="post-date">Jun 28, 2023</span>
+ <span class="post-date">Jul 26, 2023</span>
</div>
@@ -238,14 +238,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/28/caml-release-runtime-system%E5%AF%BC%E8%87%B4%E7%9A%84%E6%AD%BB%E9%94%81%E9%97%AE%E9%A2%98/">
+ <a href="/2023/06/29/%E4%BA%8C%E3%80%87%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B9%9D%E6%97%A5/">
- caml_release_runtime_system导致的死锁问题
+ 二〇二三年六月二十九日
</a>
</div>
- <span class="post-date">Jun 28, 2023</span>
+ <span class="post-date">Jun 29, 2023</span>
</div>
@@ -256,14 +256,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/22/%E7%81%AF%E7%AC%BC%E8%8D%89/">
+ <a href="/2023/06/28/OOP-Visitors%E5%9C%A8Polymorphic%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%94%99%E8%AF%AF/">
- 灯笼草
+ OOP Visitors在Polymorphic情况下的类型错误
</a>
</div>
- <span class="post-date">Jun 22, 2023</span>
+ <span class="post-date">Jun 28, 2023</span>
</div>
@@ -274,14 +274,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/17/%E5%8F%91%E7%83%AD%E5%8F%8A%E8%B6%85%E9%AB%98%E7%83%AD%E5%8D%B1%E8%B1%A1/">
+ <a href="/2023/06/28/%E9%9A%90%E8%97%8F%E4%B8%80%E4%BA%9BOCaml-Effect%E7%9A%84%E6%9C%BA%E5%88%B6%EF%BC%8C%E8%AE%A9%E5%85%B6%E8%AF%AD%E6%B3%95%E5%9C%A8%E7%B2%BE%E7%A5%9E%E4%B8%8A%E6%9B%B4%E6%8E%A5%E8%BF%91delimcc/">
- 发热及超高热危象
+ 隐藏一些OCaml Effect的机制,让其语法在精神上更接近delimcc
</a>
</div>
- <span class="post-date">Jun 17, 2023</span>
+ <span class="post-date">Jun 28, 2023</span>
</div>
@@ -292,14 +292,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/06/10/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E5%8D%81%E6%97%A5/">
+ <a href="/2023/06/28/caml-release-runtime-system%E5%AF%BC%E8%87%B4%E7%9A%84%E6%AD%BB%E9%94%81%E9%97%AE%E9%A2%98/">
- 二零二三年六月十日
+ caml_release_runtime_system导致的死锁问题
</a>
</div>
- <span class="post-date">Jun 10, 2023</span>
+ <span class="post-date">Jun 28, 2023</span>
</div>
@@ -308,7 +308,7 @@
<div class=paginator>
<div class="h-line-primary"></div>
<nav class="pagination">
- <span class="page-number current">1</span><a class="page-number" href="/archives/page/2/">2</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/4/">4</a>
+ <span class="page-number current">1</span><a class="page-number" href="/archives/page/2/">2</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/5/">5</a>
</nav>
</div>
diff --git a/archives/page/2/index.html b/archives/page/2/index.html
index b8140026..870d19b2 100644
--- a/archives/page/2/index.html
+++ b/archives/page/2/index.html
@@ -130,14 +130,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/04/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
+ <a href="/2023/06/22/%E7%81%AF%E7%AC%BC%E8%8D%89/">
- 二零二三年四月二十五日
+ 灯笼草
</a>
</div>
- <span class="post-date">Apr 25, 2023</span>
+ <span class="post-date">Jun 22, 2023</span>
</div>
@@ -148,14 +148,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/04/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
+ <a href="/2023/06/17/%E5%8F%91%E7%83%AD%E5%8F%8A%E8%B6%85%E9%AB%98%E7%83%AD%E5%8D%B1%E8%B1%A1/">
- 二零二三年四月二十二日
+ 发热及超高热危象
</a>
</div>
- <span class="post-date">Apr 22, 2023</span>
+ <span class="post-date">Jun 17, 2023</span>
</div>
@@ -166,14 +166,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/14/%E8%9E%BA%E5%86%85%E9%85%AF%E7%89%87/">
+ <a href="/2023/06/10/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%85%AD%E6%9C%88%E5%8D%81%E6%97%A5/">
- 螺内酯片
+ 二零二三年六月十日
</a>
</div>
- <span class="post-date">Mar 14, 2023</span>
+ <span class="post-date">Jun 10, 2023</span>
</div>
@@ -184,14 +184,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/">
+ <a href="/2023/04/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
- 呋塞米
+ 二零二三年四月二十五日
</a>
</div>
- <span class="post-date">Mar 14, 2023</span>
+ <span class="post-date">Apr 25, 2023</span>
</div>
@@ -202,14 +202,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/">
+ <a href="/2023/04/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E5%9B%9B%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
- 替米沙坦
+ 二零二三年四月二十二日
</a>
</div>
- <span class="post-date">Mar 13, 2023</span>
+ <span class="post-date">Apr 22, 2023</span>
</div>
@@ -220,14 +220,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/05/%E5%A5%A5%E5%8F%B8%E4%BB%96%E9%9F%A6/">
+ <a href="/2023/03/14/%E8%9E%BA%E5%86%85%E9%85%AF%E7%89%87/">
- 奥司他韦
+ 螺内酯片
</a>
</div>
- <span class="post-date">Mar 5, 2023</span>
+ <span class="post-date">Mar 14, 2023</span>
</div>
@@ -238,14 +238,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/04/%E9%87%91%E5%8C%AE%E8%A6%81%E7%95%A5/">
+ <a href="/2023/03/14/%E5%91%8B%E5%A1%9E%E7%B1%B3/">
- 金匮要略
+ 呋塞米
</a>
</div>
- <span class="post-date">Mar 4, 2023</span>
+ <span class="post-date">Mar 14, 2023</span>
</div>
@@ -256,14 +256,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/01/%E6%B0%94%E8%83%B8/">
+ <a href="/2023/03/13/%E6%9B%BF%E7%B1%B3%E6%B2%99%E5%9D%A6/">
- 气胸
+ 替米沙坦
</a>
</div>
- <span class="post-date">Mar 1, 2023</span>
+ <span class="post-date">Mar 13, 2023</span>
</div>
@@ -274,14 +274,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/03/01/%E7%BA%AF%E7%89%9B%E5%A5%B6%E5%8F%AF%E4%BB%A5%E5%8A%A0%E7%82%B9%E5%95%A5/">
+ <a href="/2023/03/05/%E5%A5%A5%E5%8F%B8%E4%BB%96%E9%9F%A6/">
- 纯牛奶可以加点啥
+ 奥司他韦
</a>
</div>
- <span class="post-date">Mar 1, 2023</span>
+ <span class="post-date">Mar 5, 2023</span>
</div>
@@ -292,14 +292,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+ <a href="/2023/03/04/%E9%87%91%E5%8C%AE%E8%A6%81%E7%95%A5/">
- 二零二三年二月二十六日
+ 金匮要略
</a>
</div>
- <span class="post-date">Feb 26, 2023</span>
+ <span class="post-date">Mar 4, 2023</span>
</div>
@@ -308,7 +308,7 @@
<div class=paginator>
<div class="h-line-primary"></div>
<nav class="pagination">
- <a class="page-number" href="/archives/">1</a><span class="page-number current">2</span><a class="page-number" href="/archives/page/3/">3</a><a class="page-number" href="/archives/page/4/">4</a>
+ <a class="page-number" href="/archives/">1</a><span class="page-number current">2</span><a class="page-number" href="/archives/page/3/">3</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/5/">5</a>
</nav>
</div>
diff --git a/archives/page/3/index.html b/archives/page/3/index.html
index 19558e2b..f425e105 100644
--- a/archives/page/3/index.html
+++ b/archives/page/3/index.html
@@ -130,14 +130,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
+ <a href="/2023/03/01/%E6%B0%94%E8%83%B8/">
- 二零二三年二月二十五日
+ 气胸
</a>
</div>
- <span class="post-date">Feb 25, 2023</span>
+ <span class="post-date">Mar 1, 2023</span>
</div>
@@ -148,14 +148,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/24/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%9B%9B%E6%97%A5/">
+ <a href="/2023/03/01/%E7%BA%AF%E7%89%9B%E5%A5%B6%E5%8F%AF%E4%BB%A5%E5%8A%A0%E7%82%B9%E5%95%A5/">
- 二零二三年二月二十四日
+ 纯牛奶可以加点啥
</a>
</div>
- <span class="post-date">Feb 24, 2023</span>
+ <span class="post-date">Mar 1, 2023</span>
</div>
@@ -166,14 +166,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
+ <a href="/2023/02/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
- 二零二三年二月二十二日
+ 二零二三年二月二十六日
</a>
</div>
- <span class="post-date">Feb 22, 2023</span>
+ <span class="post-date">Feb 26, 2023</span>
</div>
@@ -184,14 +184,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/02/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E6%97%A5/">
+ <a href="/2023/02/25/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%94%E6%97%A5/">
- 二零二三年二月二日
+ 二零二三年二月二十五日
</a>
</div>
- <span class="post-date">Feb 2, 2023</span>
+ <span class="post-date">Feb 25, 2023</span>
</div>
@@ -202,14 +202,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/02/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/">
+ <a href="/2023/02/24/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%9B%9B%E6%97%A5/">
- 二零二三年二月一日
+ 二零二三年二月二十四日
</a>
</div>
- <span class="post-date">Feb 1, 2023</span>
+ <span class="post-date">Feb 24, 2023</span>
</div>
@@ -220,14 +220,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2023/01/21/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%80%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%80%E6%97%A5/">
+ <a href="/2023/02/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
- 二零二三年一月二十一日
+ 二零二三年二月二十二日
</a>
</div>
- <span class="post-date">Jan 21, 2023</span>
+ <span class="post-date">Feb 22, 2023</span>
</div>
@@ -235,19 +235,17 @@
- <div class="year-title">2022</div>
-
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/12/31/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%89%E5%8D%81%E4%B8%80%E6%97%A5/">
+ <a href="/2023/02/02/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%BA%8C%E6%97%A5/">
- 二零二二年十二月三十一日
+ 二零二三年二月二日
</a>
</div>
- <span class="post-date">Dec 31, 2022</span>
+ <span class="post-date">Feb 2, 2023</span>
</div>
@@ -258,14 +256,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/11/03/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E6%9C%88%E4%B8%89%E6%97%A5/">
+ <a href="/2023/02/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%BA%8C%E6%9C%88%E4%B8%80%E6%97%A5/">
- 二零二二年十一月月三日
+ 二零二三年二月一日
</a>
</div>
- <span class="post-date">Nov 3, 2022</span>
+ <span class="post-date">Feb 1, 2023</span>
</div>
@@ -276,14 +274,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/10/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E6%9C%88%E4%B8%80%E6%97%A5/">
+ <a href="/2023/01/21/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%89%E5%B9%B4%E4%B8%80%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%80%E6%97%A5/">
- 二零二二年十月一日
+ 二零二三年一月二十一日
</a>
</div>
- <span class="post-date">Oct 1, 2022</span>
+ <span class="post-date">Jan 21, 2023</span>
</div>
@@ -291,17 +289,19 @@
+ <div class="year-title">2022</div>
+
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/09/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E4%B9%9D%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
+ <a href="/2022/12/31/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B8%89%E5%8D%81%E4%B8%80%E6%97%A5/">
- 二零二二年九月二十二日
+ 二零二二年十二月三十一日
</a>
</div>
- <span class="post-date">Sep 22, 2022</span>
+ <span class="post-date">Dec 31, 2022</span>
</div>
@@ -310,7 +310,7 @@
<div class=paginator>
<div class="h-line-primary"></div>
<nav class="pagination">
- <a class="page-number" href="/archives/">1</a><a class="page-number" href="/archives/page/2/">2</a><span class="page-number current">3</span><a class="page-number" href="/archives/page/4/">4</a>
+ <a class="page-number" href="/archives/">1</a><a class="page-number" href="/archives/page/2/">2</a><span class="page-number current">3</span><a class="page-number" href="/archives/page/4/">4</a><a class="page-number" href="/archives/page/5/">5</a>
</nav>
</div>
diff --git a/archives/page/4/index.html b/archives/page/4/index.html
index c15e5184..31de8c56 100644
--- a/archives/page/4/index.html
+++ b/archives/page/4/index.html
@@ -130,14 +130,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/08/21/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%85%AB%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%80%E6%97%A5/">
+ <a href="/2022/11/03/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E4%B8%80%E6%9C%88%E6%9C%88%E4%B8%89%E6%97%A5/">
- 二零二二年八月二十一日
+ 二零二二年十一月月三日
</a>
</div>
- <span class="post-date">Aug 21, 2022</span>
+ <span class="post-date">Nov 3, 2022</span>
</div>
@@ -148,14 +148,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/03/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E4%B8%89%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/">
+ <a href="/2022/10/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%8D%81%E6%9C%88%E4%B8%80%E6%97%A5/">
- 二零二二年三月十四日
+ 二零二二年十月一日
</a>
</div>
- <span class="post-date">Mar 14, 2022</span>
+ <span class="post-date">Oct 1, 2022</span>
</div>
@@ -166,14 +166,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2022/01/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E4%B8%80%E6%9C%88%E4%B8%80%E6%97%A5/">
+ <a href="/2022/09/22/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E4%B9%9D%E6%9C%88%E4%BA%8C%E5%8D%81%E4%BA%8C%E6%97%A5/">
- 二零二二年一月一日
+ 二零二二年九月二十二日
</a>
</div>
- <span class="post-date">Jan 1, 2022</span>
+ <span class="post-date">Sep 22, 2022</span>
</div>
@@ -181,19 +181,17 @@
- <div class="year-title">2021</div>
-
<div class="post-list-item">
<div class="post-title">
- <a href="/2021/03/27/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">
+ <a href="/2022/08/21/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E5%85%AB%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%80%E6%97%A5/">
- 二零二一年三月二十七日
+ 二零二二年八月二十一日
</a>
</div>
- <span class="post-date">Mar 27, 2021</span>
+ <span class="post-date">Aug 21, 2022</span>
</div>
@@ -204,14 +202,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2021/03/15/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E5%8D%81%E4%BA%94%E6%97%A5/">
+ <a href="/2022/03/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E4%B8%89%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/">
- 二零二一年三月十五日
+ 二零二二年三月十四日
</a>
</div>
- <span class="post-date">Mar 15, 2021</span>
+ <span class="post-date">Mar 14, 2022</span>
</div>
@@ -222,14 +220,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2021/02/16/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%85%AD%E6%97%A5/">
+ <a href="/2022/01/01/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%BA%8C%E5%B9%B4%E4%B8%80%E6%9C%88%E4%B8%80%E6%97%A5/">
- 二零二一年二月十六日
+ 二零二二年一月一日
</a>
</div>
- <span class="post-date">Feb 16, 2021</span>
+ <span class="post-date">Jan 1, 2022</span>
</div>
@@ -237,17 +235,19 @@
+ <div class="year-title">2021</div>
+
<div class="post-list-item">
<div class="post-title">
- <a href="/2021/02/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/">
+ <a href="/2021/03/27/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E4%BA%8C%E5%8D%81%E4%B8%83%E6%97%A5/">
- 二零二一年二月十四日
+ 二零二一年三月二十七日
</a>
</div>
- <span class="post-date">Feb 14, 2021</span>
+ <span class="post-date">Mar 27, 2021</span>
</div>
@@ -255,19 +255,17 @@
- <div class="year-title">2020</div>
-
<div class="post-list-item">
<div class="post-title">
- <a href="/2020/12/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E9%9B%B6%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+ <a href="/2021/03/15/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%B8%89%E6%9C%88%E5%8D%81%E4%BA%94%E6%97%A5/">
- 二零二零年十二月二十六日
+ 二零二一年三月十五日
</a>
</div>
- <span class="post-date">Dec 26, 2020</span>
+ <span class="post-date">Mar 15, 2021</span>
</div>
@@ -278,14 +276,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2020/12/09/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E9%9B%B6%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B9%9D%E6%97%A5/">
+ <a href="/2021/02/16/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%85%AD%E6%97%A5/">
- 二零二零年十二月九日
+ 二零二一年二月十六日
</a>
</div>
- <span class="post-date">Dec 9, 2020</span>
+ <span class="post-date">Feb 16, 2021</span>
</div>
@@ -296,14 +294,14 @@
<div class="post-list-item">
<div class="post-title">
- <a href="/2020/12/08/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E9%9B%B6%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E5%85%AB%E6%97%A5/">
+ <a href="/2021/02/14/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E4%B8%80%E5%B9%B4%E4%BA%8C%E6%9C%88%E5%8D%81%E5%9B%9B%E6%97%A5/">
- 二零二零年十二月八日
+ 二零二一年二月十四日
</a>
</div>
- <span class="post-date">Dec 8, 2020</span>
+ <span class="post-date">Feb 14, 2021</span>
</div>
@@ -312,7 +310,7 @@
<div class=paginator>
<div class="h-line-primary"></div>
<nav class="pagination">
- <a class="page-number" href="/archives/">1</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/3/">3</a><span class="page-number current">4</span>
+ <a class="page-number" href="/archives/">1</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/3/">3</a><span class="page-number current">4</span><a class="page-number" href="/archives/page/5/">5</a>
</nav>
</div>
diff --git a/archives/page/5/index.html b/archives/page/5/index.html
new file mode 100644
index 00000000..35aa1bf6
--- /dev/null
+++ b/archives/page/5/index.html
@@ -0,0 +1,215 @@
+<!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>Archive | 暮秋小屋</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="/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">
+ <div class="post-list">
+
+
+
+
+
+
+ <div class="year-title">2020</div>
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2020/12/26/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E9%9B%B6%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%BA%8C%E5%8D%81%E5%85%AD%E6%97%A5/">
+
+ 二零二零年十二月二十六日
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 26, 2020</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2020/12/09/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E9%9B%B6%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E4%B9%9D%E6%97%A5/">
+
+ 二零二零年十二月九日
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 9, 2020</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2020/12/08/%E4%BA%8C%E9%9B%B6%E4%BA%8C%E9%9B%B6%E5%B9%B4%E5%8D%81%E4%BA%8C%E6%9C%88%E5%85%AB%E6%97%A5/">
+
+ 二零二零年十二月八日
+
+ </a>
+ </div>
+
+ <span class="post-date">Dec 8, 2020</span>
+ </div>
+
+
+ <div id="paginator">
+
+ <div class=paginator>
+ <div class="h-line-primary"></div>
+ <nav class="pagination">
+ <a class="page-number" href="/archives/">1</a><span class="space">&hellip;</span><a class="page-number" href="/archives/page/4/">4</a><span class="page-number current">5</span>
+ </nav>
+ </div>
+
+ </div>
+</div>
+
+ </div>
+ </div>
+
+ <div class="footer">
+ <div class="flex-container">
+ <div class="footer-text">
+
+
+ |
+
+
+ 希望路过的人可以添点柴火让这里暖和点
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+
+
+
+ </body>
+</html>
diff --git a/page/5/index.html b/page/5/index.html
new file mode 100644
index 00000000..2721ac77
--- /dev/null
+++ b/page/5/index.html
@@ -0,0 +1,185 @@
+<!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>暮秋小屋</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="/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">
+ <div class="profile">
+ <div class="profile-image">
+
+ <img src="/profile_cover.jpg" alt="featured_image">
+
+ </div>
+ <div class="post-content profile-content">
+ <div class="profile-title">
+ 暮秋小屋
+ </div>
+ <div class="profile-body">
+ 这里是暮秋小屋,思念和灵感的寄存处
+ </div>
+
+ <div class="profile-link">
+ <a href="/archives/">归档</a>
+ </div>
+
+ <div class="profile-link">
+ <a href="/tags/Technique/">计算机科学</a>
+ </div>
+
+ <div class="profile-link">
+ <a href="/tags/Medicine/">医学</a>
+ </div>
+
+ <div class="profile-link">
+ <a href="/tags/Life/">生活</a>
+ </div>
+
+ <div class="profile-link">
+ <a href="/categories/gallery/">日记本</a>
+ </div>
+
+ <div class="profile-link">
+ <a href="/about">关于我</a>
+ </div>
+
+ </div>
+
+</div>
+ </div>
+ </div>
+
+ <div class="footer">
+ <div class="flex-container">
+ <div class="footer-text">
+
+
+ |
+
+
+ 希望路过的人可以添点柴火让这里暖和点
+
+ </div>
+ </div>
+</div>
+
+ </div>
+
+
+
+
+ </body>
+</html>
diff --git a/tags/OCaml/index.html b/tags/OCaml/index.html
index 463af888..3cce34bc 100644
--- a/tags/OCaml/index.html
+++ b/tags/OCaml/index.html
@@ -137,6 +137,60 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/">
+
+ tick thread在Multicore OCaml中的作用
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/08/15/poll-error-attribute-in-OCaml/">
+
+ 使用 [@poll error] 实现线程安全的数据结构
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">
+
+ Typed Design Patterns for the Functional Era
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/06/28/OOP-Visitors%E5%9C%A8Polymorphic%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%94%99%E8%AF%AF/">
OOP Visitors在Polymorphic情况下的类型错误
diff --git a/tags/Technique/index.html b/tags/Technique/index.html
index af21e990..1ae251ee 100644
--- a/tags/Technique/index.html
+++ b/tags/Technique/index.html
@@ -137,6 +137,60 @@
<div class="post-list-item">
<div class="post-title">
+ <a href="/2023/08/15/tick-thread%E5%9C%A8Multicore-OCaml%E4%B8%AD%E7%9A%84%E4%BD%9C%E7%94%A8/">
+
+ tick thread在Multicore OCaml中的作用
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/08/15/poll-error-attribute-in-OCaml/">
+
+ 使用 [@poll error] 实现线程安全的数据结构
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
+ <a href="/2023/08/15/Typed-Design-Patterns-for-the-Functional-Era/">
+
+ Typed Design Patterns for the Functional Era
+
+ </a>
+ </div>
+
+ <span class="post-date">Aug 15, 2023</span>
+ </div>
+
+
+
+
+
+
+
+ <div class="post-list-item">
+ <div class="post-title">
<a href="/2023/06/28/OOP-Visitors%E5%9C%A8Polymorphic%E6%83%85%E5%86%B5%E4%B8%8B%E7%9A%84%E7%B1%BB%E5%9E%8B%E9%94%99%E8%AF%AF/">
OOP Visitors在Polymorphic情况下的类型错误