diff options
| author | muqiuhan <[email protected]> | 2023-06-17 06:48:33 +0000 |
|---|---|---|
| committer | muqiuhan <[email protected]> | 2023-06-17 06:48:33 +0000 |
| commit | 6fd9bd44c96d4cbd89760f6c2d9b6fabe77979b4 (patch) | |
| tree | a98326e0a7cc31c301e7faf32e25b673667e049d /2023/06 | |
| parent | 803373c48d9a342ba6f672c70ccffce8ee307004 (diff) | |
| download | blog-6fd9bd44c96d4cbd89760f6c2d9b6fabe77979b4.tar.gz | |
deploy: 61fa12169ded766fa41bef446cd2b50b55d1e0f4
Diffstat (limited to '2023/06')
| -rw-r--r-- | 2023/06/11/OCaml_News_20230611/index.html | 5 | ||||
| -rw-r--r-- | 2023/06/17/Programming_Language_Concepts_1/index.html | 250 |
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> |
