Свързани въпроси 'ocaml'

Рекурсивна функция: този израз трябва да има тип единица.
Тази функция: let rec foo () = try let line = input_line stdin in (try Mparser.tex_expr lexer_token_safe (Lexing.from_string line); print_string ("SUCCESS\n") with Mtexutil.Illegal_tex_function s ->...
1512 изгледи
schedule 26.09.2022

Тест за намиране на височината на двоично дърво
Написах функция, която намира височината на двоично дърво (т.е. # възли по най-дългия път от корена до листа). let rec height (t: 'a tree) : int = begin match t with | Empty -> 0 | Node (l, v, r) -> 1 + max (height 1) (height r) end...
2727 изгледи
schedule 19.09.2022

Menhir: --external-tokens изглежда не може да намери модул Tokens
Имам файл tokens.ml , който има израз type token в него. Имам и tokens.mli със същото изявление type token . Сега имам parser.mly , който използва токените от tokens.mly . Искам да запазя токените си в tokens.ml/mli и синтактичния...
99 изгледи
schedule 20.09.2022

Как да разопаковам накратко алгебричен тип данни в OCaml?
Има ли добър начин за кратко разгръщане на алгебричен тип данни в OCaml? Например, разгледайте следния код, който дефинира два различни типа математически функции type ftype = |...
198 изгледи
schedule 25.09.2022

Функция, която прави некъри къри (без използване на ramda библиотека)
Аз съм начинаещ в Ocaml и искам да направя uncurried функция curried. например, let add (x,y) = x + y Това е форма без къри и искам да направя функция, наречена "къри", като let inc = curry(add)(1) let ret = inc(2) Ако приложим...
54 изгледи
schedule 24.09.2022

Изключение за липса на памет на Ocaml; многословният режим казва препълване на стека при структурно сравнение
Много огромна ocaml програма от извънземен източник трябва да бъде коригирана. Един от проблемите е, че програмата се срива на привидно невинен ред: Hashtbl.mem loc_to_no loc с изключение на "Няма памет". Работата е там, че със сигурност...
1590 изгледи
schedule 04.10.2022

Как да проверя версията на GMP, MPFR и CamlIDL?
Въпросът ми е прост... Как мога да проверя версията на GMP, инсталирана на моята машина? Какво ще кажете за MPFR? А какво да кажем за CamlIDL? Благодаря ти много
8193 изгледи
schedule 02.10.2022

Как правилно да отстранявате грешки в OCaml кода?
Мога ли да знам как опитен разработчик на OCaml отстранява грешки в своя код? Това, което правя, е просто да използвам Printf.printf . Това е твърде обезпокоително, тъй като трябва да ги коментирам всички, когато имам нужда от чист резултат....
559 изгледи
schedule 03.10.2022

ocamlnet: как да инсталирам nettls-gnutls?
Прекарах трудно време в опити да инсталирам библиотеката nettls-gnutls на ocamlnet ( ocamlnet-gnutls ) - но напразно - не мога да намеря как да го инсталирам. И двата опитах с ocaml 4.03.0 и 4.02.1. Моята цел е да използвам Nettls_gnutls.init() в...
275 изгледи
schedule 01.10.2022

тип +'a t в Ocaml Map Library?
Работя с вградената библиотека Map на Ocaml за набор от проблеми и имам проблем с достъпа до типа данни на самата карта. Предполага се, че това е третото изпълнение на речник (първите две са списък и небалансирано двоично дърво за търсене), а част от...
1457 изгледи
schedule 10.10.2022

Намиране на елемент в списък и връщане на неговия индекс - OCaml
Написах следната функция за намиране на даден елемент "x" в даден списък "lst" и връщане на неговия индекс, ако бъде намерен, в противен случай ще върне грешка: exception Failure of string let rec func x lst c = match lst with | [] ->...
10207 изгледи
schedule 05.10.2022

Параметричен локално абстрактен тип
Опитвам се да разбера как да напиша функция в зависимост от модул с параметричен тип, но не мога да намеря нищо подобно никъде. Опитах се да намаля проблема колкото е възможно повече и завърших с този фиктивен пример. module type Mappable = sig...
1125 изгледи
schedule 08.10.2022

LLVM урок OCaml компилация Грешка в асемблера
Работих върху LLVM Kaleidoscope Tutorial за OCaml. В третата част на урока отидох до примерния код в папката OCaml-Kaleidoscope\Chapter3 Срещам проблем при компилиране с ocamlbuild toy.byte на cygwin. Това е кодът, даден в урока...
233 изгледи
schedule 06.10.2022

изграждане на списък от int в ocaml
Искам да напиша функция, която изгражда списък между две int, включително rec myFunc x y ще изгради списък с всички int между x и y, включително x и y За логиката в момента имам нещо подобно: let rec buildList i n = let x = i+1 in if i <=...
9354 изгледи
schedule 28.10.2023

Има ли команда за генериране на .cmo .cmx .cmi .mli заедно?
Имам .ml файл, бих искал да генерирам неговите .cmo , .cmx , .cmi и .mli с възможно най-малко команди, може ли някой да помогне?
2681 изгледи
schedule 24.10.2023

Представяне на знак в лексер
Пиша лексер в OCaml за малък език, имам част от неговата граматика, както следва: tab-character = %x0009 eom-character = %x0019 space-character = %x0020 underscore = %x005F single-quote = %x0027 ; ' Опитвам се да напиша let single_quote =...
503 изгледи
schedule 06.11.2022

OCaml, F# последователни, каскадни let обвързвания
Типично за OCaml или F# е да има последователни let свързвания във формата: let a1 = ... let a2 = ... let a3 = ... let f1 = ... let f2 = ... let f3 = ... f3 a1 a2 a3 В много случаи някои от тези let обвързвания (напр. f1 и f2 в примера...
328 изгледи
schedule 28.10.2023

Функция, чийто аргумент е 32-битово цяло число без знак
в ocaml се опитвам да напиша функция, която приема като аргумент 32-битово цяло число без знак. Въпреки това имам проблеми с определянето на правилния идентификатор, който да използвам в декларацията на типа на функцията. Чрез гугъл успях да намеря...
1274 изгледи
schedule 09.11.2023

В OCaml колко голяма е цената на абстракцията (т.е. полиморфните функции)
Все още съм в ранна фаза на изучаване на OCaml и съм любопитен да знам кой е най-добрият начин за извличане на максимална производителност от общия код в OCaml. Като малък експеримент написах две полиморфни функции: едната в C++, а другата в OCaml,...
1307 изгледи
schedule 30.11.2022

ocaml oUnit и main ocaml lib правят противоречиви предположения относно внедряването на Unix
Несъвместимите предположения върху интерфейса (Ocaml) предполагат да изградя отново и опитах това, но безрезултатно. Използвам mac port за управление на повечето от моите инструменти за разработка и след надграждането до Mac OS 10.8.2 изглежда...
585 изгледи
schedule 08.12.2022