[patch] Lambda with closure (Re: Got E121: Undefined variable in lambda function)

2016-07-29 Fir de Conversatie Ken Takata
Hi, 2016/7/29 Fri 20:29:33 UTC+9 Ken Takata wrote: > > > > Sorry, that was confusing. I rearranged the patches: > > > > > > > > 1. Lambda with capture-by-value: > > > > > > > > https://bitbucket.org/k_takata/vim-ktakata-mq/src/9a62b8ce9304e1c0f78c70d524c1d8d8a8015cc7/lambda-capture_by_value.p

Re: Got E121: Undefined variable in lambda function

2016-07-29 Fir de Conversatie Ken Takata
Hi, 2016/7/29 Fri 4:21:20 UTC+9 Bram Moolenaar wrote: > Ken Takata wrote: > > > 2016/7/28 Thu 7:06:31 UTC+9 Ken Takata wrote: > > > Hi, > > > > > > 2016/7/28 Thu 0:57:53 UTC+9 Bram Moolenaar wrote: > > > > Ken Takata wrote: > > > > > > > > > 2016/7/25 Mon 23:02:25 UTC+9 Ken Takata wrote: > > >

Re: Got E121: Undefined variable in lambda function

2016-07-28 Fir de Conversatie Bram Moolenaar
Ken Takata wrote: > 2016/7/28 Thu 7:06:31 UTC+9 Ken Takata wrote: > > Hi, > > > > 2016/7/28 Thu 0:57:53 UTC+9 Bram Moolenaar wrote: > > > Ken Takata wrote: > > > > > > > 2016/7/25 Mon 23:02:25 UTC+9 Ken Takata wrote: > > > > > Hi, > > > > > > > > > > 2016/7/25 Mon 3:47:51 UTC+9 Ken Takata wrot

Re: Got E121: Undefined variable in lambda function

2016-07-28 Fir de Conversatie Ken Takata
Hi, 2016/7/28 Thu 7:06:31 UTC+9 Ken Takata wrote: > Hi, > > 2016/7/28 Thu 0:57:53 UTC+9 Bram Moolenaar wrote: > > Ken Takata wrote: > > > > > 2016/7/25 Mon 23:02:25 UTC+9 Ken Takata wrote: > > > > Hi, > > > > > > > > 2016/7/25 Mon 3:47:51 UTC+9 Ken Takata wrote: > > > > > Hi, > > > > > > > > >

Re: Got E121: Undefined variable in lambda function

2016-07-27 Fir de Conversatie Ken Takata
Hi, 2016/7/28 Thu 0:57:53 UTC+9 Bram Moolenaar wrote: > Ken Takata wrote: > > > 2016/7/25 Mon 23:02:25 UTC+9 Ken Takata wrote: > > > Hi, > > > > > > 2016/7/25 Mon 3:47:51 UTC+9 Ken Takata wrote: > > > > Hi, > > > > > > > > 2016/7/22 Fri 22:29:33 UTC+9 Ken Takata wrote: > > > > > Hi ZyX, > > > >

Re: Got E121: Undefined variable in lambda function

2016-07-27 Fir de Conversatie Bram Moolenaar
Ken Takata wrote: > 2016/7/25 Mon 23:02:25 UTC+9 Ken Takata wrote: > > Hi, > > > > 2016/7/25 Mon 3:47:51 UTC+9 Ken Takata wrote: > > > Hi, > > > > > > 2016/7/22 Fri 22:29:33 UTC+9 Ken Takata wrote: > > > > Hi ZyX, > > > > > > > > 2016/7/22 Fri 20:15:33 UTC+9 ZyX wrote: > > > > > >> I was wrong

Re: Got E121: Undefined variable in lambda function

2016-07-27 Fir de Conversatie Ken Takata
Hi, 2016/7/25 Mon 23:02:25 UTC+9 Ken Takata wrote: > Hi, > > 2016/7/25 Mon 3:47:51 UTC+9 Ken Takata wrote: > > Hi, > > > > 2016/7/22 Fri 22:29:33 UTC+9 Ken Takata wrote: > > > Hi ZyX, > > > > > > 2016/7/22 Fri 20:15:33 UTC+9 ZyX wrote: > > > > >> I was wrong regarding the consequences and why y

Re: Got E121: Undefined variable in lambda function

2016-07-25 Fir de Conversatie Ken Takata
Hi, 2016/7/25 Mon 3:47:51 UTC+9 Ken Takata wrote: > Hi, > > 2016/7/22 Fri 22:29:33 UTC+9 Ken Takata wrote: > > Hi ZyX, > > > > 2016/7/22 Fri 20:15:33 UTC+9 ZyX wrote: > > > >> I was wrong regarding the consequences and why you should alter the > > > >> GC: it is not memory leak because cycle is

Re: Got E121: Undefined variable in lambda function

2016-07-24 Fir de Conversatie Ken Takata
Hi, 2016/7/22 Fri 22:29:33 UTC+9 Ken Takata wrote: > Hi ZyX, > > 2016/7/22 Fri 20:15:33 UTC+9 ZyX wrote: > > >> I was wrong regarding the consequences and why you should alter the > > >> GC: it is not memory leak because cycle is not GC’d. It is *crash* > > >> because Vim does not know that dicti

Re: Got E121: Undefined variable in lambda function

2016-07-22 Fir de Conversatie Ken Takata
Hi ZyX, 2016/7/22 Fri 20:15:33 UTC+9 ZyX wrote: > >> I was wrong regarding the consequences and why you should alter the > >> GC: it is not memory leak because cycle is not GC’d. It is *crash* > >> because Vim does not know that dictionary is referenced: > >> > >> ```VimL > >> function F() > >>

Re: Got E121: Undefined variable in lambda function

2016-07-22 Fir de Conversatie Nikolay Aleksandrovich Pavlov
2016-07-22 14:12 GMT+03:00 Nikolay Aleksandrovich Pavlov : > 2016-07-22 14:09 GMT+03:00 Nikolay Aleksandrovich Pavlov : >> 2016-07-20 21:23 GMT+03:00 Ken Takata : >>> Hi, >>> >>> 2016/7/19 Tue 23:18:30 UTC+9 ZyX wrote: 2016-07-19 17:15 GMT+03:00 Nikolay Aleksandrovich Pavlov : > 201

Re: Got E121: Undefined variable in lambda function

2016-07-22 Fir de Conversatie Nikolay Aleksandrovich Pavlov
2016-07-22 14:09 GMT+03:00 Nikolay Aleksandrovich Pavlov : > 2016-07-20 21:23 GMT+03:00 Ken Takata : >> Hi, >> >> 2016/7/19 Tue 23:18:30 UTC+9 ZyX wrote: >>> 2016-07-19 17:15 GMT+03:00 Nikolay Aleksandrovich Pavlov >>> : >>> > 2016-07-19 16:46 GMT+03:00 Ken Takata : >>> >> Hi, >>> >> >>> >> 2016/7

Re: Got E121: Undefined variable in lambda function

2016-07-22 Fir de Conversatie Nikolay Aleksandrovich Pavlov
2016-07-20 21:23 GMT+03:00 Ken Takata : > Hi, > > 2016/7/19 Tue 23:18:30 UTC+9 ZyX wrote: >> 2016-07-19 17:15 GMT+03:00 Nikolay Aleksandrovich Pavlov : >> > 2016-07-19 16:46 GMT+03:00 Ken Takata : >> >> Hi, >> >> >> >> 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: >> >>> Hi, >> >>> >> >>> 2016/7/1

Re: Got E121: Undefined variable in lambda function

2016-07-20 Fir de Conversatie Ken Takata
Hi, 2016/7/19 Tue 23:18:30 UTC+9 ZyX wrote: > 2016-07-19 17:15 GMT+03:00 Nikolay Aleksandrovich Pavlov : > > 2016-07-19 16:46 GMT+03:00 Ken Takata : > >> Hi, > >> > >> 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: > >>> Hi, > >>> > >>> 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: > >>> > I additio

Re: Got E121: Undefined variable in lambda function

2016-07-19 Fir de Conversatie Bram Moolenaar
Nikolay Pavlov wrote: [...] > >> The difference is a space between a lambda expression and its arguments. > >> A similar example is here: > >> > >>let x = function('sin') (1) " E15 > >>let x = function('sin')(1) " OK > >> > >> I'm not sure this is intended. > > > > Yes, there should not

Re: Got E121: Undefined variable in lambda function

2016-07-19 Fir de Conversatie Nikolay Aleksandrovich Pavlov
2016-07-19 17:56 GMT+03:00 Bram Moolenaar : > > Ken Takata wrote: > >> 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: >> > Hi, >> > >> > 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: >> > > I additionally submit another test case. >> > > >> > > let Y = {f -> (({x -> f ({y -> x(x)(y)})}) ({x -> f ({y

Re: Got E121: Undefined variable in lambda function

2016-07-19 Fir de Conversatie Bram Moolenaar
Ken Takata wrote: > 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: > > Hi, > > > > 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: > > > I additionally submit another test case. > > > > > > let Y = {f -> (({x -> f ({y -> x(x)(y)})}) ({x -> f ({y -> x(x)(y)})}))} > > > let Fact = {f -> {x -> (x == 0

Re: Got E121: Undefined variable in lambda function

2016-07-19 Fir de Conversatie Nikolay Aleksandrovich Pavlov
2016-07-19 17:15 GMT+03:00 Nikolay Aleksandrovich Pavlov : > 2016-07-19 16:46 GMT+03:00 Ken Takata : >> Hi, >> >> 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: >>> Hi, >>> >>> 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: >>> > I additionally submit another test case. >>> > >>> > let Y = {f -> (({x

Re: Got E121: Undefined variable in lambda function

2016-07-19 Fir de Conversatie Nikolay Aleksandrovich Pavlov
2016-07-19 16:46 GMT+03:00 Ken Takata : > Hi, > > 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: >> Hi, >> >> 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: >> > I additionally submit another test case. >> > >> > let Y = {f -> (({x -> f ({y -> x(x)(y)})}) ({x -> f ({y -> x(x)(y)})}))} >> > let Fact =

Re: Got E121: Undefined variable in lambda function

2016-07-19 Fir de Conversatie Ken Takata
Hi, 2016/7/18 Mon 11:26:23 UTC+9 Ken Takata wrote: > Hi, > > 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: > > I additionally submit another test case. > > > > let Y = {f -> (({x -> f ({y -> x(x)(y)})}) ({x -> f ({y -> x(x)(y)})}))} > > let Fact = {f -> {x -> (x == 0 ? 1 : x * f(x - 1))}} > > echo

Re: Got E121: Undefined variable in lambda function

2016-07-17 Fir de Conversatie Ken Takata
Hi, 2016/7/17 Sun 21:26:29 UTC+9 itchyny wrote: > I additionally submit another test case. > > let Y = {f -> (({x -> f ({y -> x(x)(y)})}) ({x -> f ({y -> x(x)(y)})}))} > let Fact = {f -> {x -> (x == 0 ? 1 : x * f(x - 1))}} > echo Y(Fact)(5) > > I expect this script prints 120 but I got E110: Mis

Re: Got E121: Undefined variable in lambda function

2016-07-17 Fir de Conversatie itchyny
I additionally submit another test case. let Y = {f -> (({x -> f ({y -> x(x)(y)})}) ({x -> f ({y -> x(x)(y)})}))} let Fact = {f -> {x -> (x == 0 ? 1 : x * f(x - 1))}} echo Y(Fact)(5) I expect this script prints 120 but I got E110: Missing ')' in 7.4.2049 (and also with the experimental patch). I

Re: Got E121: Undefined variable in lambda function

2016-07-17 Fir de Conversatie Ken Takata
Hi, 2016/7/17 Sun 19:37:09 UTC+9 Ken Takata wrote: > Hi itchyny, > > 2016/7/17 Sun 10:08:02 UTC+9 itchyny wrote: > > On Sunday, July 17, 2016 at 2:56:44 AM UTC+9, Bram Moolenaar wrote: > > > Ken Hamada wrote: > > > > > > > Hi Bram and Ken Takata. > > > > > > > > I think there is some problem in

Re: Got E121: Undefined variable in lambda function

2016-07-17 Fir de Conversatie Ken Takata
Hi itchyny, 2016/7/17 Sun 10:08:02 UTC+9 itchyny wrote: > On Sunday, July 17, 2016 at 2:56:44 AM UTC+9, Bram Moolenaar wrote: > > Ken Hamada wrote: > > > > > Hi Bram and Ken Takata. > > > > > > I think there is some problem in variable substitution of lambda function. > > > > > > echo ({y -> ({

Re: Got E121: Undefined variable in lambda function

2016-07-16 Fir de Conversatie itchyny
On Sunday, July 17, 2016 at 2:56:44 AM UTC+9, Bram Moolenaar wrote: > Ken Hamada wrote: > > > Hi Bram and Ken Takata. > > > > I think there is some problem in variable substitution of lambda function. > > > > echo ({y -> ({x -> x(y)(10)})({y -> y})})({z -> z}) > > > > yields an error `E121: Und

Re: Got E121: Undefined variable in lambda function

2016-07-16 Fir de Conversatie Bram Moolenaar
Ken Hamada wrote: > Hi Bram and Ken Takata. > > I think there is some problem in variable substitution of lambda function. > > echo ({y -> ({x -> x(y)(10)})({y -> y})})({z -> z}) > > yields an error `E121: Undefined variable: y`. I expect this expression > yields 10. I tested on Vim 7.4.2048.

Re: Got E121: Undefined variable in lambda function

2016-07-16 Fir de Conversatie itchyny
Sorry, I got E117, not E121. -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Grou

Got E121: Undefined variable in lambda function

2016-07-16 Fir de Conversatie itchyny
Hi Bram and Ken Takata. I think there is some problem in variable substitution of lambda function. echo ({y -> ({x -> x(y)(10)})({y -> y})})({z -> z}) yields an error `E121: Undefined variable: y`. I expect this expression yields 10. I tested on Vim 7.4.2048. JavaScript: (function(y){ return (