summaryrefslogtreecommitdiff
path: root/2023/06
diff options
context:
space:
mode:
authormuqiuhan <[email protected]>2023-06-17 06:48:33 +0000
committermuqiuhan <[email protected]>2023-06-17 06:48:33 +0000
commit6fd9bd44c96d4cbd89760f6c2d9b6fabe77979b4 (patch)
treea98326e0a7cc31c301e7faf32e25b673667e049d /2023/06
parent803373c48d9a342ba6f672c70ccffce8ee307004 (diff)
downloadblog-6fd9bd44c96d4cbd89760f6c2d9b6fabe77979b4.tar.gz
deploy: 61fa12169ded766fa41bef446cd2b50b55d1e0f4
Diffstat (limited to '2023/06')
-rw-r--r--2023/06/11/OCaml_News_20230611/index.html5
-rw-r--r--2023/06/17/Programming_Language_Concepts_1/index.html250
2 files changed, 255 insertions, 0 deletions
diff --git a/2023/06/11/OCaml_News_20230611/index.html b/2023/06/11/OCaml_News_20230611/index.html
index da0b569e..2574373d 100644
--- a/2023/06/11/OCaml_News_20230611/index.html
+++ b/2023/06/11/OCaml_News_20230611/index.html
@@ -253,6 +253,11 @@
<nav class="post-nav">
<div class="prev-item">
+ <div class="icon arrow-left"></div>
+ <div class="post-link">
+ <a href="/2023/06/17/Programming_Language_Concepts_1/">Prev</a>
+ </div>
+
</div>
<div class="next-item">
diff --git a/2023/06/17/Programming_Language_Concepts_1/index.html b/2023/06/17/Programming_Language_Concepts_1/index.html
new file mode 100644
index 00000000..a094b3b6
--- /dev/null
+++ b/2023/06/17/Programming_Language_Concepts_1/index.html
@@ -0,0 +1,250 @@
+<!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>Programming Language Concepts Reading Notes | 暮秋小屋</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/Technique/">
+ Technique
+ </a>
+ </span>
+
+ <span class="post-tag">
+ <a href="/tags/F/">
+ F#
+ </a>
+ </span>
+
+ <span class="post-tag">
+ <a href="/tags/PL/">
+ PL
+ </a>
+ </span>
+
+
+ </div>
+ <div class="post-title">
+
+
+ Programming Language Concepts Reading Notes
+
+
+ </div>
+ <span class="post-date">
+ Jun 17, 2023
+ </span>
+ </div>
+ <div class="post-img">
+
+ <div class="h-line-primary"></div>
+
+ </div>
+</div>
+ <div class="post-content">
+ <h1 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h1><blockquote>
+<p>how to represent arithmetic expressions and other program fragments as data structures in F# as well as Java, and how to compute with such program fragments. We also introduce various basic concepts of programming languages.</p>
+</blockquote>
+<h2 id="Syntax-and-Semantics"><a href="#Syntax-and-Semantics" class="headerlink" title="Syntax and Semantics"></a>Syntax and Semantics</h2><p>What does this (well-formed) program mean, how does it behave—what happens when we execute it?</p>
+<ul>
+<li>One may distinguish two kinds of syntax<ol>
+<li>By concrete syntax we mean the representation of a program as a text.</li>
+<li>By abstract syntax we mean the representation of a programs as a tree or by an object structure.</li>
+</ol>
+</li>
+<li>One may distinguish two kinds of semantics<ol>
+<li>Dynamic semantics concerns the meaning or effect of a program at run-time.</li>
+<li>Static semantics roughly concerns the compile-time correctness of the program (are variables declared, is the program well-typed, and so on)</li>
+</ol>
+</li>
+</ul>
+<p>Static semantics can be checked without executing the program, and may be enforced by closedness checks (type checks, type inference, and more…).</p>
+<p>In the conditional expression <code>if e1 then e2 else e3</code>, the interpreter might start by testing whether expressions e2 and e3 are syntactically identical, in which case there is no need to evaluate e1, only e2 (or e3). Although possible, <strong>this shortcut is rarely useful</strong>.</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/06/11/OCaml_News_20230611/">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>