Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

P ҉r ҉o ҉g ҉

Name: C ҉hallenge! 2013-02-19 2:41

1. Implement a homomorphic encryption function for beta reduction
50 points

2. Implement said scheme in a compiler for your favorite language
30 points

3. Create an anonymous peer to peer secure grid computing framework
20 points

Due date: before your death.

Name: Anonymous 2013-02-19 4:25

ffs look at this...

For example, suppose we have an expression such as

\x y -> 2*x*x + y

and we change this to

\a b -> 2*a*a + b

This is clearly the same function, even though it uses different variable names. This process of renaming variables is alpha conversion.
Note that alpha conversion is not as simple as it first seems. We must be careful to avoid name capture. For example, if we rename
x
to
y
in
\x -> x + y
then we end up with
\y -> y + y
, which is not the same function!

next

For example, suppose we apply the function

(\x -> 2*x*x + y)

to the value
7
. To calculate the result, we substitute
7
for every free occurrence of
x
, and so the application of the function

(\x -> 2*x*x + y)(7)

is reduced to the result

2*7*7 + y

This is a beta reduction.

next

An eta conversion (also written η-conversion) is adding or dropping of abstraction over a function. For example, the following two values are equivalent under η-conversion:

\x -> abs x

and

abs

Converting from the first to the second would constitute an eta reduction, and moving from the second to the first would be an eta abstraction. The term 'eta conversion' can refer to the process in either direction.

next

A lambda abstraction is another name for an anonymous function. It gets its name from the usual notation for writing it: for example, \lambda x \to x^2. (Another common, equivalent notation is: \lambda x . \ x^2.)

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List