编程范式23 笔记

来源:互联网 发布:大数据分析建模 编辑:程序博客网 时间:2024/06/06 02:23

memory model

> '(1 2 3)

有一个1 2 3的链表 返回首地址

>(define seq '(1 2 3))>(car seq)1>(cdr seq)//跳到指针域2 3>(cons '(1 2 3)'(4 5 6))

cons的memory model
cons的memory model

指向数据域两次的list
这里写图片描述

((lambda(x)(cons x x))'(1 2))

泛型map

>(map car '((1 2)(3 4)(5 6 7)))(1 3 5)>(map + '(1 2)'(10 20)'(100 400))(111 422)
(define (unary-map fn seq)    (if(null?seq)()        (cons(fn(car seq))            (unary-map fn                (cdr sq)))))
(define (mymap fn first-list . other-lists)    (if(null?first-list)'()        (cons (apply fn                (cons (car first-list)                        (unary-map car                            other-lists)))
原创粉丝点击