The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Базис S, K на плюсах"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"Базис S, K на плюсах"  +/
Сообщение от Аноним (0), 04-Июн-24, 22:21 
Ребят, можете проверить, правильно реализовал Комбинаторы базиса S,K лямбдами на C++11?

// C++11
#include <iostream>

int main() {
    //-I-----------------------------
    const auto I = [](const auto x){
        return x;
    };
    //-K-S----------------------------
    const auto K = [](const auto x){
      return [x](const auto y){ return x; };
    };
    const auto S = [](const auto x){
        return[x](const auto y){
            return [x,y](const auto z){
                auto xz = x(z);
                return xz(y(z));
            };
        };
    };
    //------------------------------
    const auto x = 42;
    const auto y = 41;

    const auto Ix = I(x);
    const auto Iy = I(y);
    const auto SKKx = S(K)(K)(x);

    if( Ix == SKKx ) std::cout << "Success! : Ix == SKKx" << std::endl;
    if( Iy not_eq SKKx ) std::cout << "Success! : Iy not_eq SKKx" << std::endl;
    

    return 0;
}
// https://github.com/kodxxl/CL/blob/main/SKbasis.cpp

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Базис S, K на плюсах"  +/
Сообщение от Аноним (0), 04-Июн-24, 22:59 
//Если ввести еще 2 функции:

const auto mul = [](const auto x){
  return [x](const auto y){
    return x * y;
  };
};
const auto half = [](const auto x){
        return x / 2;
};

//то:

const auto Sxyz_1 = S(mul)(half)(x);
std::cout << "S(mul)(half)(x) = " << Sxyz_1 << std::endl;    

// S(mul)(half)(x) = 882

const auto Sxyz_2 = S(mul)(I(half))(K(x)(3));
std::cout << "S(mul)(I(half))(K(x)(3)) = " << Sxyz_2 << std::endl;

// S(mul)(I(half))(K(x)(3)) = 882

Ответить | Правка | Наверх | Cообщить модератору

2. "Базис S, K на плюсах"  +/
Сообщение от Neon (??), 30-Июн-24, 03:27 
> Ребят, можете проверить, правильно реализовал Комбинаторы базиса S,K лямбдами на C++11?

Что за изврат и главное на хрена ?! Чтобы просто выеживаться ?

Ответить | Правка | Наверх | Cообщить модератору

5. "Базис S, K на плюсах"  +/
Сообщение от Аноним (5), 01-Июл-24, 15:47 
>> Ребят, можете проверить, правильно реализовал Комбинаторы базиса S,K лямбдами на C++11?
> Что за изврат и главное на хрена ?! Чтобы просто выеживаться ?

Угадал. Просто, чтобы перед тобой повыёживаться, и ткнуть носом в невежество.

Ответить | Правка | Наверх | Cообщить модератору

3. "Базис S, K на плюсах"  +/
Сообщение от Neon (??), 30-Июн-24, 03:29 
За такое код и архитектурные решения сразу выгонять с работы. Чтобы не выеживались. Потому, что потом отлаживать и сопровождать такой код -будет чистым издевательством над коллективом
Ответить | Правка | Наверх | Cообщить модератору

4. "Базис S, K на плюсах"  +/
Сообщение от Аноним (5), 01-Июл-24, 15:46 
> За такое код и архитектурные решения сразу выгонять с работы. Чтобы не
> выеживались. Потому, что потом отлаживать и сопровождать такой код -будет чистым
> издевательством над коллективом

Тебя самого надо выгнать с работы, за то, что не знаешь базу.

Ответить | Правка | Наверх | Cообщить модератору

6. "Базис S, K на плюсах"  +/
Сообщение от Аноним (5), 01-Июл-24, 15:48 
> За такое код и архитектурные решения сразу выгонять с работы. Чтобы не
> выеживались. Потому, что потом отлаживать и сопровождать такой код -будет чистым
> издевательством над коллективом

Сумасшедший, где ты тут увидел архитектурные решения? Это теория, которой больше 100 лет уже.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

9. "Базис S, K на плюсах"  +/
Сообщение от Аноним (9), 03-Июл-24, 10:15 
>[оверквотинг удален]
>     const auto Ix = I(x);
>     const auto Iy = I(y);
>     const auto SKKx = S(K)(K)(x);
>     if( Ix == SKKx ) std::cout << "Success!
> : Ix == SKKx" << std::endl;
>     if( Iy not_eq SKKx ) std::cout << "Success!
> : Iy not_eq SKKx" << std::endl;
>     return 0;
> }
> // https://github.com/kodxxl/CL/blob/main/SKbasis.cpp

Только один тест - мало. Распиши проверки.
Ну и в исходнике на гитхабе добавь makefile, и в него тесты.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру