首页 > 其他分享 >Scheme 语法备忘录

Scheme 语法备忘录

时间:2023-11-12 14:00:30浏览次数:39  
标签:cons nil 语法 备忘录 cond suite Scheme

  1. 定义变量或函数:语法 (define <name> <value>)
  2. 运算符:加减乘正常,除法 quotient,取模 remainder;语法 (+ a b)
  3. 数学运算:平方根 sprt,乘方 expt,自然对数 log,三角函数 sin, cos,tan, asin, acos等;
  4. 布尔值:#t #f;
  5. 条件语句:if 句语法 if <condition> <suite-1> <suite-2>,为真执行 suite-1,为假执行 suite-2;cond 句语法为
    cond
    	<condition-1> <suite-1>
    	<condition-2> <suite-2>
    	<condition-3> <suite-3>
    ...
    
    不同于 switch,cond 会判断每一个条件;如果 conditions 全为简单变量,可以用 case 代替 cond;
  6. 数据结构:用 cons 建立 Pair 表示树形结构,必须以 nil 结束,语法为 (cons 1 (cons 2 (cons 3 nil)));用 car 取首元素,用 cdr 取除了首元素外的其他元素;
  7. quote:用 ' 标记的表达式不计算值,只返回字面内容,'(1 2 3) 返回一个 list;
  8. 内建函数:参考该网页
  9. lambda 表达式:语法 (lambda <parameter list> <body>)

标签:cons,nil,语法,备忘录,cond,suite,Scheme
From: https://www.cnblogs.com/th19/p/17827094.html

相关文章

  • 无涯教程-Dart - 基本语法
    语法定义了一组编写程序的规则。让我们从传统的"HelloLearnfk"示例开始-main(){print("HelloLearnfk!");}main()  - 函数是Dart中的预定义方法,此方法充当应用程序的入口点,Dart脚本需要main()方法才能执行。 print()  - 是预定义的函数,可将指定的......
  • Markdown语法
    Markdown的创建者编写的原始指南 DaringFireball:Markdown 本文主要摘自: Markdown语法速查表|Markdown官方教程基本语法标题几个#就几级标题,最多可以一直到六级标题#H1一级标题##H2二级标题###H3三级标题示例:#一级标题##二级标题###三级标题####四......
  • 规范LR(1)语法分析表
    前面已经实现了SLR语法分析表,但是可能会出现即使语法不是二义性文法,也存在移入/规约冲突状态i包含项[A->α],当状态i出现在栈顶时,栈中的可行前缀时βα且在任何最后句型中a都不可能跟在βA之后,那么当输入a时不应该A->α进行规约为了解决这个问题,引入更强大的构造语法分析......
  • 【4.0】Go语言语法基础之函数
    【一】函数基础【1】语法func关键字函数名(形参1形参1的类型,形参2形参2的类型)(返回值类型){函数体(函数体的内容和缩进无关,只要是在大括号内,都是函数体内容)}在Python中需要先定义函数再使用在Go中不需要先定义再使用funcmain(){}【2】无参数无返回值......
  • 【3.0】Go语言语法初识之变量
    【零】注释语法注释就是对代码的解释和说明,其目的就是让人们更加轻松的了解代码。注释是开发人员的一个重要的习惯。单行注释使用//开头多行注释使用/*开头*/结尾//package定义包名main包名packagemain//import引用库fmt库名import"fmt"//func定......
  • Shell中的for与while循环结构语法
    1for循环语法结构如下:for变量名in值1值2值3        #值的数量决定循环任务的次数do命令序列done1.1for循环的基本语法格式#编写脚本,进行测试[root@localhostopt]#vimfor01.sh#!/bin/bashforiinabcdoecho"helloworld"done[root@loca......
  • C语言入门:基本语法
    如果你刚刚接触到C语言,而且感到自己写不出代码,别灰心,这是正常的学习过程。学习编程是一个渐进的过程,不要急于求成。通过不断的实践和学习,你会发现编程变得越来越容易。当你刚开始学习C语言时,最好从一个简单的"Hello,World!"程序开始,这是学习任何编程语言的传统入门方式。以下是一......
  • Carbon Trading Scheme——One of China’s Innovative Strategies for Addressing Gl
    IntroductionChina,astheworld’slargestemitterofgreenhousegases,recognizestheurgentneedtotackletheglobalwarmingproblem.Overtheyears,Chinahasimplementedarangeofpoliciesandinitiativesaimedatmitigatingglobalwarming,suchas......
  • MySql与SQLServer数据库基础语法差异;
    1.应用Native工具将数据同步,将数据库结构和同步到MySql。视图、存储过程、函数手动创建。 2.移除数据所有数据查询的数据框架标识"dbo"; 3.MySQL中IFNULL用法,用法与SQLServer中ISNULL(expr1,expr2)用法相似.,而MySql中isnull()的返回值为1,否则返回值为0; 4.sqlserver的识别符......
  • C++中的语法知识虚继承和虚基类
    多继承(MultipleInheritance)是指从多个直接基类中产生派生类的能力,多继承的派生类继承了所有父类的成员。尽管概念上非常简单,但是多个基类的相互交织可能会带来错综复杂的设计问题,命名冲突就是不可回避的一个。多继承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成......