Lisp-1和Lisp-2
2015-10-20 00:00
260 查看
摘要: 这两个概念经常记不住,所以写一个小Blog,纪录下。
Lisp-1
Lisp-1所指的模型是,变量和函数的命名空间是同一个,没有区分。Scheme和Clojure是采用这种命名空间,绝大部分当现代的计算机语言也是使用该方案,包括C语言。
这段代码是无法通过编译的。
Lisp-2
Lisp-2使用的是,变量和函数命名空间分离的方式,区别对待函数和变量名字。CommonLisp就是采用这种命名空间方案。
Lisp-1
Lisp-1所指的模型是,变量和函数的命名空间是同一个,没有区分。Scheme和Clojure是采用这种命名空间,绝大部分当现代的计算机语言也是使用该方案,包括C语言。#include<stdio.h> #include<string.h> int a = 1; int a() { return 2; } int main() { int *p = &a; return 0; }
这段代码是无法通过编译的。
Lisp-2
Lisp-2使用的是,变量和函数命名空间分离的方式,区别对待函数和变量名字。CommonLisp就是采用这种命名空间方案。
相关文章推荐
- C++命名空间实例解析
- php命名空间学习详解
- JavaScript创建命名空间的5种写法
- Javascript学习笔记之函数篇(六) : 作用域与命名空间
- c# 命名空间和程序集
- 理运用命名空间让js不产生冲突避免全局变量的泛滥
- PHP 5.3新特性命名空间规则解析及高级功能
- .aspx中的命名空间设置实现代码
- javascript 类和命名空间的模拟代码
- javascript 命名空间以提高代码重用性
- java 命名空间 命名规则第1/2页
- js关于命名空间的函数实例
- C#命名空间与java包的区别分析
- thinkphp autoload 命名空间自定义 namespace
- PHP中的命名空间相关概念浅析
- PHP命名空间(namespace)的使用基础及示例
- PHP中的命名空间详细介绍
- 关于JavaScript命名空间的一些心得
- JS模块与命名空间的介绍
- javascript实现相同事件名称,不同命名空间的调用方法