zoukankan      html  css  js  c++  java
  • 函数式编程

    培训笔记:课程一 

    开场:

    • 思维定势造成的障碍,推到从来
    • 一以贯之,敏变应需:如何做到?
    • 以心转境(哲理、数理、技理)
    • 专注!!!!!

    要学什么:

    学习List,要List干嘛?

    两个,第一C;第二个SCHEME;

    需要精读的书

    SICP  ,《计算机程序的结构与解析》

    DRAGON,《编译原理》

    HACKERDOM(黑客需要技能,层层深入)

    1、计算的本质:搞懂这个最好用(SCHEME),RACKET就是该语言是实现;

    2、系统程序设计语言:C/C++;

    3、计算机的体系机构:汇编;

    4、数据结构与算法;

    5、计算机程序的结构与解析:设计一个解析器;

    6、编译原理;DRAGON(呼应计算的本质)

    7、电路原理;从数学角度对物理进行抽象;

    8、信号的分析与综合:DA AD Z变换;

    9、硬件描述语言:HDL(呼应6段,DRAGON);

    学习方法(一以贯之):

    PM:

    Pan-system

    Methodology

    PM3

    3、泛关系:万物充分、万事关系;泛转化:转化形式很多,研究事物之间相互联系、相互推导、相互促进、相互制约;泛对称:广义对程性,如a=b,a-b=0;可计算的函数也是对称性;

    PM5

    建模:

    5、可观察、充分、客观性建模;

    PM6:

    6、方法论、数学、逻辑、系统科学、本体论/存在论、价值观(这6点是PM356中的6统一);

    PM123:

    1、PM1:6统一的背景、刻度论的工具(测度、尺度);

    2、PM2:形式语言、可能世界的逻辑(作任何事情都是在可能逻辑里面的,不要逃离逻辑,例如做永动机);

    3、PM3:1、集合论;2、图论;3、矩阵论;

    培训笔记:课程二

    计算的本质: 

    六句话:

    识局整、判形影、辩异同、排次序、显运转、度生克 

    形影关系:

    点是形,在坐标轴中分解为x,y就是影;

    集合

    元素与集合:隶属关系(区别与识局整:分清楚整体和局部的关系)

    集合的运算;

    学会从集合的语言角度看待世界的关系表;

    偶对关系怎么做?

    (cons 1 2)

    ->(1,2)

    利用集合的包含关系做,去模拟序

    列表用集合的嵌套去做;

    把两个不相干的做成关系,转化;叶子与锯子;

    等价关系,商化系统

    等价聚类、离散数据、

    等价:

    定义-> 自反关系(刻画存在性):对称关系(a是b的配偶、b也是a的配偶):传递关系

    等价关系才有等价聚类;

    排序:

    全序集合、偏序集合、良序集合(有头元素的well order)

    代码

    (cons 1 2)

    (define p (cons 1 2))

      (car p)

    Lisp 符号表:define 函数就是在符号表加入函数:如

    p

    `(1.2)

    如果再运行:(define p (cons 3 4))

    P(会被gc回收)

    `(1.2)

    p

    `(3.4)

    如果用set : (set p 100)

    则变为:

    P(会被gc回收)

    `(1.2)

    p

    100

    而函数式编程是没有副作用的,不会设置值

    点集拓扑学 - >lambda演算 -> 

    点集拓扑学

    ICEB:internal   closure external boundary

    闭包(closure);

    拓扑空间在一定情况下会变成度量空间

    培训笔记:课程三

    函数是一等公民

    概念

    函数式编程:Immutable  Pure function  State  Concurrency Component Testing Deploy

    函数是低等对象:1、可命名;2、可返回;3、可传递;4、可组新的exp

    可返回

    ((lambda (g)

    (g 3) f)

    可以用closure(闭包)模仿OOP

    例如:case-lambda

    stack

    stack frame

    1、incoming

    2、returned value

    3、local state

    4、intermediate

    5、func link

    6、data link

    7、stored machine

    C语言

    没有动态链和数据链,lips和c不同,运行时栈框结构是不动的,c是针对堆栈,而lips是针对结构表,才会有链条。

    高阶函数

    EVAL

    (eval express env)

    ALLPY

    (apply + `(1 2 3 4))

    Map

    无副作用

    For-each

    具有副作用

  • 相关阅读:
    codevs1074 食物链
    Zjnu Stadium(加权并查集)
    加权并查集(银河英雄传说,Cube Stacking)
    Candies
    SPFA(热浪)
    trie树模板(统计难题)
    你有多久没有看过星星
    欧拉通路、回路
    exkmp
    Number Sequence (HDU 1711)
  • 原文地址:https://www.cnblogs.com/iCanhua/p/9039301.html
Copyright © 2011-2022 走看看