首页 > 其他分享 >ELisp学习

ELisp学习

时间:2024-11-01 19:08:47浏览次数:1  
标签:读取 Lisp ELisp 学习 编译 变量 表达式 指针

一. 前言 Lisp语言

Lisp诞生的时候包含了9中新思想,其中一些被用于其他高级语言,我们已经习以为常,至今还有2种是Lisp独有的。

  1. 条件结构 (即if-else结构),在Fortran 1时只有基于底层机器指令实现的goto结构。
  2. 函数也是一种数据类型 Lisp语言中,函数跟整数和字符串一样,属于数据类型的一种,有自己的字面表示形式(literal representation),能存储在变量中,也能当作参数传递。
  3. 支持递归
  4. 变量的动态类型 ,所有变量实际上都是指针,所指向的值有类型之分,而变量本身没有,赋值或绑定变量都相当于复制指针,而不是复制他们指向的数据。
  5. 垃圾回收机制
  6. 程序由表达式组成,Lisp程序是一些表达式树的集合,每个表达式返回一个值,大多数后来的程序都由表达式和语句组成。
  7. 符号类型,符号实际上是一种指针,指向存储在散列表中的字符串,所以比较两个符号是否相等,只需看其指针是否一样即可,而不用逐个字符比较。
  8. 代码使用符号和常量组成的树形表示法
  9. 无论什么时候整个语言都是高度可用的,Lisp不真正区分读取期,编译期和运行期,可以在读取期编译或运行代码,也可在编译期读取或运行代码,或在运行期读取和编译代码

若程序语句看起来像数据,则其很容易作为其他数据的输入

标签:读取,Lisp,ELisp,学习,编译,变量,表达式,指针
From: https://www.cnblogs.com/sgqmax/p/18521089

相关文章

  • 如何学习 C 语言
    #如何学习C语言在探索如何学习C语言的旅程中,关键步骤包括理解语言基础、实践编程技巧、熟悉标准库、掌握数据结构与算法、以及参与项目实战。首先,深入理解C语言的基础是至关重要的,它不仅包括语法规则和基本数据类型,还涉及指针、内存管理等高级概念。实践编程技巧是学习过程......
  • SQL 语法学习
    在当今数字化的时代,数据的管理和分析变得至关重要。而SQL(StructuredQueryLanguage),即结构化查询语言,作为一种用于管理关系型数据库的强大工具,掌握它对于从事数据相关工作的人来说是一项必备技能。在本文中,我将分享我在学习SQL语法过程中的经验、心得和体会。一、SQL简介......
  • rust学习五、认识所有权
    在<<Therustprogramminglanguage>>的中译版<<rust权威指南>>中,作者用了30页的篇幅来阐述这个问题。如作者所言,所有权是学习rust语言的基础,不掌握这个,无需继续往下,所以,这是初学rust就必须会的。 正是所有权概念和相关工具的引入,Rust才能够在没有垃圾回收机制的前提下保障内......
  • 学习笔记(二十二):ArkTS语言-空安全
    概述:默认情况下,ArkTS中的所有类型都是不可为空的,因此类型的值不能为空。这类似于TypeScript的严格空值检查模式(strictNullChecks),但规则更严格letx:number=null;//编译时错误lety:string=null;//编译时错误letz:number[]=null;//编译时错误可以为......
  • 学习笔记(二十):ArkTS语言-函数
    一、函数声明包含其名称、参数列表、返回类型和函数体functiongetName(defaultName:string):string{returndefaultName==='Alice'?defaultName:"Tom"} 二、可选参数格式可为name?:TypefunctiongetName(defaultName?:string):string{returndefaultName==null......
  • gem5 学习一 —— gem5简介
    前言最近由于工作需要,我开始学习[gem5](gem5:Thegem5simulatorsystem)模拟器。gem5模拟器是一款模块化的计算机系统架构平台,可用于研究系统级架构、处理器微架构。gem5是一个开源平台,最初是为学术界的计算机体系结构研究而构想的,目前已经发展为学术界、工业研究和教学中......
  • 【机器人学导论】简明学习笔记2.1——空间描述和变换(1/2)
    主要参考学习资料:《机器人学导论(第4版)》JohnJ.Craig著台大机器人学之运动学——林沛群(本文插图来自该课程课件)本章前置知识:矢量和矩阵的四则运算-单位矩阵-转置矩阵-逆矩阵-正交矩阵码字不易,求点赞收藏(´•ω•̥`)有问题欢迎评论区讨论~目录空间描述和变换描......
  • 基于springboot的Java学习论坛平台
    基于springboot的Java学习论坛平台摘要在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括学习平台的网络应用,在外国学习平台已经是很普遍的方式,不过国内的管理平台可能还处于起步阶段。学习平台具有学习信息管理功能的选择。学习平台采用java技术......
  • 学习笔记(十九):ArkTS语言基本知识
    一、声明变量letname:string="";name="Alice"如果一个变量或常量的声明包含了初始值,那么开发者就不需要显式指定其类型。ArkTS规范中列举了所有允许自动推断类型的场景。letname="Alice";二、声明常量constname:string="Alice";三、Union类型类型联合类......
  • 学习threejs,导入OBJ格式和MTL的格式的模型
    ......