0
ответов

В чем разница между записями и кортежами в OCaml

Есть ли разница между записями и кортежами, кроме синтаксической? Есть ли разница в производительности? Одинакова ли реализация для кортежей и записей? У вас есть...
вопрос задан: 7 May 2012 12:15
0
ответов

Преобразование строк OCaml в формат6

Следующий код не компилируется :let x = "hello" в Printf.printf x Ошибка :Ошибка :Это выражение имеет тип string, но ожидалось выражение типа ('a, out _channel, unit )...
вопрос задан: 5 May 2012 09:37
0
ответов

OCaml Printf.sprintf

Почему происходит такое поведение? #Printf.sprintf ("Foo %d %s" )2 "bar";;-:string = "Foo 2 bar" #Printf.sprintf ("Foo %d" ^ "%s" )2 "bar";; Printf.sprintf ("Foo %d" ^ "%s" )2 "bar";; Ошибка :...
вопрос задан: 2 May 2012 01:12
0
ответов

Как применить функцию к варианту?

Пусть это types = type intC = int;; введите boolC = bool; введите строкуC = строка;; компонент типа = A of intC | B из boolC | C строкиC;; Если я хочу применить функцию к типу а компонента А,...
вопрос задан: 26 April 2012 16:57
0
ответов

OCaml -Сопоставление шаблона со ссылкой на список в кортеже

Есть ли более чистый способ сделать это? Я пытаюсь сопоставить шаблон (a' option*(char *nodeType )list ref, единственный способ, которым я нашел, это :сопоставить a с | _, l -> сопоставить !l с...
вопрос задан: 25 April 2012 03:47
0
ответов

Обработка нескольких типов исключений в OCaml

Возможно ли следующее? попробуй (*опасная зона *)с Не найдено _e -> (*код для обработки не найден *)с кодом t -> (*для обработки всех остальных проблем *)Если я наберу это на верхнем уровне, я...
вопрос задан: 24 April 2012 23:49
0
ответов

Распаковка конструктора OCaml

Можно ли распаковать тип, привязав его данные к одному значению вместо кортежа? #тип foo = Foo of int *строка;; тип foo = Foo строки int *#Фу (3; "бар" );; Фу (3; "бар" );; Ошибка :...
вопрос задан: 24 April 2012 22:08
0
ответов

Псевдоним условного модуля

Для классового проекта я пишу программу, которая оценивает производительность различных реализаций одной и той же абстрактной структуры данных. Поскольку я использую одинаковый код для тестирования каждого из них, я...
вопрос задан: 22 April 2012 23:18
0
ответов

Внедрение OCaml в C :ошибка компоновки

Я пытаюсь скомпилировать программу, используя смешанные исходные коды C и Ocaml, при этом основная часть приложения на C вызывает некоторые фрагменты кода OCaml. Хорошо, здесь нет проблем, это кажется распространенным...
вопрос задан: 20 April 2012 19:57
0
ответов

Параметры OCamlbuild и camlp4

Я использую camlp4.macro для включения условной компиляции. у меня есть проблемы с сообщением OCambuild о том, что некоторые файлы с тегом «use_jscore» должны быть предварительно обработаны с заданной опцией camlp4. Вот...
вопрос задан: 18 April 2012 14:18
0
ответов

Карта OCaml ключей int ::где 'simple' int для использования с функтором Map.Make?

Мне нужна карта OCaml с ключами типа int, поэтому я использую Map.Make для ее создания. Однако кажется, что стандартные модули «только» предоставляют такие модули, как Big_int, Int32, Int64 и Nativeint, которые требуют...
вопрос задан: 12 April 2012 21:02
0
ответов

Объекты внутри объектов в OCaml

Я пытаюсь выяснить, как я могу параметризовать объекты OCaml с другими объектами. В частности, я хочу иметь возможность создать объект ссылки, который содержит объект прямого узла и обратный узел...
вопрос задан: 12 April 2012 08:54
0
ответов

строка в список символов

Я хочу написать функцию, которая принимает строку и возвращает список символов. Вот функция, но я думаю, что она не делает то, что я хочу (я хочу взять строку и вернуть список символов). let rec ...
вопрос задан: 9 April 2012 04:02
0
ответов

Что такое квантификаторы типов?

Многие статически типизированные языки обладают параметрическим полиморфизмом. Например, в C#можно определить :T Foo(T x){ return x; } На сайте вызова вы можете сделать :int y = Foo(3); Эти типы...
вопрос задан: 8 April 2012 13:05
0
ответов

Слабое-запоминание результата много-параметрической функции в OCaml

Я ищу способ запомнить результаты функции OCaml f, которая принимает два параметра (или более, в общем). Кроме того, (и это сложная часть), мне нужна карта, лежащая в основе этого...
вопрос задан: 7 April 2012 17:05
0
ответов

общая функция высокого порядка таймера в OCaml

Я пытаюсь реализовать общую функцию таймера в OCaml, которая будет принимать в качестве входных данных функция произвольной арности и возвращаемого типа 'r и возвращает функцию с: той же арностью и типами входных данных...
вопрос задан: 6 April 2012 21:52
0
ответов

Логическое выражение OCaml [[]] == [[]]

У меня есть функция, которая возвращает [[]], и я хочу протестировать результат как модульный тест . Но я обнаружил, что выражение [[]] == [[]] возвращает false. Вот простой тестовый код: # [[]] == [[]];; - : bool = false ...
вопрос задан: 6 April 2012 10:22
0
ответов

Как сохранить и изменить значение переменной в OCaml ?

Это может быть очень новый вопрос, но я не нашел ответа. Мне нужно сохранить, например, список, а затем заменить его другим под тем же указателем.
вопрос задан: 5 April 2012 06:21
0
ответов

Улучшение лямбда-кода, генерируемого OCaml для утверждений.

Я хотел бы улучшить лямбда-код, генерируемый для конструкции "assert" OCaml 3.12.1. Вот пример: пусть f x = assert (x = 4); утверждать (2 + х = 6); утверждать (х - х = 0); выход х ...
вопрос задан: 4 April 2012 09:36
0
ответов

Модуль OCaml: включить И открыть?

Я новичок в модуле OCaml, и мне не удалось использовать свой собственный модуль, не сочетая «включить» и «открыть». Я безуспешно пытался поместить подпись в отдельный файл .mli. ...
вопрос задан: 3 April 2012 17:05
0
ответов

несколько «основных» модулей в связанных модулях OCaml

У меня есть ряд «библиотечных» модулей в OCaml (в основном служебные и вспомогательные функции), куда я добавил следующий код в конце для тривиального модульного тестирования : пусть main () = ... main или let()...
вопрос задан: 2 April 2012 19:06
0
ответов

Запись и чтение пользовательской переменной в файл в Ocaml

Я пытаюсь записать и затем прочитать переменную в файл. Переменная относится к типу данных, созданному мной. (Если поможет: введите sys = Файл строки * список строк | Папка строки * список sys ;; ...
вопрос задан: 29 March 2012 22:46
0
ответов

Где я могу найти модуль OCaml Option?

Я имею в виду этот модуль: Option Я не могу его найти, открыть Option выдает ошибку: Unbound module Option и файла 'option.cma' нет. Есть ли он в стандартной библиотеке? Он называется «option.cma»?
вопрос задан: 28 March 2012 19:39
0
ответов

начало..конец в синтаксическом сахаре OCaml?

Глядя на неофициальную грамматику OCaml на этом сайте, единственная продукция, где появляется начало, это :Выражение ::= начало Выражения конец, а чуть дальше можно увидеть :Выражение ::= (Выражение...
вопрос задан: 28 March 2012 18:33
0
ответов

OCaml вставляет элемент в список

Каков стандартный способ вставки элемента в определенную позицию в списке в OCaml. Разрешена только рекурсия. Никакие операции присваивания не разрешены. Моя цель - сжать график в ocaml с помощью ...
вопрос задан: 26 March 2012 18:38
0
ответов

вернуть n-й элемент списка в OCaml?

Я новичок в Ocaml, просто хочу убедиться, как выполнить простую функцию, например, вернуть n-й элемент списка с помощью рекурсивной функции? Прототип вроде get_nth (list, n) с int list * int -...
вопрос задан: 21 March 2012 18:25
0
ответов

OCaml: неожиданное исключение с Unix.getlogin при перенаправлении stdin

Я обнаружил следующую проблему в этом простом коде: let () = print_endline "Hello"; print_endline (Unix.getlogin ()) Запуск в обычном случае с ./a.out дает: Hello ricardo Но запуск...
вопрос задан: 20 March 2012 17:33
0
ответов

Преобразование Ocaml int в двоичную строку

Как проще всего преобразовать Int32 в двоичную? Например: -1 -> "\255\255\255\255"? Редактировать: Чтобы использовать extlib, установите его с помощью yum и на верхнем уровне: #use "topfind";; #требовать "extlib";;
вопрос задан: 20 March 2012 12:01
0
ответов

Использование конструктора вариантного типа только с одним значением кортежа

# type foo = Foo of int * int # пусть t = (1, 2) # Ступня Ошибка: конструктор Foo ожидает 2 аргумента(ов), но здесь применяется к 1 аргументу(ам) Как получилось, что я должен выполнить Foo (1, 2), чтобы избежать этого...
вопрос задан: 19 March 2012 17:14
0
ответов

проверить сигнатуру библиотеки (.cma) из консоли

Допустим, у меня есть файл библиотеки OCaml foo.cma. Есть ли инструмент командной строки для печати подписи функций и других типов, определенных там? Утилита ocamlbrowser, похоже, основана на Windows (...
вопрос задан: 19 March 2012 11:13