1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #10722

    +153

    1. 1
    http://pastebin.com/KNAhNqJC

    В связи с тем что толстота освоила новую тактику, выпущена очередная версия говнофильтра™.

    * поддержка скрытия постов. Увы, выкинуть пост из выдачи совсем не получится, так что при флуд-атаках будут пустые страницы.
    * альтернативный "мягкий" метод скрытия комментариев - белое на белом.
    * переписано на jQuery, раз уж оно есть на уютненьком ГК.

    Как обычно, заточено под Firefox+GreaseMonkey.

    Vindicar, 08 Июня 2012

    Комментарии (166)
  3. C++ / Говнокод #3408

    +192

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    <शैली श्रेणी>
    #समावेश <मानकपन.स>
    
    श्रेणी जानवर
    {
    खुला:
    	भव व्योम लिखो()
    	{
    		म_लिखो("यह एक जानवर है।\n");
    	}
    };
    
    श्रेणी शेर : खुला जानवर
    {
    खुला:
    	व्योम लिखो()
    	{
    		म_लिखो("शेर एक जानवर है।\n");
    	}
    };
    
    श्रेणी चीता : खुला जानवर
    {
    खुला:
    	व्योम लिखो()
    	{
    		म_लिखो("चीता एक जानवर है।\n");
    	}
    };
    
    पूर्णांक मुख्य()
    {
    	जानवर ज, *ज१;
    	शेर श;
    	चीता च;
    
    	ज.लिखो();
    	श.लिखो();
    	च.लिखो();
    
    	ज१=&ज;
    	ज१->लिखो();
    	ज१=&श;
    	ज१->लिखो();
    	ज१=&च;
    	ज१->लिखो();
    
    	वापस 0;
    }

    Вот вы все говорите про индусский код, а он на самом деле вот такой! Мне кажется, простой и логичный!

    (Дистрибутив на http://hindawi.in/en_US/download.php)

    nil, 06 Июня 2010

    Комментарии (166)
  4. Куча / Говнокод #28990

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    Хрюкни #40
                 ._     __,
                  |\,../'\
                ,'. .     `.
               .--         '`.
              ( `' ,          ;
              ,`--' _,       ,'\
             ,`.____            `.
            /              `,    |
           '                \,   '
           |                /   /`,
           `,  .           ,` ./  |
           ' `.  ,'        |;,'   ,@
     ______|     |      _________,_____jv______
            `.   `.   ,'
             ,'_,','_,
             `'   `'

    #10: https://govnokod.ru/27472 https://govnokod.xyz/_27472
    #11: https://govnokod.ru/27517 https://govnokod.xyz/_27517
    #12: https://govnokod.ru/27636 https://govnokod.xyz/_27636
    #13: (vanished) https://govnokod.xyz/_27711
    #14: https://govnokod.ru/27713 https://govnokod.xyz/_27713
    #15: https://govnokod.ru/27721 https://govnokod.xyz/_27721
    #16: https://govnokod.ru/27722 https://govnokod.xyz/_27722
    #17: (vanished) https://govnokod.xyz/_27723
    #18: https://govnokod.ru/27724 https://govnokod.xyz/_27724
    #19: https://govnokod.ru/27726 https://govnokod.xyz/_27726
    #20: https://govnokod.ru/27727 https://govnokod.xyz/_27727
    #21: https://govnokod.ru/27870 https://govnokod.xyz/_27870
    #22: https://govnokod.ru/28067 https://govnokod.xyz/_28067
    #23: https://govnokod.ru/28277 https://govnokod.xyz/_28277
    #24: https://govnokod.ru/28471 https://govnokod.xyz/_28471
    #25: https://govnokod.ru/28659 https://govnokod.xyz/_28659
    #26: (vanished) https://govnokod.xyz/_28661
    #27: (vanished) https://govnokod.xyz/_28668
    #28: https://govnokod.ru/28678 https://govnokod.xyz/_28678
    #29: https://govnokod.ru/28686 https://govnokod.xyz/_28686
    #30: https://govnokod.ru/28693 https://govnokod.xyz/_28693
    #31: https://govnokod.ru/28700 https://govnokod.xyz/_28700
    #32: https://govnokod.ru/28706 https://govnokod.xyz/_28706
    #33: https://govnokod.ru/28713 https://govnokod.xyz/_28713
    #34: https://govnokod.ru/28723 https://govnokod.xyz/_28723
    #35: https://govnokod.ru/28731 https://govnokod.xyz/_28731
    #36: https://govnokod.ru/28737 https://govnokod.xyz/_28737
    #37: https://govnokod.ru/28741 https://govnokod.xyz/_28741
    #38: https://govnokod.ru/28751 https://govnokod.xyz/_28751
    #39: https://govnokod.ru/28854 https://govnokod.xyz/_28854

    nepeKamHblu_nemyx, 21 Сентября 2024

    Комментарии (165)
  5. C++ / Говнокод #27391

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    template<typename T>
    class SharedPtr {
        T* value;
        int* ref_count;
    
    public:
        SharedPtr(T* value) : value(value) {
            ref_count = new int;
            *ref_count = 1;
        }
    
        SharedPtr(const SharedPtr& other) {
            value = other.value;
            ref_count = other.ref_count;
            (*ref_count)++;
        }
    
        SharedPtr(SharedPtr&& other) {
            value = other.value;
            ref_count = other.ref_count;
            other.ref_count = nullptr;
        }
    
        ~SharedPtr() {
            if (ref_count == nullptr) {
                return;
            }
    
            if (*ref_count == 1) {
                delete value;
                delete ref_count;
            } else {
                (*ref_count)--;
            }
        }
    
        T& operator *() const {
            return *value;
        }
    
        T* operator ->() const {
            return value;
        }
    };

    Реалейзовал минимальную версию shared_ptr. Есть ошибки/замечания?

    https://ideone.com/g7gqBM

    3_dar, 04 Мая 2021

    Комментарии (165)
  6. PHP / Говнокод #4663

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    <?php
    define("LOGIN", "login");
    define("PASSWORD", "password");
    define("BASE", "base");
    define("HOST", "IP");
    
    $table = "table";
    
    $err_name = "Вы не написали свое имя! <br />";
    $err_text = "Вы не написали текст! <br />";
    $err_email = "Вы не указали свой email! <br />";
    
    $conn = mysql_connect(HOST, LOGIN, PASSWORD) or die ('соединение с БД установить не удалось!');
    $db = mysql_select_db(BASE, $conn) or die ('проверьте наличие БД!');
    
    $stop = 0;
    if (isset($_POST['save'])) {
     if ((strlen($_POST['name']) !=0) && (strlen($_POST['text']) !=0) && (strlen($_POST['email']) !=0)) {
     
      $name = $_POST['name'];
      $text = $_POST['text'];
      $email = $_POST['email'];
      if (strlen($_POST['url']) !=0) {
        $url = $_POST['url'];
        $create = mysql_query("INSERT INTO $table VALUES (NULL, '$name', '$text', '$email', '$url')", $conn) or die ('запрос в БД не выполнен!');
      $stop = 1 ;
      }
      if ($stop != 1) {
       $create = mysql_query("INSERT INTO $table VALUES (NULL, '$name', '$text', '$email', NULL)", $conn) or die ('запрос в БД не выполнен!');
      } 
     }
    
    }
    
    if (error('name')) {
    echo $err_name;
    }
    
    if (error('text')) {
    echo $err_text;
    }
    
    if (error('email')) {
    echo $err_email;
    }
    
    
    function error($err) {
    return (isset($_POST['save']) && strlen($_POST[$err]) == 0);
    }
    
    $result = mysql_query("SELECT * FROM $table", $conn) or die ('Выбранная таблица не существует!');
    
    
    $stroki = mysql_num_rows($result);
    $stolb = mysql_num_fields($result);
    
    
    for ($i=0; $i<$stroki; $i++) {
    $s = mysql_fetch_row($result);
     for ($j=0; $j<$stolb; $j++) {
     $massiv[$i][$j] = $s[$j];
     }
    }
    
    for ($i=0; $i<$stroki; $i++) {
     for ($j=0; $j<$stolb; $j++) {
     echo $massiv[$stroki-$i-1][$j] . " ";
     }
    echo "<br />";
    }
    
    if (isset($_POST['clear'])) {
    $delete = mysql_query("TRUNCATE TABLE $table", $conn) or die ('запрос на удаление выполнить не удалось!');
    echo "<br />" . "<hr />" . "Все данные стерты!" . "<hr />" . "<br />";
    }
    
    mysql_close($conn);
    
    	echo "<form method=\"POST\">\n";
    	echo "<table border=\"1\" cellpadding=\"5\" cellspacing=\"5\">\n";
    	echo "<tr><td>Ваше имя</td><td><input type=\"text\" name=\"name\" /></td></tr>\n";
    	echo "<tr><td>Ваш email</td><td><input type=\"text\" name=\"email\" /></td></tr>\n";
    	echo "<tr><td>Ваша домашняя страница (URL)</td><td><input type=\"text\" name=\"url\" /></td></tr>\n";
    	echo "<tr><td>Текст сообщения</td><td><textarea name=\"text\"></textarea></td></tr>\n";
    	echo "<tr><td colspna=\"2\"><input type=\"submit\" name=\"save\" value=\"Отослать\"/></td></tr>\n";
    	echo "<tr><td colspna=\"2\"><input type=\"submit\" name=\"clear\" value=\"Очистить\"/></td></tr>\n";
    
    ?>

    гостевая книга (php +mysql)

    mihailhouse, 17 Ноября 2010

    Комментарии (165)
  7. PHP / Говнокод #4533

    +187

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    function get_rand_symbols($numeric) { 
    
       if($numeric == '1') { return 'п'; }
       if($numeric == '2') { return 'р'; }
       if($numeric == '3') { return 'о'; }
       if($numeric == '4') { return 'к'; }
       if($numeric == '5') { return 'е'; }
       if($numeric == '6') { return 'а'; }
       if($numeric == '7') { return 'д'; }
       if($numeric == '8') { return 'е'; }
       if($numeric == '9') { return 'й'; }
       if($numeric == '10') { return 'в'; }
       if($numeric == '11') { return 'м'; }
       if($numeric == '12') { return 'л'; }
       if($numeric == '13') { return 'с'; }
       if($numeric == '14') { return 'т'; }
       if($numeric == '15') { return 'у'; }
       if($numeric == '16') { return 'н'; }
       if($numeric == '17') { return 'ш'; }
       if($numeric == '18') { return 'х'; }
       if($numeric == '19') { return 'щ'; }
       if($numeric == '20') { return 'ъ'; }
       if($numeric == '21') { return 'ю'; }
       if($numeric == '22') { return 'б'; }
       if($numeric == '23') { return 'я'; }
       if($numeric == '24') { return 'ц'; }
       if($numeric == '25') { return 'ч'; }
       if($numeric == '26') { return 'ё'; }
       if($numeric == '27') { return 'э'; }
       if($numeric == '28') { return 'з'; }
       if($numeric == '29') { return 'и'; }
       if($numeric == '30') { return 'ы'; }
      }
      function all_rand() {
      return get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30)).get_rand_symbols(rand(1, 30));
      }

    случайная строка с русскими символами

    Shiz89, 04 Ноября 2010

    Комментарии (165)
  8. PHP / Говнокод #3410

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    mysql_query("INSERT INTO `classes` (`name`) VALUES('".$_POST["class_name"]."')");
    		$Mresult=mysql_query("SELECT MAX(`id`) FROM `classes`");
    		$row=mysql_fetch_row($Mresult);
    		$class_num=$row[0];
    		$date1=$_POST["class_start"];
    		$date2=$_POST["class_end"];
    		mysql_query("CREATE TABLE `class_".$class_num."_lessons` (`id` INT, `data` TEXT)");
    		mysql_query("CREATE TABLE `class_".$class_num."_video` (`id` INT, `data` TEXT)");
    		mysql_query("CREATE TABLE `class_".$class_num."_ege` (`id` INT, `data` TEXT)");
    		mysql_query("CREATE TABLE `class_".$class_num."_rasp` (`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `data` TEXT)");

    DSL88, 07 Июня 2010

    Комментарии (165)
  9. Куча / Говнокод #27638

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    .chamfer { 
      display: table;
      border-collapse: separate;
      empty-cells: show;
      background: transparent;
      display: inline-block;
      margin-bottom: 25px;
      margin-right: 25px;
      vertical-align: top;}
    .chamfer .row { 
      display: table-row;}
    .chamfer .boxcontent {
      display: table-cell;
      background: #FFFFFF;
      font-size: 24px;
      vertical-align: middle;
      min-width: 200px;
      width: 200px;
      height: 173px;}
    .chamfer .transparentbox {
      display: table-cell; 
      background: transparent;
      font-size: 24px;
      vertical-align: middle;
      min-width: 200px;
      width: 200px;}
    .chamfer .row .north-west { 
      display: table-cell;
      border: 100px solid transparent;
      border-top-width: 0px;
      border-right-width: 0px;
      border-bottom: 173px solid #FFF;
      width: 0px;}
    .chamfer .row .north-east { 
      display: table-cell;
      border: 100px solid transparent;
      border-top-width: 0px;
      border-left-width: 0px;
      border-bottom: 173px solid #FFF;
      width: 0px;}
    .chamfer .row .south-west { 
      display: table-cell;
      border: 100px solid transparent;
      border-bottom-width: 0px;
      border-right-width: 0px;
      border-top: 173px solid #FFF;
      width: 0px;}
    .chamfer .row .south-east { 
      display: table-cell;
      border: 100px solid transparent;
      border-bottom-width: 0px;
      border-left-width: 0px;
      border-top: 173px solid #FFF;
      width: 0px;}
    .chamfer .row3 .north-west { 
      border: 100px solid yellow;
      border-top-width: 0px;
      border-right-width: 0px;
      border-bottom: 173px solid red;}
    .chamfer .row3 .north-east { 
      border: 100px solid yellow;
      border-top-width: 0px;
      border-left-width: 0px;
      border-bottom: 173px solid red;}
    .chamfer .row2 .south-west { 
      border: 100px solid yellow;
      border-bottom-width: 0px;
      border-right-width: 0px;
      border-top: 173px solid #FFF;}
    .chamfer .row2 .south-east { 
      border: 100px solid yellow;
      border-bottom-width: 0px;
      border-left-width: 0px;
      border-top: 173px solid #FFF;}
    .chamfer .row4 .south-west { 
      border: 100px solid transparent;
      border-bottom-width: 0px;
      border-right-width: 0px;
      border-top: 173px solid red;}
    .chamfer .row4 .south-east { 
      border: 100px solid transparent;
      border-bottom-width: 0px;
      border-left-width: 0px;
      border-top: 173px solid red;}
    .chamfer .row2 .transparentbox, .chamfer .row3 .transparentbox {
      background: yellow;
      height: 173px;}
    .chamfer .row3 .boxcontent, .chamfer .row4 .boxcontent {
      background: red;
      height: 173px;}
    body { 
      color: #3B3A37;
      background-color: olive;}

    Реальный пример шестиугольных блоков (в виде сот) на чистом CSS2.

    Страница в действии:
    https://output.jsbin.com/xewelufoda/

    CEHT9I6PbCKuu_nemyx, 01 Сентября 2021

    Комментарии (164)
  10. JavaScript / Говнокод #27575

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    console.log(parseInt(0.5)); // 0
    console.log(parseInt(0.05)); // 0
    console.log(parseInt(0.005)); // 0
    console.log(parseInt(0.0005)); // 0
    console.log(parseInt(0.00005)); // 0
    console.log(parseInt(0.000005)); // 0
    console.log(parseInt(0.0000005)); // 5

    https://ideone.com/YMWUGq

    Возможно баян, спижжено с https://vk.com/wall-72495085_1267978

    3_dar, 17 Августа 2021

    Комментарии (164)
  11. Куча / Говнокод #27497

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    Короче, размышлял я как-то на тему того, как надо делать правильный
    теорем прувер, а не питушню всякую заедушную. Вот взять тот же Metamath -
    там какие-то непонятные distinct правила для хуиты, что надо какие-то там
    disjoint переменные, вот тут https://groups.google.com/g/metamath/c/M2dUfFATxD8
    про это подробнее сказано.
    
    Есть вот еще Metamath zero https://github.com/digama0/mm0 и это вот кажется ближе
    к тому, что мне нравится.
    Например вот https://github.com/digama0/mm0/blob/master/examples/assembler.mm1
    тут есть какая-то теорема про ELF хедер. Это вот определение ELF идентификатора
    
    local def ELF_IDENT_s: string =
    $ ,0x7f ': ,"E" ': ,"L" ': ,"F" ':
      _x02 ': _x01 ': _x01 ': _x00 ': _x00x8 $;
      
    и там еще какой-то такой хуйней описывается то, где там точка входа записана в заголовке,
    еще separation logic есть какая-то.
    Но вот если почитать спецификацию для этого mm0 языка
    https://github.com/digama0/mm0/blob/master/mm0.md :
    
    pure means that this sort does not have any term formers. It is an uninterpreted domain which may have
      variables but has no constant symbols, binary operators, or anything else targeting this sort. If a sort has
      this modifier, it is illegal to declare a term with this sort as the target.
    
    strict is the "opposite" of pure: it says that the sort does not have any variable binding operators. It is illegal
      to have a bound variable or dummy variable of this sort, and it cannot appear as a dependency in another
      variable. For example, if x: set and ph: wff x then set must not be declared strict. (pure and strict are not
      mutually exclusive, although a sort with both properties is not very useful.)
    
    provable means that the sort is a thing that can be "proven". All formulas appearing in axioms and theorems
     (between $) must have a provable sort.
     free means that definitions and theorems are not allowed to use dummy variables with this sort.
    
    то кажется мне, что слишком это сложно. Надо проще это всё сделать, по принципу какой-нибудь
    хрени типа SKI кобенационного исчисления. Т.е. допустим аксиома для модус поненса
    
    AXIOM
    %A
    P P $IMP %A %B
    _
    %B
    
    т.е. если мы матчим некую хуйню "%A" и некую хуйню "P P $IMP %A %B" где %A и %B это некая
    срань, которая может быть "что-то" "P чтото чтото" или там "P чтото P чтото чтото" и т.д.
    ну короче P означает что там две какие-то хуйни, вот как в той хрени https://govnokod.ru/27420
    то можем дополнительно синтезировать высказывание "%B"
    
    А теоремы это negj композиции из аксиом и других теорем. Типы можно прикручивать через какую-то хуйню
    типа если арифметику Пеано описывать, тип можно так что-то нахуевертить аксиому, ну типа
    
    Определение что ZERO это натуральное число.
    AXIOM
    _
    P NAT ZERO
    
    Что если инкрементнуть натуральное, будет тоже натуральное (S это функция следования)
    AXIOM
    P S %A
    P NAT %A
    _
    P NAT P S %A
    
    В общем надо бы подумать, как там запилить максимально простой и эффективно расширяемый язык для
    доказывания всякой хуйни.
    
    Смотрел Coq - какая-то ебаная перепитушня со всякими там типами-хуипами и какими-то
    блядь рекурсиями. Хер поймешь, как эта вся дрнсня работает. Меня ваши типы не ебут
    совершенно, я хочу сам свои типы конструировать, а не полагаться на какую-то невнятную
    ебанину.

    j123123, 05 Июля 2021

    Комментарии (164)