Portál AbcLinuxu, 13. července 2025 07:37


Dotaz: OCAML ako na kniznice?

12.3.2017 17:19 coder
OCAML ako na kniznice?
Přečteno: 252×
Odpovědět | Admin
Ako s ocamlc prilinkovat modul core? Mám takýto príklad hello.ml
open Core.Std

(match String.is_prefix "Hello World" "Hello" with
| true -> "Má"
|_ -> "Nemá")
|> Printf.printf "%s preffix"
A kompilujem to takto:

ocamlc -o hello hello.ml

Potreboval by som tam pridat module core. Ktory uz mam stiahnuty cez OPAM. Ale vobec nemam skusenosti s makefilami ani inymi buildovacimi nastrojmi v linuxe.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.3.2017 22:38 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: OCAML ako na kniznice?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Inštalácia OCAML + balíček Core pre Debian


root:

apt-get install ocaml ocaml-findlib pam

užívateľ:

opam init
opam install core

hello.ml
open Core.Std;;

let is_in text have = if (String.is_prefix text have) then "have" else "no-have";;

Printf.printf "%s\n" (is_in "hello" "lo");;
Makefile
SOURCE=hello.ml
PROGRAM=hello

$(PROGRAM): $(SOURCE) 
	ocamlfind ocamlc -linkpkg -thread -package core $(SOURCE) -o $(PROGRAM)

s:
	@echo "You must run:\n    eval \`opam config env\`"

setting:
	@echo "You must run:\n    eval \`opam config env\`"

clean:
	rm -f $(PROGRAM) $(PROGRAM).cmi $(PROGRAM).cmo

run:
	@./$(PROGRAM)
Pred prekladom

Pred prekladom treba najskôr nastaviť shell.

Nastavíš: eval `opam config env`

Tento príkaz zistíš aj príkazom make setting.

Preklad programu

make

Spústenie programu

make run alebo ./hello

Zdroje zdroj 1 zdroj 2
12.3.2017 22:41 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: OCAML ako na kniznice?
Správne je
apt-get install ocaml ocaml-findlib opam

nie
apt-get install ocaml ocaml-findlib pam
12.3.2017 22:39 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: OCAML ako na kniznice? ... oprava
Odpovědět | | Sbalit | Link | Blokovat | Admin

Inštalácia OCAML + balíček Core pre Debian


root:

apt-get install ocaml ocaml-findlib opam

užívateľ:

opam init
opam install core

hello.ml
open Core.Std;;

let is_in text have = if (String.is_prefix text have) then "have" else "no-have";;

Printf.printf "%s\n" (is_in "hello" "lo");;
Makefile
SOURCE=hello.ml
PROGRAM=hello

$(PROGRAM): $(SOURCE) 
	ocamlfind ocamlc -linkpkg -thread -package core $(SOURCE) -o $(PROGRAM)

s:
	@echo "You must run:\n    eval \`opam config env\`"

setting:
	@echo "You must run:\n    eval \`opam config env\`"

clean:
	rm -f $(PROGRAM) $(PROGRAM).cmi $(PROGRAM).cmo

run:
	@./$(PROGRAM)
Pred prekladom

Pred prekladom treba najskôr nastaviť shell.

Nastavíš: eval `opam config env`

Tento príkaz zistíš aj príkazom make setting.

Preklad programu

make

Spústenie programu

make run alebo ./hello

Zdroje zdroj 1 zdroj 2
13.3.2017 00:30 Dušan Kreheľ | skóre: 9 | blog: krehel_sk___informovat_o_novych_verziach_softveru | Prešov
Rozbalit Rozbalit vše Re: OCAML ako na kniznice? ... oprava
Pozor, v Makefile, čo tam je jedná medzera na začiatku riadku, tak v skutočnosti tam musí byť striktne jeden tabulátor.
15.3.2017 00:40 coder
Rozbalit Rozbalit vše Re: OCAML ako na kniznice? ... oprava
Dakujem za rady aj ked nemam atp, ale pacman, ale to je vlastne jedno. Funguje to uz som si rozbehol merlin pre core balik takze mi to aj nasepkava.

Este raz diky. Konecne som sa pohol dalej.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.