The OpenNET Project / Index page

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

Доступен язык программирования OCaml 5.4.0

10.10.2025 22:16

Опубликован релиз языка программирования OCaml 5.4.0, промышленного функционального языка программирования с акцентом на выразительность и безопасность разрабатываемого программного обеспечения. В OCaml сочетается функциональное ядро, императивные возможности, объектная система и модульная система. Код инструментария для языка OCaml распространяется под лицензией LGPL.

Среди других языков программирования OCaml выделяется своей универсальностью и практичностью, делая тем самым его хорошим выбором для разработки сложных систем. Основные особенности OCaml включают автоматическое управление памятью, функции первого класса, статическую типизацию, полиморфизм, поддержку неизменяемых структур данных, автоматический вывод типов и алгебраические типы данных с сопоставлением шаблонов.

Основные изменения и улучшения в OCaml 5.4.0:

  • Именованные кортежи (Labelled tuples), позволяющие давать имена членам кортежа и затем использовать эти имена для обращения к ним.
    
           let point = ~x:1, ~y:2
           (* val point : x:int * y:int = (~x:1, ~y:2)  *)
    
           let ( * ) (x,~dx) (y, ~dx:dy) =
             x*.y, ~dx:(x *. dy +. y *. dx )
    
           (* val ( * ) : float * dx:float -> float * dx:float -> float * dx:float *)
    
           let mult_dx x y =
             let ~dx, .. = x * y in
             dx
    
  • Неизменяемые массивы и единый синтаксис для "_ array", "_ iarray" и "floatarray".
    
           [|1; 2; 3|]
    
           ([|1; 2; 3|] : _ iarray)
    
           ([|1.; 2.; 3.|] : floatarray)
    
  • Встроенный атрибут "atomic" для полей записей, требующий использования атомарных операций для работы над ними.
    
           type 'a mpsc_list = { mutable head:'a list; mutable tail: 'a list [@atomic] }
    
           let rec push t x =
             let before = Atomic.Loc.get [%atomic.loc t.tail] in
             let after = x :: before in
             if not (Atomic.Loc.compare_and_set [%atomic.loc t.tail] before after) then
               push t x
             ...
    
  • Новые модули в стандартной библиотеке: Pair, Pqueue, Repr, Iarray.
    • Модуль Pair для работы с парами;
      
                 let ones = Pair.map_fst succ (0,1)
      
    • Модуль Pqueue - очередь с приоритетом;
           
                 module Int_pqueue = Pqueue.MakeMin(Int)
                 let q = Int_pqueue.of_list [4;0;5;7]
                 let some_zero = Int_pqueue.pop_min q
      
    • Модуль Repr содержит функции физического и структурного сравнения;
      
                 let f = Repr.phys_equal (ref 0) (ref 0)
      
    • Модуль Iarray для работы с неизменяемыми массивами;
      
                 let a = Iarray.init 10 Fun.id
                 let b = Iarray.map succ a
      
  • Восстановлен режим “очистки памяти при выходе”. Этот режим позволяет многократно запускать среду выполнения OCaml в программах на языке C, которые используют библиотеки OCaml. Он также полезен для уменьшения шума при отслеживании утечек памяти в коде C, выполняемого в среде OCaml. Чтобы избежать проблем с "cancellation", все домены объединяются перед выходом из среды выполнения OCaml.
  • Новый раздел в документации по профилированию OCaml-программ в среде Linux и MacOS.
  • Множественные улучшению среды выполнения, кодогенерации, около тридцати новых функций в стандартной библиотеке, почти дюжина улучшенных сообщений об ошибках, более пятидесяти исправлений ошибок.


  1. Главная ссылка к новости (https://ocaml.org/releases/5.4...)
  2. OpenNews: Выпуск языка программирования OCaml 4.14.2
Автор новости: ocamlportal.ru
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64035-ocaml
Ключевые слова: ocaml
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (124) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 23:32, 10/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Начало новостной заметки звучит как сказка Андерсена
     
     
  • 2.9, Аноним (9), 00:50, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +11 +/
    особенно "с акцентом на выразительность" - вырвиглазность
     
     
  • 3.19, Аноним (-), 07:23, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > особенно "с акцентом на выразительность" - вырвиглазность

    Что делать, в новостях бывают опечатки :)

     
  • 3.26, Хайль_тоталитарный_Либерализм_РФиНАТО (ok), 09:28, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > особенно "с акцентом на выразительность" - вырвиглазность

    Меня почти дословно опередил ;)

    Хоть там при этой "выразительности" - ещё и безопасность же "повышенна"...

     

  • 1.5, Аноним (5), 00:06, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > с акцентом на выразительность
    > let ( * ) (x,~dx) (y, ~dx:dy) = x*.y, ~dx:(x *. dy +. y *. dx )

    Хотелось бы услышать экспертное мнение о сабже от сишников, которые при каждой возможности воют о том, какой у Раста нечеловеческий синтаксис.

     
     
  • 2.6, Аноним (6), 00:15, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +27 +/
    Все верно, с акцентом на выразительность
    Вот как тут не выразиться, глядя на такой код?
     
  • 2.7, Аноним (-), 00:19, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Хотелось бы услышать экспертное мнение о сабже от сишников,

    Сейчас тебе расскажут что "все просто и понятно" :)
    С другой местные кекспертные сишники обычно еще и яростно наяривают на lisp и scheme, а иногда даже на перловку.

     
     
  • 3.20, Аноним (-), 07:24, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Сейчас тебе расскажут что "все просто и понятно" :)

    Да вообще элементарщина. Ящеры совсем не палятся...

     
  • 3.22, Аноним (22), 07:48, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В Lisp и Sсheme нет синтакиса в общем случае. Нет синтаксиса - нет проблем. Так что все действительно просто и понятно. Так что наяривали, наяриваем, и будем наяривать.
     
     
  • 4.36, Bottle (?), 13:59, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы эти сказки неофитам оставьте, тут конечно не сидят прожжёные самовары, но люди понимают, что это піздѣж чистой воды.
     
     
  • 5.44, freehck (ok), 16:56, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вы эти сказки неофитам оставьте, тут конечно не сидят прожжёные самовары, но
    > люди понимают, что это ###### чистой воды.

    Справедливости ради стоит отметить, что базовый синтаксический анализатор для лиспа  действительно можно написать настолько компактно и коротко, что с некоторой натяжкой, если сравнивать его со всеми остальными языками в мире, можно сказать, что у лиспа "нет синтаксиса". Так, правда, никто естественно не делает, потому что не хотят жертвовать производительностью. )

    Однако конечно же, утверждать, что синтаксиса в лиспах нет совсем -- не верно по определению.

     
     
  • 6.91, sailorTheCat (?), 00:57, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Дело не в этом. [reader macros](https://lisper.in/reader-macros)'ы приводят к тому, что глядя на произвольную строку текста, нельзя заранее сказать, а не является ли она допустимым кодом на лиспе.
     
     
  • 7.99, freehck (ok), 03:33, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не понял... Неужто Вы в самом деле сейчас пытаетесь сказать, что главная фича лиспов -- это фатальный недостаток? =)
     
     
  • 8.110, sailorTheCat (?), 11:53, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Недостаток или достоинство 8212 зависит от применения Но в данном случае это... текст свёрнут, показать
     
     
  • 9.124, freehck (ok), 12:00, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А выбор слов -- зависит от отношения Можно говорить синтаксис не фиксированный... большой текст свёрнут, показать
     
     
  • 10.130, sailorTheCat (?), 10:46, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы смешиваете макросы, средства изменения семантики и reader macros 8212 спос... текст свёрнут, показать
     
     
  • 11.131, freehck (ok), 11:44, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, именно это я и делаю А что Вы, дорогой, хотели Как залихватский тролль ... текст свёрнут, показать
     
     
  • 12.132, sailorTheCat (?), 12:28, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Голубчик, но с чего вы взяли, что у меня есть какие-то претензии Я сообщил вам ... текст свёрнут, показать
     
     
  • 13.133, freehck (ok), 12:42, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Окей, дорогой, давай я переформулирую следующим образом Независимо от того, что... текст свёрнут, показать
     
     
  • 14.134, sailorTheCat (?), 13:30, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это уже бессмысленная игра в слова Играйте сами ... текст свёрнут, показать
     
     
  • 15.135, freehck (ok), 14:08, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну что поделать, всего хорошего ... текст свёрнут, показать
     
  • 2.8, Аноним (8), 00:30, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Как сишник, не вижу противоречий, что у раста, что окамл, синтаксис непонятный.
     
     
  • 3.10, Аноним (10), 00:58, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Функциональные языки в целом не от мира сего, более-менее адекватно выглядят только созданные под конкреьные задачи Erlang (телеком) и F# (банкинг).
     
     
  • 4.13, Аноним (13), 01:48, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >F# (банкинг).

    Только вот F# это почти Ocaml, подобно тому, как C# почти Java.

     
  • 4.62, Аноним (62), 12:33, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/janestreet/shexp

     
  • 2.12, Аноним (13), 01:48, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    На всякий случай сообщаю, что первые версии раста были написаны на окамле.

    ЗЫ интересно, кто-то кроме меня на опеннете в состоянии понять, что здесь написано?

     
     
  • 3.21, Аноним (-), 07:25, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > На всякий случай сообщаю, что первые версии раста были написаны на окамле.

    А первые версии си - вообще на ассемблере, вероятно. Не означает что толпа народа с энтузиазмом возьмется на ассемблере писать.

     
     
  • 4.37, Аноним (37), 14:53, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Первые версии GCC, который тогда умел только C компилять, на каком-то Паскале.
     
  • 3.122, Аноним (122), 23:42, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Определение умножения для двухмерных векторов
     
  • 2.15, Аноним (-), 04:58, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё ещё понятнее растосинтаксиса. Да даже у хаскеля синтаксис понятнее.
     
  • 2.17, Сосиска (?), 06:53, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Выразительнее только у Perl
     
     
  • 3.38, Аноним (37), 14:55, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В смысле, вызывает поток выражений из уст программиста?
     
  • 3.48, OpenEcho (?), 19:09, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Выразительнее только у Perl

    Сдаётся мне что именно изза "выразительности" он и потерял популярность в пользу более человеко-читаемых языков, но его "выразительность" хорошо унаследовал один популярный безопастный язык, не учась на ошибках сородича

     
     
  • 4.63, Аноним (9), 13:26, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Сдаётся мне что именно изза "выразительности"

    Сдаётся мне что именно из-за ИЗБЫТОЧНОЙ (одно и то же разными синтаксическими конструкциями) "выразительности", так будет корректней.

     
     
  • 5.70, OpenEcho (?), 18:58, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, в те времена было очень "круто" намастырить подобие брэинфака не задумываясь как потом кто-то будет это сопровождать, благо язык позволяет
     
     
  • 6.86, Аноним (9), 23:44, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну да, в те времена

    Это как с математикой, пузырь формализма в начале 20 века

     
  • 2.24, Vkni (ok), 08:19, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наверное это троллинг. Если хочется на Камле писать код с плавающей точкой, то надо в преамбуле модуля написать

    let (+) = Float.(+)

    и т.д., а дальше писать с нормальными +-. Увы, нормально это в системах типов Хиндли-Милнера без классов типов не делается, а OCaml вынужден идти другим путём.

    Зачем тащить эти +. *. в учебный пример? В оригинальном PR'е пример значительно разумнее:

    let sum_and_product ints =
      let init = ~sum:0, ~product:1 in
      List.fold_left (fun (~sum, ~product) elem ->
        let sum = elem + sum in
        let product = elem * product in
        ~sum, ~product
      ) init ints

    См https://github.com/ocaml/ocaml/pull/13498

    И, в общем, понятно, что это идёт из кровавого ынтерпрайза (Улицы тёти Жени). И да, там оно имеет смысел.

     
     
  • 3.34, freehck (ok), 13:52, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее дань традиции Да в целом можно даже лучше 1 , заменив сразу все оператор... большой текст свёрнут, показать
     
     
  • 4.53, Vkni (ok), 02:22, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Странно, что в Std этого не ставили Известно, почему Вроде бы обратную совмест... большой текст свёрнут, показать
     
     
  • 5.57, freehck (ok), 10:43, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что разработка Std контролируется INRIA, и этот учёный люд крайне неохотн... большой текст свёрнут, показать
     
     
  • 6.105, fff (??), 10:33, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы вот тут целую дискуссию развели, про достоинства и недостатки языков, но забыли, кажется одну небольшую мелочь - инфраструктура вокруг языка, в особенности IDE, системы управления зависимостями, сборки и прочее такое. А с этим у функциональных языков лучше всего у Scala (Idea + вся инфраструктура мира Java) и F# (VisualStudio + вся инфраструктура мира .NET). Для Haskell естьсредненького качества плагин в идею + Stack + некоторое количество библиотек, и я даже лично знаю одного живого разраба на Haskell. А вот когда я для OCaml пытался найти хоть какие-то инструменты (блокнот и даже vim/emacs не считаются), то нашел ровно ничего.
     
     
  • 7.106, freehck (ok), 11:02, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот когда я для OCaml пытался найти хоть какие-то инструменты (блокнот и даже vim/emacs не считаются), то нашел ровно ничего.

    Плохо искали.

    У нас как бы есть opam как система управления зависимостями (если именно это имелось в виду). Как основная система сборки нынче dune широко принята сообществом. Как IDE есть merlin, есть merlin-mode для интеграции в emacs, несколько лет назад появился ещё вон ocaml-lsp.

    Ну то есть как бы, если речь про подсветку, автодополнение, проверку синтаксиса, вывод типов на лету (между прочим, вот где вы ещё такое видели), поиск по символам и т.д. -- это есть и было, я ещё в 2012м всем этим пользовался.

     
     
  • 8.109, fff (??), 11:46, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Искал хорошо, но давно Последний раз я OCaml интересовался примерно в 2009-2010... большой текст свёрнут, показать
     
     
  • 9.111, freehck (ok), 12:09, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В целом да, это -- действительно так и есть Не думаю, что OCaml прямо-таки стре... большой текст свёрнут, показать
     
  • 2.25, Аноним (-), 08:27, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Выразительность ≠ Читабельность. У чистой сишки одновременно имеются оба эти качества: выразитеьность и читабельность.
     
     
  • 3.27, Аноним (27), 11:46, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Выразительность ≠ Читабельность. У чистой сишки одновременно имеются оба эти качества:
    > выразитеьность и читабельность.

    Угу, угу
    https://www.ioccc.org/2005/aidan/aidan.c
    [CODE]
    if(!C) {
        l=(o=S].O)?S].I:0; I=o?S].l%9+1:(S].O=i%9+1);
        for(;l<81;l++,I=S].O,o=0) if(!(s]>>10)) {
    for(;;I=I%9+1,o=1) {
        l0=0; if(o&&I==S].O) goto O;
        if(s]>>I&1) {
    S].l=I; S++].I=l; S]=S-1];
    N(I,); O>w&&(w=O); goto lO;
        }
    }
        }
    }
    lO: S].O=0; goto l0; l: if(!(l0=O)) { L=0; goto O; } O--;
    s,S].I] &=~ (1<<S].l);
    [/CODE]


     
     
  • 4.100, Аноним (-), 06:20, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Выразительность ≠ Читабельность. У чистой сишки одновременно имеются оба эти качества:
    >> выразитеьность и читабельность.
    > Угу, угу
    > https://www.ioccc.org/2005/aidan/aidan.c

    Фокус в том что на си это надо стараться специально и это далеко не самый крутой пример из ioccc. А на ocaml ЭТО с офигенной читаемостью - представлено прямо в новости как референсный пример.

    Попробуйте угадать сколько людей захочет за вами девелопать и майнтайнить подобный код. Но на си им в общем случае подвалит нечто куда более приличное. А разгребать чей-то высокий полет мысли, да еще и записанный в стиле брейнфака желающих предсказуемо около ноля.

     
  • 3.79, Аноним (37), 21:22, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Выразительность у Сишки? Увы, её там мало.
     
  • 3.117, Аноним (117), 18:08, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >У чистой сишки одновременно имеются оба эти качества: выразитеьность и читабельность.

    Fixed: отсутствуют

     
  • 2.30, freehck (ok), 13:03, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, как человек хорошо знакомый с OCaml я скажу, что мне тут всё понятно без поя... большой текст свёрнут, показать
     
  • 2.43, NonRumata (?), 16:15, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я, конечно, извиняюсь.

    Но напишите, как в вашем понимании будет понятно и выразительно (неважно на чем, Си, OCaml, Python, Erlang).

    P.S. Я вот просто смотрю и явно вижу знакомую формулу и даже не представляю, как можно было понятнее написать.

     
     
  • 3.45, Аноним (9), 16:56, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    не выразительного языка по определению быть не должно, то что не читабельно для среднестатистического императивщика - да!!! Любой ЯК подвержен "синтаксическому диабету" и OCaml болеет этим.

    > P.S. Я вот просто смотрю и явно вижу знакомую формулу и даже не представляю, как можно было понятнее написать.

    Ну и китаец смотрит на свои закорючки и ему все понятно, а какой-нибудь европеец будет "плеваться" до тех пор, пока не поймет смысл этих закорючек, думаю естественная реакция людей, которые с ходу чисто логически не уловили смысл синтаксической конструкции.

     
  • 2.112, Аноним (112), 12:19, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно не человеческий, Ocaml хоть как-то читать можно, а в Расте это всё:  let ( * ) (x,~dx) (y, ~dx:dy) = x*.y, ~dx:(x *. dy +. y *. dx ) еще должно быть во что-то безопасное завёрнуто, и этого безопасного стопитсот видов, да еще и не скомпилится с первого раза, потому что трейтсы не реализованы.
     
  • 2.128, Пояснитель (?), 08:35, 15/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Открою тебе секрет, но Rust был написан на Ocaml и многое из Ocaml перекочевало в Rust, начиная от "инновационный" типов вроде Option и Result и заканчивая синтексисом. Причём тут сишники - непонятно. Незнайки лишь бы ляпнуть.
     

  • 1.11, Аноним (11), 01:07, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    я верю что окамл может лучше!
    https://github.com/jinyus/related_post_gen
     
  • 1.18, Аноним (-), 07:22, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В OCaml гармонично сочетается функциональное ядро,
    > императивные возможности, продвинутая объектная
    > система и неповторимая модульная система.

    ...и абсолютно отбитый синтаксис, после которого Rust и C++ кажутся не такими уж и плохими.




           let ( * ) (x,~dx) (y, ~dx:dy) =
             x*.y, ~dx:(x *. dy +. y *. dx )



    Все очень читаемо и понятно, разве нет? :). Блин даже автоцензор на такой код агрится. На что же это похоже?...

     
     
  • 2.28, Аноним (28), 13:01, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И что же тут непонятного? Простая перезагрузка оператора для дифференцирования. Матан 1 курс, алло!

     
     
  • 3.35, freehck (ok), 13:58, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > И что же тут непонятного? Простая перезагрузка оператора для дифференцирования.

    Да, вот только не перегрузка, а переопределение. Это важно.

     
  • 3.55, Аноним (-), 04:57, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    1 В матане это выглядит немного не так 2 Суммарно получился еще больший птичи... большой текст свёрнут, показать
     
     
  • 4.61, Аноним (61), 12:22, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Матанализ-то как раз многие понимают, те же инженеры. Вот теорию множеств да, там всё похитрее
     
     
  • 5.64, Аноним (9), 13:28, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    я вот никак не могу понять почему это всякое число в 0 степени должно быть принято на веру за 1, лол.
     
     
  • 6.65, freehck (ok), 14:17, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А нет никакой веры В математике утверждение c 0 1 является не более, чем опреде... большой текст свёрнут, показать
     
  • 6.72, Аноним (61), 19:10, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У нас есть хорошее свойство степени, что если мы a^x разделим на a^y, то получается a^(x-y). Поэтому доопределили нулевую степень как единицу и отрицательную как 1 разделить на число в положительной степени, чтобы удобно с этим работать.
     
     
  • 7.76, Аноним (9), 19:42, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > У нас есть хорошее свойство степени

    Откуда это свойство? Зачем этот банальный аргумент приводить. Вы сначала дайте определение операции возведения в степень, потом уже выводите из этого определения свойства, но никак не наоборот. Ну и следуя вашей логике 0^0 чему тогда равно? И не надо говорить, давайте этот вариант оставим не определенным, а чем не оставить общий вариант неопределенным? Такая же ахинея и с делением на ноль или взятием факториала. А все потому-что вы определили 0 как число и пытаетесь использовать его в "числовых законах" (арифметических функциях).

     
     
  • 8.80, Аноним (61), 21:39, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Исходное свойство увидели из первого определения степени Потом доопределили опе... текст свёрнут, показать
     
     
  • 9.88, Аноним (9), 00:00, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот, что есть первое определение степени Там разве определили x y для x 0 ... текст свёрнут, показать
     
     
  • 10.94, Аноним (61), 01:22, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В начале мы определяем возведение числа a в натуральную степень n следующим обра... большой текст свёрнут, показать
     
     
  • 11.97, Аноним (9), 03:10, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Натуральной степенью n является число из натурального ряда Если да, тогда оно в... большой текст свёрнут, показать
     
     
  • 12.102, Аноним (61), 09:27, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Она была некорректна для нашего первого определения, на натуральных числах Пото... большой текст свёрнут, показать
     
     
  • 13.108, freehck (ok), 11:25, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Анончик 61 , тебе знакома поговорка на вопросы одного дуpaкa и сто мудрецов не... текст свёрнут, показать
     
  • 13.115, Аноним (9), 17:55, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    переопределили - условно определили подвели под результат, в этом то и беда, чт... большой текст свёрнут, показать
     
  • 13.116, Аноним (9), 18:05, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ответ на 13 108, freehck ok , 11 25, 13 10 2025, который запретил анонимам отве... текст свёрнут, показать
     
  • 13.126, Аноним (126), 13:45, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Поправка АХТУНГ Писал по памяти и допустил неточность при сверке по записям в... большой текст свёрнут, показать
     
  • 7.77, Аноним (9), 19:54, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > У нас есть

    Когда поймете по какой причине в биективной позиционной системе счисления нет "нуля", тогда и поймете почему x^0 = 1 - некорректно.

    //en.wikipedia.org/wiki/Bijective_numeration

     
     
  • 8.82, Аноним (61), 21:54, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    По вашей же ссылке в Википедии Ноль есть выходит, пустой строкой обозначается И... текст свёрнут, показать
     
     
  • 9.87, Аноним (9), 23:53, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    empty string - не есть число А 0 принято считать числом ведь, то есть числе... текст свёрнут, показать
     
     
  • 10.92, Аноним (61), 01:02, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так в том и суть Bijective numeration, на который вы ссылку скинули, это по сут... большой текст свёрнут, показать
     
     
  • 11.96, Аноним (9), 01:58, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, а позиционная система счисления обычная не такая же функция Только она пр... большой текст свёрнут, показать
     
     
  • 12.103, Аноним (61), 09:40, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да такая же, но нет, биективная тоже начиная с нуля Она ему представляет пустую... большой текст свёрнут, показать
     
     
  • 13.118, Аноним (9), 18:34, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет не начинается, если начиналось бы то символ пустой строки был бы в списке ... большой текст свёрнут, показать
     
  • 5.69, Аноним (9), 16:31, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ответ на 6 65, freehck ok , 14 17, 12 10 2025, который запретил отвечать аноним... большой текст свёрнут, показать
     
     
  • 6.71, Аноним (61), 19:07, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Математикой надо описывать природу, а не "больное" воображение.

    Математика занимается не описанием природы, а изучением математических систем. Задаются аксиомы и логика, и в ней мы работаем.

    Описанием природы, в т.ч. с использованием математики - это уже к другим наукам: физике, химии, пр. А математика природой не занимается

     
     
  • 7.74, Аноним (9), 19:18, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Математика занимается не описанием природы, а изучением математических систем. Задаются
    > аксиомы и логика, и в ней мы работаем.

    Математика занимается математикой. :)

    > Описанием природы, в т.ч. с использованием математики - это уже к другим
    > наукам: физике, химии, пр. А математика природой не занимается

    Инструмент (аппарат) "математика" в физике, химии и других науках используется?

     
     
  • 8.95, Аноним (61), 01:33, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, по большому счету именно так Да Самое главное, что использоваться ими он мо... большой текст свёрнут, показать
     
     
  • 9.98, Аноним (9), 03:20, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как так, вы же физику, химию и т д естественные науки описываем языком математи... текст свёрнут, показать
     
     
  • 10.104, Аноним (61), 09:44, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет Для математики физики нет А это физиков надо спросить, почему математика им... текст свёрнут, показать
     
     
  • 11.120, Аноним (9), 18:43, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не она изучает реальность, реальность существует и описывается по ее законам, ма... текст свёрнут, показать
     
  • 6.73, Аноним (61), 19:14, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > какое либо понятие из математики вызывает смех, значит оно не имеет никакого отношения к природе

    Математические понятия в целом в природе не существуют. Ни чисел, ни окружностей идеальных, ничего этого в природе нет. И прямого отношения к природе они и не должны иметь. Математика лишь инструменты даёт, идеальные модели, которые бывают применимы для других наук. Некоторые с очевидной наглядностью (натуральные числа), некоторые - с меньшей (те же комплексные числа).

    Когда-то люди и число ноль не признавали, что мол за число такое, ничего же нет, какое ноль число. А для математики - объект как объект

     
     
  • 7.75, Аноним (9), 19:30, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда говорят что чисел в природе нет, мне всегда смешно, почему Да потому-что ... большой текст свёрнут, показать
     
     
  • 8.81, Аноним (61), 21:50, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Где в природе число 1 есть Не вижу нигде Есть 1 яблоко на столе, а вот числа о... большой текст свёрнут, показать
     
     
  • 9.89, Аноним (9), 00:26, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Число вне природы, я же сказал, поэтому вы его пощупать не можете, вы щупаете ... большой текст свёрнут, показать
     
  • 9.93, Аноним (9), 01:10, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в дополнение ru wikipedia org wiki Метаматематика Метатеория, как иерархия тео... текст свёрнут, показать
     
  • 6.127, freehck (ok), 16:41, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо познавать природу

    Ну ты-то уже в познании своём преисполнился, нам до тебя далеко! =)

     
  • 5.84, Аноним (84), 23:07, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Матанализ-то как раз многие понимают, те же инженеры. Вот теорию множеств да,
    > там всё похитрее

    Ну и какой процент инженеров на этом глобусе? Да и не всем инженерам оно на самом деле по жизни надо. А в _той_ записи они точно не будут этим оперировать. Нафиг им надо всякую эзотерику?

     
     
  • 6.90, Аноним (9), 00:28, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Нафиг им надо всякую эзотерику?

    Ответ на этот вопрос ровно такой же как и на вопрос - "Зачем знающему русский язык - китайский?"

     
     
  • 7.101, Аноним (-), 06:24, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ответ на этот вопрос ровно такой же как и на вопрос -
    > "Зачем знающему русский язык - китайский?"

    Ну в общем то таких людей и есть - очень немнго. Ибо сильно разные ипостаси, а применение специфичное, ограниченное, и если вдруг конъюнктура изменится - это знание вообще будет почти некуда приткнуть. Получается актив сложный в освоении и довольно рисковый при этом.

    Но сравнение по части языка просто топчик.

     
     
  • 8.121, Аноним (9), 18:54, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так это одно и тоже, натуральный язык это такая же формальная система Ну пре... текст свёрнут, показать
     
  • 6.107, Аноним (61), 11:15, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и какой процент инженеров на этом глобусе?

    Ну интуитивные понятия об этом у инженеров должны оставаться, иначе что это за инженеры. Речь, конечно, про тех инженеров, у кого много физики в их домене - кто строят механизмы какие-нибудь или что-нибудь такое. Software инженеры-то да, им производные не особо важны, им дискретная математика более значима

    > А в _той_ записи они точно не будут этим оперировать

    Да не более она эзотерична, чем Си. Си-подобный синтаксис просто всем нам суперпривычен, вот мы его и воспринимаем как должное.

     

  • 1.23, cheburnator9000 (ok), 07:50, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Теперь понятно с какой дичи срисовывали раст.
     
     
  • 2.29, Аноним (28), 13:03, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Окамлу 100 лет в обед, вы удивитесь что только с него срисовывали. А на деле - чего тут срисовывать? Окамл просто предоставляет строгую семантику для математических функций. То есть зная математику окамл учится за вечер.
     
     
  • 3.31, Аноним (9), 13:11, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть зная математику окамл учится за вечер.

    жонглируя предметами, вы не познаете силу притяжения.

     
  • 3.32, freehck (ok), 13:23, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть зная математику окамл учится за вечер.

    Вот кстати поддерживаю на 100%. Берёшь RealWorldOcaml, за день читаешь первые несколько глав -- и базовый OCaml уже освоен.
    А дальше будет уже исключительно изучение усиливающих разработчика абстракций.

     
     
  • 4.56, Аноним (-), 05:01, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А дальше будет уже исключительно изучение усиливающих разработчика абстракций.

    Только вот смысла в этом - если заниматься хотелось софтостроем а не математикой - примерно ноль. На этом ocaml по сути нет софта. И даже всякие прототиписты-криптографы и проч - свои макеты на питоне обычно корябают. Потом если зашло - переписывают на что поприличнее. Ocaml в этот список, конечно, не входит.

    Так что чисто практически - вы предложили у..ть эн времени чтобы пострадать фигней, без видимого миру результата с этого всего. С таким же успехом можно в какую-нибудь гамезу поиграться - настолько же полезно окружающим в итоге.

     
     
  • 5.58, freehck (ok), 10:54, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> А дальше будет уже исключительно изучение усиливающих разработчика абстракций.
    > Только вот смысла в этом - если заниматься хотелось софтостроем а не математикой - примерно ноль.

    Да что ты знаешь про софтострой? Я несколько лет жизни проработал коммерческим программистом на OCaml. Всё там в порядке с софтостроем.

     
     
  • 6.66, Аноним (-), 14:44, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Да что ты знаешь про софтострой? Я несколько лет жизни проработал коммерческим
    > программистом на OCaml.

    Побольше твоего, поработав в нескольких жииррных мегакорпах из верхушки фортуны 500 с десяток лет. Что, померялся? Не, эзотериков они вообще не нанимают. Ибо если ЭТОТ уволится - где ему замену потом брать?!

    > Всё там в порядке с софтостроем.

    Оно и видно. Например по элементарному списку вакансий. При том это проверябельно: берете сервис вакансий по вкусу. Смотрите какие скиллы требуются. И сколько вакансий по тому или иному яп. Дальнейшие выводы каждый может сделать для себя сам, без посторонних сказок.

     
     
  • 7.67, freehck (ok), 14:50, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Оно и видно. Например по элементарному списку вакансий. При том это проверябельно: берете сервис вакансий по вкусу. Смотрите какие скиллы требуются. И сколько вакансий по тому или иному яп. Дальнейшие выводы каждый может сделать для себя сам, без посторонних сказок.

    Посмотри список вакансий, сколько нужно автослесарей для всяких станций техобслуживания. Как много вакансий!
    А потом посмотри, сколько нужно авиационных инженеров, специализирующихся на ГПВРД. Раз-два и обчёлся...

    > эзотериков они вообще не нанимают. Ибо если ЭТОТ уволится - где ему замену потом брать?!

    Вот ушёл инженер -- где ему замену потом брать?! Товар-то штучный!

    Ну а дальнейшие выводы пусть каждый делает для себя сам. ))))

     
     
  • 8.85, Аноним (84), 23:17, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И это как бы может запросто стать проблемой Прикинь, если например ты работал м... большой текст свёрнут, показать
     
  • 3.40, Аноним (37), 15:06, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    100 лет в обед это вообще ML-ям, а конкретно OCaml появился в 1996.
     

  • 1.39, blevakagmail.com (?), 15:04, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ocaml for.net aka F#
    Rust via ocaml
    Fabel fsharp компилируется в Раст. Кстати ребята делают на f# fidelity fw компилируется в mlir натив. У оригинала также классный компилятор
     
  • 1.42, Аноним (-), 15:15, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >let ( * ) (x,~dx) (y, ~dx:dy) =
    >x*.y, ~dx:(x *. dy +. y *. dx )

    Найдём производную правой части.

     
  • 1.46, Аноним (46), 17:12, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ....и эти люди ещё ругают Перл!
     
  • 1.47, Аноним (47), 18:01, 11/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я могу иллюстрировать свои научные труды кодом на Си (ранее Фортране) или Бейсике в уверенности, что большинство коллег - инженеров и физиков - легко поймет предлагаемые мной алгоритмы. Но как можно что-то писать на этом?
     
     
  • 2.50, Аноним (37), 21:37, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    INRIA как-то пишет.
     
     
  • 3.59, Аноним (59), 11:32, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > INRIA как-то пишет.

    У всяких научников иногда пару чернокнижников и прочих эзотериков может и затисаться ненароком в ряды школяров. Потом будут всякую нежить рунами подымать, когда прокачают скилл.

    В любом случае процент софта на этом - крайне близок к 0%. Какая-то INRIA точно не основной производитель софта на планете.

     
     
  • 4.78, Аноним (37), 21:16, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так они и не производители массово-потребителького софта, а проблемноориентированного.
     
  • 3.113, Аноним (112), 12:36, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В одном институте (НИИ) люди одно и то же переписывали 3 раза на разных ЯПах, просто потому что интересно было. Поэтому это не показатель.
     
  • 3.119, Аноним (47), 18:38, 13/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > INRIA как-то пишет.

    Не считаете, что написание одного Eigen (все остальные проекты ничтожны) 3 тысячами человек  за 58 лет - маловато для вклада в науку?

     
  • 2.51, Аноним (-), 22:11, 11/10/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > большинство коллег - инженеров и физиков - легко поймет предлагаемые мной алгоритмы.

    OCaml не для инженеров и физиков, он для программистов. Ты бы ещё посетовал на то, что программисты не понимают уравнения Шрёдингера или сопромата.

     
     
  • 3.60, Аноним (59), 11:35, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> большинство коллег - инженеров и физиков - легко поймет предлагаемые мной алгоритмы.
    > OCaml не для инженеров и физиков, он для программистов.

    Программистам в 99% случаев нахрен не упало вычислять производные, а тут прям пример с этим. И софта на этом собственно - около ноля. Пишут на этом в основном какие-то специфичные академы, страшно далекие от людей, продов и проч. И получается - то что получается.

     
     
  • 4.68, freehck (ok), 15:10, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Пишут на этом в основном какие-то специфичные академы, страшно далекие от людей, продов и проч.

    Да как раз нет. На этом вполне себе пишут промышленный софт, требующий высокой надёжности. За примерами далеко ходить не надо: разработка серверного ПО для бирж (Jane Street), разработка DLP-систем (Rostelecom Solar)... Словом, не так уж это всё далеко от людей и продов: вы с подобным ПО вполне себе взаимодействуете каждый день, просто не в курсе.

     
     
  • 5.83, Минона (ok), 22:57, 12/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да откуда им быть в курсе, они заняты перелистыванием фортун500,
     
  • 5.123, Аноним (-), 11:24, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это как сказать что на COBOL пишут Хрен поспоришь Но есть нюансы Главный из к... большой текст свёрнут, показать
     
     
  • 6.125, freehck (ok), 12:15, 14/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > за всю мою жизнь я не видел софта на COBOL. И на сабже не увижу

    Да, пожалуй, что ты -- действительно не увидишь. А я вот видел.

    >> разработка DLP-систем (Rostelecom Solar)...
    > Я бы не стал приводить ростелеком как пример отличного управления компанией.

    А я и не привожу, я просто пишу имя вендора, поскольку факт: после того, как Ростелеком купил Солар, компания была переименована в Ростелеком Солар.

    > Я думаю что если это ПО куда-то денется я просто не увижу разницы в этом мире.

    Наивный.

     

  • 1.114, Аноним (112), 12:41, 13/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Количество вакансий на Ocaml только расстраивает.
     
  • 1.129, Пояснитель (?), 08:39, 15/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зная многие ЯП я пришёл к выводу, что Ocaml, это оптимальный язык - быстрый, функциональный, довольно декларативный.
     
     
  • 2.136, freehck (ok), 14:23, 16/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Зная многие ЯП я пришёл к выводу, что Ocaml, это оптимальный язык - быстрый, функциональный

    Поддерживаю, но...

    > довольно декларативный

    ...в каком месте, можно примерчик? =)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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