南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)01_Introduction(主讲:冯新宇)Formal Semantics of Programming Languages

Formal Semantics of Prog.Lang. -ntroduction Xinyu Feng(冯新宇) Nanjing University Acknowledgments:some slides are taken from Zhong Shao's slides for Yale Formal Semantics class
Formal Semantics of Prog. Lang. – Introduction Xinyu Feng (冯新宇) Nanjing University Acknowledgments: some slides are taken from Zhong Shao’s slides for Yale Formal Semantics class

Programming Languages A fundamental field in computer science -As classic as OS and Architectures ·SOSP:1967;ISCA:1973;POPL:1973 Old,but still very active Many important research problems New languages keep showing up Rust,Go,Scala,F#,R,Matlab,tensorflow,P4,.. Formal Semantics of Prog.Lang. 09/07/2018
Programming Languages • A fundamental field in computer science – As classic as OS and Architectures • SOSP: 1967;ISCA: 1973;POPL: 1973 • Old, but still very active – Many important research problems – New languages keep showing up • Rust, Go, Scala, F#, R, Matlab, tensorflow, P4, … Formal Semantics of Prog. Lang. 09/07/2018

Programming Languages Computer Science is no more about computers than astronomy is about telescopes. Edsger W.Dijkstra How about PL then? Formal Semantics of Prog.Lang. 09/07/2018
Programming Languages Formal Semantics of Prog. Lang. 09/07/2018 Computer Science is no more about computers than astronomy is about telescopes. Edsger W. Dijkstra How about PL then?

Programming Languages PL research is broader than designing and implementing new languages.To me,a PL researcher is someone who views the programming language as having a central place in solving computing problems.From this vantage point,PL researchers tend to focus on developing general abstractions,or building blocks,for solving problems,or classes of problems.PL research also considers software behavior in a rigorous and general way, e.g.,to prove that (classes of)programs enjoy properties we want,and/or eschew properties we don't.This approach has proven to be very valuable for solving a wide ranging set of problems. Mike Hick's blog post: What is PL research and how is it useful?-The PL Enthusiast www.pl-enthusiast.net/2015/05/27/what-is-pl-research-and-how-is-it-useful/
Programming Languages What is PL research and how is it useful? - The PL Enthusiast Mike Hick’s blog post: PL research is broader than designing and implementing new languages. To me, a PL researcher is someone who views the programming language as having a central place in solving computing problems. From this vantage point, PL researchers tend to focus on developing general abstractions, or building blocks, for solving problems, or classes of problems. PL research also considers software behavior in a rigorous and general way, e.g., to prove that (classes of) programs enjoy properties we want, and/or eschew properties we don’t. This approach has proven to be very valuable for solving a wide ranging set of problems. www.pl-enthusiast.net/2015/05/27/what-is-pl-research-and-how-is-it-useful/

Formal Semantics To assign mathematical meanings to language contructs programs A scientific way to study PL and programming -“developing general abstractions'” Formal Semantics of Prog.Lang. 09/07/2018
Formal Semantics • To assign mathematical meanings to language contructs & programs • A scientific way to study PL and programming – “developing general abstractions” Formal Semantics of Prog. Lang. 09/07/2018

Abstraction 南京地铁一号线 南京地二号线 南索地铁一号线南延线 十神电宝过 克间于四一计国H许-美 Formal Semantics of Prog.Lang. 09/07/2018
Abstraction Formal Semantics of Prog. Lang. 09/07/2018

Formal Semantics To assign mathematical meanings to language contructs programs A scientific way to study PL and programming -"developing general abstractions" -"considers software behavior in a rigorous and general way" ·More than testing Formal Semantics of Prog.Lang. 09/07/2018
Formal Semantics • To assign mathematical meanings to language contructs & programs • A scientific way to study PL and programming – “developing general abstractions” – “considers software behavior in a rigorous and general way” • More than testing Formal Semantics of Prog. Lang. 09/07/2018

factorial(n c=n; result 1; while (c>1){ result result c; C=c-1; return result; } Is it correct? What do we mean by correctness? Formal Semantics of Prog.Lang 09/07/2018
Formal Semantics of Prog. Lang. 09/07/2018 factorial( n ) { c = n; result = 1; while (c>1) { result = result * c; c = c-1; } return result; } Is it correct? What do we mean by correctness?

factorial(n This isn't right.It's not even wrong. (Wolfgang Pauli) izquotes.com What do we mean by correctness? Formal Semantics of Prog.Lang 09/07/2018
Formal Semantics of Prog. Lang. 09/07/2018 factorial( n ) { c = n; result = 1; while (c>1) { result = result * c; c = c-1; } return result; } Is it correct? What do we mean by correctness?

{n20} factorial(n { c =n; result 1; result n!/c!} while (c>1) resultresult c; C=c-1; } {result=n/c!c=1} return result; } result n! Formal Semantics of Prog.Lang. 09/07/2018
factorial( n ) { c = n; result = 1; while (c>1) { result = result * c; c = c-1; } return result; } Formal Semantics of Prog. Lang. 09/07/2018 { result = n!/c!} { result = n!/c! c=1} { n 0 } { result = n! }
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 私立华联学院:《html5》课程教学资源(课件讲稿)第9章 CSS3高级应用.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第8章 多媒体技术.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第7章 表单的应用.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第6章 浮动与定位.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第5章 CSS盒子模型.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第4章 CSS3选择器.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第3章 CSS3入门.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第2章 HTML5 页面元素及属性.pdf
- 私立华联学院:《html5》课程教学资源(课件讲稿)第1章 初识HTML5.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)各章习题答案.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第9章 CSS3高级应用_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第8章 多媒体嵌入_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第7章 表单_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第6章 浮动与定位_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第5章 盒子模型_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第4章 CSS3选择器_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第3章 CSS3入门_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第2章 HTML5页面元素及属性_习题.pdf
- 私立华联学院:《html5》课程教学资源(试卷习题)第1章 初识HTML5_习题.pdf
- 私立华联学院:《html5》课程教学资源(教案讲义)电子教案.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)02_CoqOverview.pptx
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)03_Math.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)04_Lambda Calculus.pptx
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)05_Operational Semantics.pdf
- 《程序设计语言的形式语义》课程教学资源(文献资料)Lecture Notes on the Lambda Calculus.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)06_Denotational Semantics.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)07_Axiomatic Semantics and Hoare Logic.pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)Separation Logic(1/3).ppt
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)09_Shared-Variable Concurrency.pdf
- 《程序设计语言的形式语义》课程教学资源(文献资料)An Introduction to Separation Logic(Preliminary Draft).pdf
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)Separation Logic(2/3).ppt
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)Separation Logic(3/3).ppt
- 南京大学:《程序设计语言的形式语义》课程教学资源(课件讲稿)10_Simply-Typed Lambda Calculus.pptx
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)教学大纲.pdf
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)应用案例.pdf
- 私立华联学院:《C语言程序设计》课程教学资源(教案讲义)课程标准(适用专业:物联网应用技术).pdf
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第一章 初识C语言(负责人:周鹏梅).ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第三章 结构化程序设计.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第二章 数据类型与运算符.ppt
- 私立华联学院:《C语言程序设计》课程电子教案(PPT课件)第七章 结构体和共同体.ppt