蠢货别忘(一)common lisp funcall

自定义 cons,car,cdr

 

Scheme 示例:

(define (my_cons x y)

  (lambda (z) (z x y)))

(define (my_car m)

  (m (lambda (p q) p)))

(define (my_cdr m)

  (m (lambda (p q) p)))

 

Common Lisp:

(defun my_cons (x y)

  (lambda (z) (funcall z x y)))

(defun my_ca_dr (m flag)

  (funcall m (lambda (p q)

                     (cond ((= flag 0) p)

                               ((= flag 1) q)))))

(defun my_car (m) (my_ca_dr m 0))

(defun my_cdr (m) (my_ca_dr m 1))

 

提示:

Common Lisp使用函数作为变量后,调用该变量时需要使用 funcall,(funcall 函数名 参数列表)。

 

转载于:https://www.cnblogs.com/qq1144054302/p/10633504.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Leetcode][第35题][JAVA][搜索插入位置][二分法]

【问题描述】[中等] 【解答思路】 二分法 时间复杂度&#xff1a;O(LogN) 空间复杂度&#xff1a;O(1) public class Solution {public int searchInsert(int[] nums, int target) {int len nums.length;if (len 0) {return 0;}// 特判if (nums[len - 1] < target) {re…

数据结构:(6)其他情况的算法分析

最好&#xff0c;最坏,平均复杂度分析 递归算法的时间复杂度分析

树状数组的区间修改+查询

首先看树状数组是用来求前缀和比较方便的一种数据结构 sum[i] Sigma a[i] Sum(bit[x]&#xff09; 而区间修改也不难实现 就是引入一个差分数组del del[i]表示对i~n的修改 这样的话也就是最del[i]求前缀和 就能得到i~n的所有修改了 因为i前的每一个元素的修改都是对后面…

scrapy爬虫系列之五--CrawlSpider的使用

功能点&#xff1a;CrawlSpider的基本使用 爬取网站&#xff1a;保监会 主要代码&#xff1a; cf.py # -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule import reclass CfSpider(CrawlSp…

洛谷P4718 【模板】Pollard-Rho算法

虽然很久以前就听说过PR算法&#xff0c;但前几天第一次打。 首先miller rabin判断素数&#xff0c;不在复杂度瓶颈。 pollard rho倍增环长&#xff0c;复杂度是\(O(n^{\frac{1}{4}} log n)\)的。 然而这样复杂度较高&#xff0c;比较难过加强后的数据。 可以考虑每次倍增时把乘…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第10篇]RSA和强RSA问题有什么区别

这个密码学52件事数学知识的第一篇,也是整个系列的第10篇.这篇介绍了RSA问题和Strong-RSA问题,指出了这两种问题的不同之处. 密码学严重依赖于这样的假设,某些数学问题难以在有限的时间内解决.让我们看公钥(非对称)密码学,这也是这篇文章中我们使用的一个假设----**单向函数(O…

Palindrome subsequence HDU - 4632 区间dp|记忆化搜索

// 区间dpimport java.util.Scanner;/**** author CN*/ public class main {static int mod 10007;static String l;static int[][] dp new int[1010][1010];public static void main(String[] args){// TODO code application logic hereint t;Scanner sc new Scanner(Syst…

课外阅读(通讯技术的发展史)

课外阅读&#xff08;通讯技术的发展史&#xff09; 人们常把有线固定通信和无线移动通信作为信息基础结构&#xff08;NII/GII&#xff09;的两大组成部分。近年来它们都以明显的快速步伐向前推进&#xff0c;而且进入新世纪后将更加快速发展&#xff0c;为兴旺的信息时代作出…

python学习第19天

pass 转载于:https://www.cnblogs.com/heimajia/p/10636469.html

第十三期:你所了解的javascript?

在介绍JavaScript之前&#xff0c;首先让我们来简单了解一下脚本语言。大家知道&#xff0c;HTML通常用于格式化和链接文本&#xff0c;各种编程语言通常用于向机器发出一系列复杂的指令&#xff0c;而脚本语言是介于HTML和C、Java等编程语言之间的语言。脚本语言是一种简单的语…

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第12篇]椭圆曲线上的群理论是什么

这是系列中的第12篇,我们继续数学背景的部分,通过介绍椭圆曲线的群理论… 椭圆曲线群定律是一种在一组椭圆曲线有理点中定义的二元操作来形成一个群的方法.现在,让我们看看到底什么意思,和这个东西怎么用 椭圆曲线和它的有理点 在椭圆曲线中加入群理论 这就是全部了吗 这和密…

python学习第22天

封装 properpty classmathod staticmathod 转载于:https://www.cnblogs.com/heimajia/p/10636515.html

[密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第13篇]概述投影点表达的用途的优点

这是52密码学系列中第13篇,我们继续数学背景部分,通过概述投影点表达的使用和优点. TLDR - 在椭圆曲线点上的翻倍和加法操作需要一个域取逆和几个乘法操作.我们考虑域K(特征值既不是2也不是3).给定K上的一个逆运算是比乘法更花费时间的,因此用投影点坐标去计算这些操作是更有效…

第七期:Python 从入门到精通:一个月就够了!

Python 从入门到精通&#xff1a;一个月就够了&#xff01; 对于许多未曾涉足计算机编程的领域「小白」来说&#xff0c;深入地掌握 Python 看似是一件十分困难的事。其实&#xff0c;只要掌握了科学的学习方法并制定了合理的学习计划&#xff0c;Python 从 入门到精通只需要一…

[Leetcode][第97题][JAVA][交错字符串][BFS][动态规划]

【问题描述】[中等] 【解答思路】 1. 动态规划 第 1 步&#xff1a;设计状态 f(i,j) 表示 s 1的前 i个元素和 s2 的前 j个元素是否能交错组成 s3的前 i j 个元素 第 2 步&#xff1a;状态转移方程 p i j - 1 p为s3的长度 第 3 步&#xff1a;考虑初始化 boolean[][] f …

关于Windows下的访问控制模型

在探索Windows操作系统的过程中&#xff0c;发现很多有意思 的东西。 Windows下的访问控制模型也是我在Github上浏览代码时&#xff0c;无意中发现的。 项目地址 https://github.com/Krutonium/Windows-10-Login-Background-Changer 当我们登陆Windows操作系统时&#xff0c;系…

第八期:继美商务部拉黑多家中国公司后,MIT开始审查对华AI合作项目

10 月 9 日&#xff0c;美国麻省理工学院&#xff08;MIT&#xff09;表示&#xff0c;将审查学校与商汤科技&#xff08;SenseTime Group Ltd.&#xff09;的关系&#xff0c;包括一些可能涉及出口管制法规的项目。 北京时间 10 月 8 日&#xff0c;美国商务部正式公布了新一批…

Schrödinger's Knapsack ZOJ - 4019 线性DP

题意&#xff1a;有背包容量为c 给出两个数串 表示两种不同的物品 从物品中任意选多个数 价值是背包剩余空间*选择元素所属数串的系数 问 最大价值分析: 表面上看起来是个背包题 但是空间太大导致不能背 这里发现先放空间小的换来的价值大 所以我们应该先把两个数串排序 然后…

python学习笔记(十 三)、网络编程

最近心情有点儿浮躁&#xff0c;难以静下心来 Python提供了强大的网络编程支持&#xff0c;很多库实现了常见的网络协议以及基于这些协议的抽象层&#xff0c;让你能够专注于程序的逻辑&#xff0c;而无需关心通过线路来传输比特的问题。 1 几个网络模块 1.1 模块socket 网络编…