- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
LambdaVar<1> X;
LambdaVar<2> Y;
// The next line prints 10:
cout << lambda(X,Y)[ plus[ multiplies[3,X], Y ] ] (3,1) << endl;
cout << lambda(X,Y)[ (3 %multiplies% X) %plus% Y ] << endl;
//...
lambda(X)[ X %plus% getCurrentTime[_*_] ]
//...
let[ X == someLambdaExp,
Y == someOtherLambdaExpWhichMayInvolveX ]
.in[ someLambdaExpInvolvingXandY ]
//...
lambda(X)[
letrec[ F == lambda(Y)[ if1[ Y %equals% 0,
1,
Y %multiplies% F[Y %minus% 1] ] ] ]
.in[ F[X] ] ]
//...
Maybe<int> mx = just(2);
Maybe<int> my = just(3);
mx = lambda()[ compM<MaybeM>()[ plus[X,Y] | X<=mx, Y<=my, guard[false] ] ]();
cout << mx << endl; // Nothing
//...
compM<ListM>()[ makePair[X,Y] | X<=list_with(1,2), guard[true],
Y<=list_with(3,4), guard[ (Y %divides% X) %equal% 3 ] ] ]
LispGovno 10.12.2012 00:52 # −3
Протащили только аналог лямбд, и то подозреваю другим автором
defecate-plusplus 10.12.2012 10:04 # +4
пускай коммитит в кьютэ
TarasB 10.12.2012 10:26 # +1
defecate-plusplus 10.12.2012 10:29 # +2
bormand 10.12.2012 13:01 # 0
LispGovno 10.12.2012 13:44 # −4
boost::phoenix
или
boost::spirit
Как-нибудь запощу.
А вы можете пополнить список.
ForEveR 11.12.2012 07:44 # +2
LispGovno 13.12.2012 11:05 # −2
Лол. Это вот этим то инструментом, что стоит во главе топика? Главное не писать хуёвый инструмент. А если его кто-то написал, то главное не пользоваться этим инструментом.
absolut 13.12.2012 10:06 # +4
жопосмайлик?