Публикации по теме '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 просмотров
schedule
12.07.2022
Как создать тип, использующий 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