Site-32
GitHub
PL
Design
DSL
Fiction
Others
Backup
Site-32
Contents:
Site-32 Considered Harmful
Compiler
Design
General Programming In Julia Language From An Advanced Standpoint
First-Class
Polymorphisms of Multiple Dispatch
Full-Featured Macros
Macro, the Function from AST to AST
Scope and Hygiene
Other Useful Knowledge for Julia Macros
A Big Step Forward in AST Manipulations
Limitation: Absence of Function Types
Some Thoughts About The Restrain JIT
Research: Review and Observations of Python JIT
History
Observations
My Comments about PEP 622(V1)
My Concerns
Scoping Issues
Comments about the rejection of AND (&) patterns
Consider Performance: Guards As Patterns
Grammar Change & Feature Request: Parameterized Patterns
An Alternative
__match__
Protocol Can be Better in Simplicity, Efficiency, and Expressivity.
Simplicity of the alternative
__match__
protocol
The alternative
__match__
protocol is efficient
The alternative
__match__
protocol results in better expressivity
Miscellaneous
else
Clauses in Pattern Matching
Grammar of Patterns Could Become That of Expressions
PEP 622(V2)
Bringing
else
Back is Rejected
Variables in Patterns: Bindings instead of Evaluations and Comparisons
Alternative
__match__
Protocol
The Switch Semantics
Scope
Miscellaneous
DSL
Write You A Query Language
Definition of Syntaxes
Codegen Target
Refinement of Codegen: Typed Columns
Implementation
Enjoy You A Query Language
Fiction
2021年4月
2020年10月
2020年6月
2020年4月
2019年10月
日前安排
目录
Smarter Witnesses for Type Classes
Notation
Instance Resolution & Variables As Instances
“The Most General Instance” Problem & “Overlapping Instance” Problem
优化
该算法和相应语言设计的好处
不足之处
我和Python的故事
第0节
第1节: 科学计算, Python, 生物信息学和数据挖掘
第2节: 转型的经过, 走向程序语言设计领域
第3节: 想要给Python添加高级语言特性的理想
第4节: Flowpython
第4节: BNF, Parser Generator和语言制造机器
杂谈
PyCon China 2019 成都
直面自己的人格缺陷
杂谈
我太难了
我太懂了
打通
Parsing
Python 字节码
Tagless Final in F#
Encoding Typeclass Default Methods in Purescript
近期规划
Purescript-Python
从表达式优先到语句优先: ANF变换
Python虚拟机上的First-class的表达式优先
社区意见
如何写出令人感到幸福的小说
合理利用“无敌”元素
“纯爱”而非“后宫”
细腻的画面感
节奏流畅的回忆
暗线和潜台词
总结
乐理菜鸡怎么给自己的小说写BGM?
找调
打谱
总结
Programming Language
Higher Kinded Types
Type Classes
About Abstractions
About Separation of Type Definitions and Data Manipulations
Paper Reading: Lightweight-Higher-Kinded-Polymorphism
How-To
Static Resolution: More polymorphic
Limitation1: Much Higher Kinded
Limitation2: Identity
Why this Lightweight-Higher-Polymorphism instead of the Haskell approach
Compelling Higher Kinded Types and Type Classes in F#
Active Pattern
Statically Resolved Type Parameters
The
getsig
Function and Implicits
Why AbstractClass?
Why
Functor<’F>
instead of the straightforward
Functor
References and Further Reading
FSYM: An Abstraction On Tagless-Final Style To Compositing And Decoupling Multiple Interpretations
Terminology
Background
Introduction
Application
Scoping: Name Resolution
Typing: Type Inference
References
Tagless Final For Writing Compilers
Problem
Tagless Final For Compiler Phases
Quick Start for Tagless Final
“Grammar”
Expanding Representation
Problems of Decoupling and Compositing
FSYM
Laziness, for Mutual Dependencies
Example
Julia Counts for PL Researchers
Expressiveness
Staging
Advantages as a codegen backend
First-class Pattern Matching in the Final Approach
Core Ideas
Full implementation in Haskell
Enhancement 1
Julia Benefits from Tagless Final
What Happened Today?
An Example Turns Out to be Type Unstable
Tagless Final Encoding about Above Code
Some Use Cases for Higher Rank Polymorphisms(No Monad)
Polymorphic Functions for eDSL
Existential Types
Manipulation for Heterogeneous Data
Backup
高观点下的Julia泛用编程
Others
Thautwarm’s Open Source Contributions
Projects Owned By Other Individuals/Organizations
Leading Projects
Other Notable Personal Projects
Subsections
Compiler
Compiler
¶