Lambda-[sjjf] examples of weekly classes in salted eggs Village

Source: Internet
Author: User

Sjjf (190223605) 22:54:12
C. If M is an item and X is a variable, λ x. m is also an item-function Abstraction
That is, the function definition. It can be considered that the function body is m and the parameter is X
Sjjf (190223605) 22:54:49
D. Only the symbolic strings defined by these Rules are also items.
Sjjf (190223605) 22:54:57
This is the lambda syntax
Taobaoxiong (116455762) 22:55:30
It's a waste. The book "What is mathematics" is not ......
Sjjf (190223605) 22:56:02
There is no difference between (Mn) and (m n ).
Wufeng shouli Jian (510857) 22:56:11
Bored
Pathological perfectionist (29129842) 22:56:16
Roger
Sweet potato (27815917) 22:57:49
Call, I think whatever the syntax is similar to this.
Wufeng shouli Jian (510857) 22:58:21
 
Sjjf (190223605) 22:58:44
2. Alpha Transformation: Input X. M = input Y. M [x/y]
Sweet potato (27815917) 22:58:53
Knife chaser
Pathological perfectionist (29129842) 22:59:11
Lambda Y. M [x/y]
Calm and calm (316246197) 23:00:51
Http://blog.sina.com.cn/s/blog_4aa1dcb9010009uz.html
Sjjf (190223605) 23:00:52
In this section, X is a constraint variable in the input x. M,
Replace X with Y to obtain another equivalent formula.
Input Y. M [x/y]
Sweet potato (27815917) 23:02:17
X/Y' is not an expression.
Sjjf (190223605) 23:02:24
Well, that's the blog.
Sjjf (190223605) 23:02:30
Said
Wufeng shouli Jian (510857) 23:03:49
Not understand
Lala windmill (272884316) 23:03:51
What does x/y mean? Replace?
Sjjf (190223605) 23:04:06
Y is used to replace X.
Sjjf (190223605) 23:04:50
The Alpha transform means only simple symbolic transformations,
Used to differentiate constraints and free Variables
Lala windmill (272884316) 23:05:08
X. M = m (X)
Y. M = m (y )?
Sjjf (190223605) 23:05:27
In fact, if you are strong enough, you can see it clearly.
Scope of each variable
Sjjf (190223605) 23:05:44
Then there is no need for Alpha transformation.
Wufeng shouli Jian (510857) 23:06:59
 
Cainiao-C. Y. (56165009) 23:06:59
Well, JJ continues...
Sjjf (190223605) 23:07:20
This is an Alpha transformation,
Next, we changed to Beta.
Sjjf (190223605) 23:07:31
Oh, it's not a transformation.
Sjjf (190223605) 23:07:34
Yesprotocol
Wufeng shouli Jian (510857) 23:07:59
Transformers
Pathological perfectionist (29129842) 23:08:01
Alpha specification?
Sjjf (190223605) 23:08:11
Alpha transformation, beta Specification
Cainiao-C. Y. (56165009) 23:09:15
It seems to be a little close to that JS.
What is the lambda syntax used by JS?
Sjjf (190223605) 23:09:35
=. You can understand the Javascript closure later.
Sjjf (190223605) 23:09:47
Not yet
Pathological perfectionist (29129842) 23:09:54
The only thing that is "smarter" than me is Cy--B
Sjjf (190223605) 23:10:09
If you understand it in advance, you can ..
Sjjf (190223605) 23:10:43
Okay. Let's take a look at the beta protocol.
Sjjf (190223605) 23:10:57
Do you choose to read the blog, or should I try again?
Almost all
Wufeng shouli Jian (510857) 23:11:19
Withdrawal
Cainiao-C. Y. (56165009) 23:11:20
Reject long viewing
Sjjf (190223605) 23:11:59
The Beta protocol is simple, that is, function call.
Pathological perfectionist (29129842) 23:12:14
Enter the blog address.
Sjjf (190223605) 23:12:45
We have
Cainiao-C. Y. (56165009) 23:12:55
Http://blog.sina.com.cn/s/blog_4aa1dcb9010009uz.html
Pathological perfectionist (29129842) 23:12:59
Just now? OK
Sjjf (190223605) 23:14:58
λ x. m) n indicates M [x/n].
Sjjf (190223605) 23:15:19
(λ x. m) n indicates M [x/n].
Sjjf (190223605) 23:16:10
It means to express the meaning of (m n,
Replace N with M.

Cainiao-C. Y. (56165009) 23:16:29
Well

Sjjf (190223605) 23:16:59
The Statute is very simple, but it is indeed the most important
Sjjf (190223605) 23:17:06
There are several policies for the Statute
Sjjf (190223605) 23:17:44
For a complex expression, you can obtain a simple
Expression
Cainiao-C. Y. (56165009) 23:18:02
Is it just a function call? That is, it can be understood as the transfer of input real parameters to the form parameters?
Sjjf (190223605) 23:18:04
The first protocol policy is full beta protocol.

Sjjf (190223605) 23:18:50
You can understand it that way, but do not think of programming now, you should think

F (x) = 2 * x
If X = 3 is, it can be set to 6.
Cainiao-C. Y. (56165009) 23:19:27
Oh
Sjjf (190223605) 23:19:36
Go back to the full beta protocol, which means
The protocol can be made in any place, that is, there is no rule.
Sjjf (190223605) 23:20:16
Policy 2: standard order specification
On the leftmost side, the outer side is always the first criterion.
Cainiao-C. Y. (56165009) 23:20:35
No rules
Sjjf (190223605) 23:21:25
Policy 3: Call by name
The internal abstraction protocol is not allowed.

Cainiao-C. Y. (56165009) 23:23:19
What is abstract internal?
Sjjf (190223605) 23:23:20
Fourth strategy: Call the Protocol by value
Only the Statement of the outermost layer can be normalized, and the statement can be performed only when the right side of the statement has been normalized to a value.
Sjjf (190223605) 23:24:18
Input X. M
Sjjf (190223605) 23:24:26
It is called function abstraction.
Cainiao-C. Y. (56165009) 23:24:37
Oh ..
Sjjf (190223605) 23:26:02
C seems to call the Protocol policy by value
Cainiao-C. Y. (56165009) 23:26:28
Well, what about JS?
Sjjf (190223605) 23:26:53
Therefore, the C language cannot implement the Javascript closure just now (I'm not sure)
Cainiao-C. Y. (56165009) 23:27:11
Oh, I don't know what conventions are used in C language either.

Cainiao-C. Y. (56165009) 23:31:20
JJ is eager to know what protocol JS uses.
Sjjf (190223605) 23:31:28
Now let's take a look.
<Script language = "JavaScript">
<! --
VaR AA = function (e ){
Return function (p ){
Alert (E + "-" + p );
};
};
AA ("ABC") ("Ef ");
// -->
</SCRIPT>
And
Abstract form
Input. X in. Y x

Sjjf (190223605) 23:32:18
JS uses the name-based call protocol.
Cainiao-C. Y. (56165009) 23:33:11
Internal abstraction Conventions are not allowed.
That is, the function body cannot be used internally?
Pathological perfectionist (29129842) 23:33:24
Evil ..
Sjjf (190223605) 23:34:36
Input. X in. Y x means
After we pass in the first parameter "ABC", the Protocol gets an entry. y m
After EF is passed in, the entry. y m is normalized to obtain the final result.

Sjjf (190223605) 23:35:52
Looking back at the definition of the lisp community: closure is a technology used to represent a process with free Variables
Cainiao-C. Y. (56165009) 23:36:03
By .....
Sjjf (190223605) 23:36:18
Do you understand this definition?
Sjjf (190223605) 23:36:28
Through the above analysis, do you understand this definition?
Pathological perfectionist (29129842) 23:36:58
So the lisp defun corresponding to the "Function Definition" in procedural programming is a process of binding a Lambda expression to a name?
Sjjf (190223605) 23:37:14
Well, I don't know LISP
Pathological perfectionist (29129842) 23:37:17
..
Sjjf (190223605) 23:37:39
I just saw
<Http://blog.csdn.net/g9yuayon/archive/2007/04/18/1568980.aspx>
Sjjf (190223605) 23:37:56
As mentioned in this article, I started to think about it.
Sjjf (190223605) 23:38:18
Found the source of the original closure
Sjjf (190223605) 23:38:24
Is LISP
Pathological perfectionist (29129842) 23:38:35
(Defun call-make (& optional target)
(OPS ))
This is a simple lisp function definition.
Pathological perfectionist (29129842) 23:39:07
Defun is the keyword, call-make is the function name, target is the form parameter, and optional is the modifier of target
The last list (OPS) is the corresponding function body.
Pathological perfectionist (29129842) 23:39:22
See if JJ can match the lambda concept you know.
Sjjf (190223605) 23:39:43
Input. x m

Sjjf (190223605) 23:40:09
By the way, multiple parameters
Sjjf (190223605) 23:40:21
Pure Lambda has only one parameter
Cainiao-C. Y. (56165009) 23:40:40
There is only one parameter?
Sjjf (190223605) 23:40:55
However, multiple parameters can be achieved through curry transformation.
Sjjf (190223605) 23:41:47
For example, if you input. X into. Y x, you can use the table to implement the f (x, y) method.
Cainiao-C. Y. (56165009) 23:42:07
Is this a parameter?
Pathological perfectionist (29129842) 23:43:38
λ. x λ. Y x has only one free variable.
Cainiao-C. Y. (56165009) 23:44:47
For input. y X, X is a free variable.
Sjjf (190223605) 23:45:06
=, I think
Sjjf (190223605) 23:45:30
Let's look at the curry transformation. I didn't write this part in my notes, because it was too simple at the time.
Sjjf (190223605) 23:47:56
Baboons can correspond
Pathological perfectionist (29129842) 23:48:07
Please
Sjjf (190223605) 23:48:36
Define a specific function first.
Pathological perfectionist (29129842) 23:48:53
OK
Cainiao-C. Y. (56165009) 23:48:58
Didn't I have one?
Sjjf (190223605) 23:49:07
If you use that model, I can only use. x m.
Sjjf (190223605) 23:49:32
I know what baboons want.
Cainiao-C. Y. (56165009) 23:49:33
Pathological perfectionist (29129842) 23:38:35
(Defun call-make (& optional target)
(OPS ))
This is a simple lisp function definition.
Pathological perfectionist (29129842) 23:49:48
(Defun build ()
(Compile "make-K all tags "))
Sjjf (190223605) 23:50:09
Pathological perfectionist (29129842) 23:38:35
(Defun call-make (& optional target)
(OPS ))
This is a simple lisp function definition.

Sjjf (190223605) 23:49:08
If you use that model, I can only use. x m.
Pathological perfectionist (29129842) 23:50:16
Simply define a build function without parameters to call the elisp pre-defined function compile. The parameter "make-K all tags"
Cainiao-C. Y. (56165009) 23:50:44
No parameter?
Sjjf (190223605) 23:50:48
Well, I know what you want to do. Now, let's start to learn more about lambda.
Cainiao-C. Y. (56165009) 23:50:52
Oh, I got it wrong.
Pathological perfectionist (29129842) 23:51:22
Call-make is equivalent to call-make = pai.tar get (OPTs?
Sjjf (190223605) 23:51:27
=
Pathological perfectionist (29129842) 23:52:02
I know that defun is used to bind a Lambda expression to a name. The name is the first parameter of defun, And then it should be the lambda expression.
Sjjf (190223605) 23:52:06
Input. x m n
N = make-k...
M = compile
Pathological perfectionist (29129842) 23:52:31
Input. x m n
N = make-k...
M = compile

This is build (), huh?
Cainiao-C. Y. (56165009) 23:52:47
.. JJ God

Sjjf (190223605) 23:53:03
Yes
Sjjf (190223605) 23:53:20
By the way, I missed something that hasn't fooled you.
Waves (284165841) 23:53:23
Dizzy call...
Pathological perfectionist (29129842) 23:53:33
Two constraint variables ..
Sjjf (190223605) 23:53:40
 
Sjjf (190223605) 23:53:47
This is my summary.
Sjjf (190223605) 23:53:58
Not necessarily true. It can be used together.
Pathological perfectionist (29129842) 23:53:58
What is X of your λ. x m n?
Sjjf (190223605) 23:54:10
No Parameter
Sjjf (190223605) 23:54:25
You can understand that M does not contain X.
Pathological perfectionist (29129842) 23:54:31
Ft
Sjjf (190223605) 23:54:50
You can use void instead of parameters in the compiler.
Sjjf (190223605) 23:55:17
I know what you want
Sjjf (190223605) 23:55:29
Start the second phase of flickering
Pathological perfectionist (29129842) 23:55:38
I should find this discrete mathematics to make up my knowledge ......
Sjjf (190223605) 23:56:15
You know the operation is a function.
Cainiao-C. Y. (56165009) 23:56:20
I have a book in my house, N long ago .. What about the little bear math?
Sjjf (190223605) 23:56:44
But what if you know that numbers can also be expressed using functions?
Pathological perfectionist (29129842) 23:56:50
...
Pathological perfectionist (29129842) 23:56:54
A function that returns constants.
Pathological perfectionist (29129842) 23:56:59
Object secrets
Cainiao-C. Y. (56165009) 23:57:03
 
Pathological perfectionist (29129842) 23:57:03
One of effiel concepts
Sjjf (190223605) 23:57:06
In fact, Lambda does not have constants and does not have the concept of numbers.
Sjjf (190223605) 23:57:34
The so-called number has been abstracted as a function.
Cainiao-C. Y. (56165009) 23:57:45
All are λ. x m n?
Sjjf (190223605) 23:57:49
Yes
Taobaoxiong (116455762) 23:57:58
Fail in mathematics!
Sjjf (190223605) 23:58:00
For example, bool Value

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.