• Subject: Re: Not / lambda calculus / :)
• From: KHMan <keinhong@...>
• Date: Thu, 29 Nov 2007 11:33:59 +0800

```XenoLiz wrote:
> [snip snip]
> |> > |> > Lua_New:
> |> > |> >     local local_f = function(x,y) return *lambda*(self,
> |> > |> > x)+*lambda*(self, y) end
> |> > |> >     a={ __main=function(x) return *lambda*(self.super,
> |> > |> x.value) end,
> |> > |> > __run=function(x,y) if x>1 then return function(a,b) return
> |> > |> > *lambda:1:*(self, x-1, a) | *lambda:1:*(self, y-1, b) end
> |> > |> return 1/y
> |> > |> > end }
>
> |> Okay, I don't claim to be an expert or anything, and I've never
> |> formally studied lambda calculus. So, anyway...
> |> [snip snip]
>
> It is not LAMBDA trouble, its release trouble only.

Sorry, then perhaps I have misunderstood what you are trying to
put forward. But with the language impedance mismatch (or
translation issue, IIRC), it's hard to conduct a fruitful discussion.

> In current Lua release have 2 type function:
> 	1) a=function(...)... end - w/o SELF(fields)
> 	2) function a:b() end - w SELF(methods)
>
> To use ?2
> 	a ={}
> 	function a:b() return self end
> 	function a:c() return self end
> and anowher (straight) path hasn`t, its Trouble 1
> I can`t test its method or field {type(a.b) == "function", :) I can`t type
> "type(a:b)" },  its Trouble 2
> I can`t type "a.b()", I must type  "a:b()",  its Trouble 3, so it's no big
> problem
>
> If reserve only methods the Lua be simple, regular, so may be more works by
> regs moving.
> In sample use only methods call with self.

I can't really follow the argument, so I'll just let someone else
comment.

> |> As a practical engineer, I sure wouldn't want to maintain code
> |> like the above when I can write it in a more simple way. [snip]
>
> May by. Problems in that You can`t say, what Lua set full. You can say,
> only, what Lua - simple "Markup Language". In's normal?

You misunderstand, I am not talking about Lua. I'm referring to
your example with all the "lambda(self," bits in the above.

> |> Yeah, I guess with a syntax for lambda functions, there is no need
> |> to explicitly name the function in the body. That's one advantage.
>
> In Lua be only lambda functions, its basis of Lua, they everywhere. Main
> chunk -  lambda functions, too :) [snip]

You misunderstand, I am not talking about Lua anonymous functions.
I am talking about the symbol or identifier that is used in a
recursive function to refer to itself.

--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia

```