Публикации по теме 'ocaml'


Появление кода 2019 — Счастливые 14
Да, я знаю, что в заголовках моих постов есть ошибки. В своей последней статье я посетовал, что работа над проектом застопорилась. Что ж, написание этого поста было толчком, который мне был нужен, чтобы снова сесть на лошадь или, так сказать, на верблюда. И вот, через несколько дней я решил 14-й день Advent of Code, и более того: мне это понравилось. (и тогда, конечно, мне потребовалось два месяца, чтобы опубликовать эту статью). Две причины для этого: лучшие инструменты и забавная..

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

Что есть причина?
Новый язык для Интернета Что есть причина? Язык от Facebook, который компилируется в JavaScript Reason (ранее ReasonML) - это синтаксис и набор инструментов, упакованных в простой в использовании пакет. Его цель - привлечь внимание инженеров JavaScript, предоставляя знакомый синтаксис и облегчая интеграцию в существующую экосистему JS. Я наблюдал за его развитием в течение прошлого года и экспериментировал с ним на стороне. Так что же такое разум и почему вам это нужно? Цель..

Вопросы по теме 'ocaml'

Объяснение сопоставления с образцом и переключателем
Я пытался объяснить разницу между операторами switch и сопоставлением с образцом (F #) нескольким людям, но я действительно не мог объяснить это хорошо ... большую часть времени они просто смотрят на меня и говорят «так почему? не надо просто...
13599 просмотров
schedule 28.05.2023

OCaml: сопоставить выражение внутри другого?
В настоящее время я работаю над небольшим проектом с OCaml; простой упрощатель математических выражений. Я должен найти определенные шаблоны внутри выражения и упростить их, чтобы количество скобок внутри выражения уменьшилось. До сих пор мне...
35304 просмотров
schedule 01.09.2022

Есть какая-нибудь документация по OCaml Sdl?
Я разрабатываю небольшую игру, используя для этого OCaml SDL. Я не нашел там документации по этому поводу, поэтому у меня есть три вопроса: Я хочу использовать OCaml SDL под Windows, чтобы кто-нибудь мог помочь, как я могу его скомпилировать (я...
1888 просмотров
schedule 11.06.2022

Как прочитать растровое изображение в OCAML?
Я хочу прочитать файл растрового изображения (из файловой системы) с помощью OCAML и сохранить пиксели (цвета) внутри массива, который имеет размер растрового изображения, каждый пиксель займет одну ячейку в массиве. Я нашел функцию...
4414 просмотров
schedule 28.02.2023

Определение типа на лету в ООП-конструкции OCaml
Я изучаю ООП-конструкции OCaml и частично реализовал это сегодня, пока не понял, что понятия не имею, как представить оператор полиморфного сопоставления без использования ключевого слова type вне объекта. class bar (param:string) = object (code)...
755 просмотров
schedule 23.11.2022

Рекомендуемая литература по общим методам отладки
Что бы вы порекомендовали прочитать об общих методах отладки? Меня больше интересуют принципы и лучшие практики, чем конкретные платформенные решения. Для справки, я в основном работаю с .NET (F#, C#) и балуюсь Haskell и Ocaml. В один из...
409 просмотров
schedule 26.05.2023

Фреймворки, которые поддерживают сложные вложенные формы, такие как accepts_nested_attributes_for Rails?
Я работаю над небольшим побочным проектом для друга, и мне нужно динамически создавать сложные формы из набора предопределенных типов, которые, в свою очередь, сохраняются через базовую объектную модель. Пока я использую Rails 2.3.4,...
133 просмотров
schedule 25.07.2022

Инициализировать массив пустым пользовательским типом OCAML
я настроил пользовательский тип данных type vector = {a:float;b:float}; и я хочу инициализировать массив векторного типа, но ничего не содержащий, просто пустой массив длины x. следующее let vecarr = Array.create !max_seq_length...
3514 просмотров
schedule 17.10.2022

В чем разница между ключевыми словами `fun` и` function`?
Иногда я вижу код вроде let (alt : recognizer -> recognizer -> recognizer) = fun a b p -> union (a p) (b p) Или вроде: let hd = function Cons(x,xf) -> x | Nil -> raise Empty В чем разница между fun и...
19780 просмотров
schedule 09.09.2022

Ocaml: Ленивые списки
Как мне составить ленивый список, представляющий последовательность удваивающихся чисел? Пример: 1 2 4 8 16 32
5429 просмотров
schedule 29.10.2022

OCaml: Как построить форматированную строку питоническим способом?
Все это начинается с простой идеи: как написать строку в формате Python в ocaml. питонцы могут инициализировать строку как: str = "this var: %s" % this_var str2 = "this: %s; that: %s" % (this_var, that_var) но форматированный строковый код...
2345 просмотров
schedule 02.05.2022

Каковы компромиссы при выборе языка функционального программирования для использования с LLVM?
Предположим пока, что C ++ не является функциональным языком программирования. Если вы хотите написать компилятор, использующий LLVM для бэкенда, и вы хотите использовать функциональный язык программирования и его привязки к LLVM для выполнения своей...
5732 просмотров

Как создать тип, использующий Dyn_array Batteries в OCaml?
Например, предположим, что я хочу создать такой тип (используя Dyn_array ): type some_type = SomeConstructor of <Dyn_array of integers> Я немного потерялся в том, как это сделать. Может ли кто-нибудь привести мне пример, чтобы я мог...
129 просмотров
schedule 28.04.2022

Хвостовая рекурсивная сортировка слиянием в OCaml
Я пытаюсь реализовать хвостовую рекурсивную функцию сортировки списков в OCaml и получил следующий код: let tailrec_merge_sort l = let split l = let rec _split source left right = match source with | [] -> (left, right)...
5303 просмотров
schedule 08.04.2022

Можно ли использовать алгоритм Голдберга в ocamlgraph для поиска графа потока с минимальными затратами?
Я ищу реализацию проблемы графа потока минимальной стоимости в OCaml. Библиотека OCaml ocamlgraph имеет реализация алгоритма Голдберга . Документ под названием Эффективная реализация алгоритма Голдберга-Тарьяна Алгоритм потока с...
494 просмотров
schedule 16.03.2023

Об ocamlyacc, грамматике и приоритете применения функций
Я новичок в OCaml и пытаюсь написать простую грамматику, похожую на OCaml, и не могу в этом разобраться. Моя грамматика позволяет что-то вроде этого: let sub = fun x -> fun y -> x - y;; Однако, если я хочу использовать функцию,...
3257 просмотров
schedule 18.03.2023

Регулярные выражения в OCaml
Я хочу использовать регулярные выражения в OCaml, и мне кажется, что модуль Str предоставляет эти функции. Итак, я попробовал с простой программой: open Str let regx = regexp "." но это дает мне следующую ошибку Файл "lol.ml",...
15258 просмотров
schedule 19.08.2023

Рекурсивный набор в OCaml
как я могу определить Set в OCaml, который также может содержать элемент его типа? Чтобы объяснить проблему, у меня есть объявление типа для многих типов данных, таких как type value = Nil | Int of int | Float of float | Complex of...
480 просмотров
schedule 07.04.2022

Насколько стабильны и широко распространены аккумуляторы OCaml, и рекомендуется ли это?
Я только что вернулся к OCaml для нового небольшого исследовательского проекта после многих лет SML, Haskell и F#. Я быстро обнаружил, что упускаю некоторые вещи при использовании библиотек OCaml, а также мне не хватало синтаксиса для монадических...
1505 просмотров
schedule 27.07.2023

Вывод типов с взаимной рекурсией
Я думал о том, как вывод типов работает в следующей программе OCaml: let rec f x = (g x) + 5 and g x = f (x + 5);; Конечно, программа совершенно бесполезна (бесконечный цикл), но как насчет типов? OCaml говорит: val f : int -> int =...
1681 просмотров
schedule 28.02.2022