FreeBirdLjj has quit [Remote host closed the connection]
brunoro has joined #ocaml
brunoro has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
Orion3k has quit [Remote host closed the connection]
conrad1 has joined #ocaml
conrad1 has quit [Ping timeout: 260 seconds]
brunoro has joined #ocaml
brunoro has quit [Ping timeout: 268 seconds]
AlexRussia has quit [Ping timeout: 260 seconds]
pierpa has quit [Ping timeout: 260 seconds]
smondet` has quit [Ping timeout: 240 seconds]
brunoro has joined #ocaml
jao has quit [Remote host closed the connection]
brunoro has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
jao has joined #ocaml
govg has joined #ocaml
brunoro has joined #ocaml
Heasummn has quit [Quit: Leaving]
brunoro has quit [Ping timeout: 260 seconds]
nomicflux has quit [Quit: nomicflux]
Muzer has quit [*.net *.split]
Muzer has joined #ocaml
cpdean has quit [Ping timeout: 260 seconds]
jao has quit [Ping timeout: 240 seconds]
brunoro has joined #ocaml
MercurialAlchemi has joined #ocaml
struktured has quit [Ping timeout: 240 seconds]
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
brunoro has quit [Ping timeout: 248 seconds]
struktured has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
brunoro has joined #ocaml
dx has joined #ocaml
brunoro has quit [Ping timeout: 260 seconds]
struktured has quit [Ping timeout: 250 seconds]
brunoro has joined #ocaml
tennix has quit [Quit: WeeChat 1.5]
mkhu has joined #ocaml
conrad1 has joined #ocaml
brunoro has quit [Ping timeout: 268 seconds]
cpdean has joined #ocaml
conrad1 has quit [Ping timeout: 248 seconds]
cpdean has quit [Ping timeout: 260 seconds]
struktured has joined #ocaml
MercurialAlchemi has joined #ocaml
brunoro has joined #ocaml
brunoro has quit [Ping timeout: 260 seconds]
djellemah has joined #ocaml
Algebr has joined #ocaml
brunoro has joined #ocaml
brunoro has quit [Ping timeout: 260 seconds]
hank has joined #ocaml
FreeBirdLjj has joined #ocaml
ggole has joined #ocaml
hank has quit [Ping timeout: 240 seconds]
brunoro has joined #ocaml
ggole_ has joined #ocaml
cpdean has joined #ocaml
alfredo has joined #ocaml
ggole__ has joined #ocaml
ggole has quit [Ping timeout: 248 seconds]
brunoro has quit [Ping timeout: 260 seconds]
ggole_ has quit [Ping timeout: 250 seconds]
cpdean has quit [Ping timeout: 240 seconds]
<Algebr>
def`: I'm having non-deterministic problems with merlin over emacs's tramp ssh. What I think is happening is some kind of race between getting variables that it needs to configure itself from opam and actually running the require 'merlin
<Algebr>
it is difficult to reproduce
brunoro has joined #ocaml
jave has quit [Ping timeout: 250 seconds]
copy` has quit [Quit: Connection closed for inactivity]
brunoro has quit [Ping timeout: 260 seconds]
jave has joined #ocaml
ggole_ has joined #ocaml
ggole__ has quit [Ping timeout: 268 seconds]
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
Algebr` has joined #ocaml
Algebr has quit [Read error: Connection reset by peer]
brunoro has joined #ocaml
__rlp has quit [Ping timeout: 260 seconds]
brunoro has quit [Ping timeout: 268 seconds]
ggole_ has quit [Ping timeout: 260 seconds]
conrad1 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
conrad1 has quit [Ping timeout: 260 seconds]
brunoro has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
Simn has joined #ocaml
brunoro has quit [Ping timeout: 250 seconds]
brunoro has joined #ocaml
brunoro has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
darkf has quit [Read error: Connection reset by peer]
darkf has joined #ocaml
AlexDenisov has joined #ocaml
ocaml983 has joined #ocaml
AlexDenisov has quit [Client Quit]
AlexDenisov has joined #ocaml
<ocaml983>
I'm successfully building a .cma file with ocamlbuild, but I'm not sure how to include it when building an executable. Specifically, I'd like to not re-compile the library when building the executable. Is that possible?
larhat has joined #ocaml
AlexDenisov has quit [Client Quit]
ia0 has quit [Quit: reboot]
AlexDenisov has joined #ocaml
mengu has quit [Read error: Connection reset by peer]
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
zpe has joined #ocaml
AlexDenisov has joined #ocaml
cpdean has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
shakalaka has quit [Ping timeout: 240 seconds]
Hakey has quit [Ping timeout: 240 seconds]
adrien has quit [Ping timeout: 240 seconds]
maurer has quit [Ping timeout: 240 seconds]
lyxia has quit [Ping timeout: 240 seconds]
companion_cube has quit [Ping timeout: 240 seconds]
oconner has quit [Ping timeout: 240 seconds]
tobiasBora has quit [Ping timeout: 240 seconds]
_whitelogger has joined #ocaml
darkf has quit [Read error: Connection timed out]
cpdean has quit [Ping timeout: 268 seconds]
octachron has quit [*.net *.split]
mkhu has quit [*.net *.split]
nathanielc has quit [*.net *.split]
Pepe_ has quit [*.net *.split]
troydm has quit [*.net *.split]
habnabit has quit [*.net *.split]
jimt_ has quit [*.net *.split]
teiresias has quit [*.net *.split]
brab has quit [*.net *.split]
ciniglio_ has quit [*.net *.split]
Armael has quit [*.net *.split]
Madars has quit [*.net *.split]
ski has quit [*.net *.split]
justin_smith has quit [*.net *.split]
tg has quit [*.net *.split]
zapu has quit [*.net *.split]
zv has quit [*.net *.split]
sgronblo_ has quit [*.net *.split]
Guest4628 has quit [*.net *.split]
seliopou has quit [*.net *.split]
ansiwen has quit [*.net *.split]
notdan has quit [*.net *.split]
fraggle-boate has quit [*.net *.split]
johnelse has quit [*.net *.split]
Cypi has quit [*.net *.split]
apache2 has quit [*.net *.split]
ia0 has quit [*.net *.split]
FreeBirdLjj has quit [*.net *.split]
wu_ng has quit [*.net *.split]
mrvn has quit [*.net *.split]
ocabot has quit [*.net *.split]
dakk has quit [*.net *.split]
riveter has quit [*.net *.split]
k1000_ has quit [*.net *.split]
tizoc has quit [*.net *.split]
osheeta has quit [*.net *.split]
richi235 has quit [*.net *.split]
rwmjones has quit [*.net *.split]
theblatte has quit [*.net *.split]
nopf has quit [*.net *.split]
aantron has quit [*.net *.split]
artart78 has quit [*.net *.split]
jmasseo has quit [*.net *.split]
pwzoii has quit [*.net *.split]
cthuluh has quit [*.net *.split]
pigoz has quit [*.net *.split]
jerith has quit [*.net *.split]
thegameg has quit [*.net *.split]
bacam has quit [*.net *.split]
DanielRichman has quit [*.net *.split]
Ankhers has quit [*.net *.split]
nore has quit [*.net *.split]
libertas has quit [*.net *.split]
rpcope has quit [*.net *.split]
trevorriles has quit [*.net *.split]
luzie has quit [*.net *.split]
tianon has quit [*.net *.split]
henrytill has quit [*.net *.split]
tokenrov1 has quit [*.net *.split]
M-martinklepsch has quit [*.net *.split]
Guest23668[m] has quit [*.net *.split]
M-pesterhazy has quit [*.net *.split]
srenatus[m] has quit [*.net *.split]
fedruantine has quit [*.net *.split]
StatelessCat has quit [*.net *.split]
asm89 has quit [*.net *.split]
slackwill has quit [*.net *.split]
rixed has quit [*.net *.split]
Ravana has quit [*.net *.split]
orbitz has quit [*.net *.split]
fds has quit [*.net *.split]
Asmadeus has quit [*.net *.split]
nickapos has quit [*.net *.split]
obj_magic has quit [*.net *.split]
grandy____ has quit [*.net *.split]
rightfold has quit [*.net *.split]
frug72 has quit [*.net *.split]
cnu- has quit [*.net *.split]
haesbaert has quit [*.net *.split]
kosh_ has quit [*.net *.split]
mattg has quit [*.net *.split]
Rome has quit [*.net *.split]
xaimus has quit [*.net *.split]
grandy has quit [*.net *.split]
adi___ has quit [*.net *.split]
maufred has quit [*.net *.split]
w1gz has quit [*.net *.split]
peddie has quit [*.net *.split]
Intensity has quit [*.net *.split]
AlexDenisov has quit [*.net *.split]
struktured has quit [*.net *.split]
MercurialAlchemi has quit [*.net *.split]
jstolarek has quit [*.net *.split]
sheijk_ has quit [*.net *.split]
Nazral has quit [*.net *.split]
quesker_ has quit [*.net *.split]
demonimin has quit [*.net *.split]
axiles has quit [*.net *.split]
eagleflo has quit [*.net *.split]
lukky513 has quit [*.net *.split]
stux|RC-only has quit [*.net *.split]
Leonidas has quit [*.net *.split]
relrod has quit [*.net *.split]
edwin has quit [*.net *.split]
dinosaure has quit [*.net *.split]
j0sh__ has quit [*.net *.split]
Johann has quit [*.net *.split]
maker has quit [*.net *.split]
gargawel has quit [*.net *.split]
hannes has quit [*.net *.split]
cross has quit [*.net *.split]
profan has quit [*.net *.split]
dx has quit [*.net *.split]
APNG has quit [*.net *.split]
balod has quit [*.net *.split]
mengu_ has quit [*.net *.split]
larhat has quit [*.net *.split]
Algebr` has quit [*.net *.split]
alfredo has quit [*.net *.split]
natimic2 has quit [*.net *.split]
MasseR has quit [*.net *.split]
__y has quit [*.net *.split]
pippijn_ has quit [*.net *.split]
aggelos__ has quit [*.net *.split]
average has quit [*.net *.split]
wagle has quit [*.net *.split]
milodavis has quit [*.net *.split]
clog has quit [*.net *.split]
cdidd has quit [*.net *.split]
spion has quit [*.net *.split]
patronus has quit [*.net *.split]
arc- has quit [*.net *.split]
srax has quit [*.net *.split]
hbar_ has quit [*.net *.split]
gregoire has quit [*.net *.split]
Khady has quit [*.net *.split]
jeroud has quit [*.net *.split]
benmachine has quit [*.net *.split]
pitastrudl has quit [*.net *.split]
nicoo has quit [*.net *.split]
chattered has quit [*.net *.split]
jave has quit [*.net *.split]
dmiller has quit [*.net *.split]
Nahra` has quit [*.net *.split]
ohama has quit [*.net *.split]
jbrown has quit [*.net *.split]
danieli has quit [*.net *.split]
vapid has quit [*.net *.split]
jrslepak has quit [*.net *.split]
igitoor has quit [*.net *.split]
ggherdov has quit [*.net *.split]
MorTal1ty has quit [*.net *.split]
mankyKitty has quit [*.net *.split]
jcloud has quit [*.net *.split]
jkni has quit [*.net *.split]
mg- has quit [*.net *.split]
tobast has quit [*.net *.split]
regnat_ has quit [*.net *.split]
rks`_ has quit [*.net *.split]
theolaurent has quit [*.net *.split]
clockish has quit [*.net *.split]
avsej has quit [*.net *.split]
metaglog has quit [*.net *.split]
engil has quit [*.net *.split]
unbalanced has quit [*.net *.split]
swistak35 has quit [*.net *.split]
def` has quit [*.net *.split]
evhan has quit [*.net *.split]
vodkaInferno has quit [*.net *.split]
cow-orker has quit [*.net *.split]
vbmithr has quit [*.net *.split]
freusque has quit [*.net *.split]
djellemah has quit [*.net *.split]
rfv has quit [*.net *.split]
iZsh_ has quit [*.net *.split]
gustav__1 has quit [*.net *.split]
hnrgrgr_ has quit [*.net *.split]
struk|desk has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
sfri has quit [*.net *.split]
zozozo has quit [*.net *.split]
banjiewen has quit [*.net *.split]
Merv has quit [*.net *.split]
vinoski has quit [*.net *.split]
l1x has quit [*.net *.split]
dch has quit [*.net *.split]
andreypopp has quit [*.net *.split]
lopex has quit [*.net *.split]
stephe has quit [*.net *.split]
asmanur_ has quit [*.net *.split]
bernardofpc has quit [*.net *.split]
zaltekk has quit [*.net *.split]
jpdeplaix has quit [*.net *.split]
segmond has quit [*.net *.split]
mal`` has quit [*.net *.split]
rom1504 has quit [*.net *.split]
Enjolras has quit [*.net *.split]
hyperboreean has quit [*.net *.split]
tristero has quit [*.net *.split]
emias has quit [*.net *.split]
vishesh has quit [*.net *.split]
_2can has quit [*.net *.split]
bronsen has quit [*.net *.split]
mrallen1 has quit [*.net *.split]
rbocquet has quit [*.net *.split]
SIGILL has quit [*.net *.split]
dlat has quit [*.net *.split]
chelfi has quit [*.net *.split]
rossberg has quit [*.net *.split]
dmbaturin has quit [*.net *.split]
emmanueloga has quit [*.net *.split]
adelbertc has quit [*.net *.split]
sspi has quit [*.net *.split]
jmct has quit [*.net *.split]
wolfcore has quit [*.net *.split]
Jaxan has quit [*.net *.split]
inr has quit [*.net *.split]
chris2 has quit [*.net *.split]
atsampson has quit [*.net *.split]
lpaste has quit [*.net *.split]
bbc has quit [*.net *.split]
chenglou has quit [*.net *.split]
yminsky has quit [*.net *.split]
zaquest has quit [*.net *.split]
fluter has quit [*.net *.split]
sigjuice has quit [*.net *.split]
menasw has quit [*.net *.split]
fold4 has quit [*.net *.split]
rseymour has quit [*.net *.split]
averell has quit [*.net *.split]
Drup has quit [*.net *.split]
timclassic has quit [*.net *.split]
ahf has quit [*.net *.split]
jlouis has quit [*.net *.split]
mehdib has quit [*.net *.split]
lobo has quit [*.net *.split]
noplamodo_ has quit [*.net *.split]
M-jimt has quit [*.net *.split]
jmiven has quit [*.net *.split]
barkmadley[m] has quit [*.net *.split]
M-ErkkiSeppl has quit [*.net *.split]
M-Illandan has quit [*.net *.split]
regnat[m] has quit [*.net *.split]
myst|fon has quit [*.net *.split]
jun has quit [*.net *.split]
caw has quit [Max SendQ exceeded]
breitenj- has quit [Max SendQ exceeded]
cantstanya has quit [Max SendQ exceeded]
dhil has joined #ocaml
strmpnk has quit [Ping timeout: 247 seconds]
zv has joined #ocaml
milodavis has joined #ocaml
caw has joined #ocaml
jrslepak has joined #ocaml
seliopou has joined #ocaml
jimt_ has joined #ocaml
jstolarek has joined #ocaml
M-martinklepsch has joined #ocaml
srenatus[m] has joined #ocaml
M-pesterhazy has joined #ocaml
rixed has joined #ocaml
chelfi has joined #ocaml
rossberg has joined #ocaml
dmbaturin has joined #ocaml
regnat_ has joined #ocaml
hannes has joined #ocaml
cow-orker has joined #ocaml
rseymour has joined #ocaml
lukky513 has joined #ocaml
hootch has joined #ocaml
govg has joined #ocaml
djellemah has joined #ocaml
freusque has joined #ocaml
zaquest has joined #ocaml
conrad1 has joined #ocaml
dhil has quit [Ping timeout: 240 seconds]
fdxc has joined #ocaml
conrad1 has quit [Ping timeout: 268 seconds]
cpdean has joined #ocaml
cpdean has quit [Ping timeout: 260 seconds]
<def`>
Algebr`: I had no time for merlin recently, I hope to take a look soon
dhil has joined #ocaml
mengu has joined #ocaml
<kakadu>
def`: btw, do you have a list of tasks for future work somewhere?
mengu has quit [Ping timeout: 240 seconds]
brunoro_ has joined #ocaml
ggole has joined #ocaml
<Algebr`>
kakadu: probably the github issues is a place to look
ggole has quit [Ping timeout: 250 seconds]
mengu has joined #ocaml
mengu has quit [Changing host]
mengu has joined #ocaml
chindy has joined #ocaml
mfp has joined #ocaml
brunoro_ has quit [Ping timeout: 268 seconds]
chindy has quit [Ping timeout: 250 seconds]
silver has joined #ocaml
brunoro_ has joined #ocaml
minn has joined #ocaml
mengu has quit [Ping timeout: 260 seconds]
segmond has joined #ocaml
mengu has joined #ocaml
mengu has joined #ocaml
mengu has quit [Changing host]
segmond has quit [Max SendQ exceeded]
segmond has joined #ocaml
segmond has quit [Max SendQ exceeded]
mengu has quit [Remote host closed the connection]
mengu has joined #ocaml
segmond has joined #ocaml
minn has quit [Quit: Leaving]
petroav has joined #ocaml
segmond has quit [Max SendQ exceeded]
segmond has joined #ocaml
segmond has quit [Max SendQ exceeded]
mengu has quit [Ping timeout: 260 seconds]
conrad1 has joined #ocaml
segmond has joined #ocaml
segmond has quit [Max SendQ exceeded]
mengu has joined #ocaml
conrad1 has quit [Ping timeout: 240 seconds]
cpdean has joined #ocaml
_andre has joined #ocaml
FreeBirdLjj has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
mengu has quit [Ping timeout: 250 seconds]
cpdean has quit [Ping timeout: 260 seconds]
mengu has joined #ocaml
brunoro_ has quit [Ping timeout: 250 seconds]
grayswandyr has joined #ocaml
<grayswandyr>
hi, this is a long-standing question I had never bothered (until now) to solve: I'm relying on Ocamlbuild well ... to build my pure OCaml project. Now, although I ask it to build a *native* executable, I can see that it not only invokes ocamlopt but also ocamlc. I wonder why (besides it doesn't seem to happen for every project...) and how I could get rid of this,
dhil has joined #ocaml
brunoro_ has joined #ocaml
<companion_cube>
it calls ocamlc at least to compile the interface files, I think
<companion_cube>
of course if you ask for a target .cma or .byte, it's normal that bytecode compilation is involved
zpe has quit [Remote host closed the connection]
<grayswandyr>
yeah I had thought about that: ocamlopt can do it also but perhaps OCB calls ocamlc for .cmi files, which itself needs .cmo files...?
alienbot has joined #ocaml
<grayswandyr>
nope, pure native compilation, in principle
<companion_cube>
.cmi do not require .cmo
<grayswandyr>
yes stupid remark.
<companion_cube>
but you can check in _build/_log if some .cmo are built
<companion_cube>
that would indicate that bytecode files are required somewhere
ygrek has joined #ocaml
<grayswandyr>
yes they are. I use Menhir. I wonder if this is linked, let me glance through the log file
zpe has joined #ocaml
brunoro_ has quit [Ping timeout: 260 seconds]
alienbot has quit [Remote host closed the connection]
alienbot has joined #ocaml
<grayswandyr>
well I can't find an explanation. I'll check with gasche
brunoro_ has joined #ocaml
tennix has joined #ocaml
petroav has quit [Quit: Ex-Chat]
<def`>
grayswandyr: Menhir is likely to invoke ocamlc for inferring types
<grayswandyr>
ah yes, with the --infer option.
<grayswandyr>
I'll see into it
<def`>
menhir --ocamlc <...> if you want to use another binary
toolslive has joined #ocaml
<toolslive>
just saw that ocisgen.org suffers partial failure.
<toolslive>
(internal server error 500)
<Drup>
huho
rgrinberg has joined #ocaml
archer121 has joined #ocaml
<archer121>
hi, I have a function of the type: "string -> lex_tree -> lex_tree". The definition of type lex_tree and body of the function are given here: https://paste.ubuntu.com/ When I try to call this function, I get an Invalid_argument error: https://paste.ubuntu.com/23307915/
<archer121>
Can anyone help me with this?
djellemah has quit [Ping timeout: 240 seconds]
cpdean has joined #ocaml
<archer121>
I know the function can be implemented in a more elegant way. That being said, I am guessing that I am not calling the function properly.
<Drup>
first link is probably the wrong one
ggole has joined #ocaml
<mrvn>
turn on backtraces for exceptions and see where it throws.
ygrek has quit [Ping timeout: 248 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
AlexDenisov has joined #ocaml
djellemah has joined #ocaml
agarwal1975 has joined #ocaml
chindy has joined #ocaml
mengu has quit [Remote host closed the connection]
<hellofunk>
does ocaml box primitive numberical types like int, float, or are they used natively?
<def`>
ints are tagged, floats are boxed
brunoro_ has quit [Ping timeout: 260 seconds]
<hellofunk>
does the unboxing incur overhead? in clojure, for example, the boxing of all numerical types leads to some major performance issues if you don't write your code to avoid the implicit boxing
djellemah has quit [Ping timeout: 250 seconds]
<hellofunk>
ah, i see this: "Since each floating-point value is boxed in a separate memory block, it can be inefficient to handle large arrays of floats in comparison to unboxed integers. OCaml therefore special-cases records or arrays that contain only float types."
conrad1 has joined #ocaml
<veggie_>
i'm familiar with boxing, but what's tagging?
<hellofunk>
i think the tag is just used to keep track of GC
<sgronblo_>
whats the second int int Unix.recvfrom for?
<sgronblo_>
I assume the first is the number of bytes to read
<companion_cube>
it's probably offset in buffer, length
<sgronblo_>
ok, its kinda shitty that the docs dont explain that. but thanks.
<companion_cube>
it's a common pattern also found in the channel interfaces
<companion_cube>
see Unix.write
<companion_cube>
or Unix.read
Orion3k has joined #ocaml
dhil has quit [Ping timeout: 260 seconds]
brunoro_ has joined #ocaml
brunoro_ has quit [Ping timeout: 268 seconds]
Algebr` has joined #ocaml
<Algebr`>
What's the general way to make a sync API play nicely with Lwt? I assume you create a Lwt.wait, return the waiting thread and then call some Lwt wrapper function on the sync api and wake up the thread with the waker?
<copy`>
Have a look at lwt-zmq, it's a good example for wrapping a sync api into lwt
<copy`>
Synchronous unix operations, that is
<Drup>
at a more immediate level, Lwt_preemptive is exposed for this kind of things
<Algebr`>
yea, I was thinking not to pull Lwt_preemptive just for this but seems decent
<Algebr`>
i think lwt-zmq might have some C bindings, but I'd rather stick at the ocaml layer
<Algebr`>
oh no, its pure
<Algebr`>
yep, wrap
djellemah has joined #ocaml
Algebr` has quit [Ping timeout: 250 seconds]
octachron has joined #ocaml
<rgrinberg>
how can i convert a decimal like "0.02" to a num?
jnavila has joined #ocaml
<pierpa>
rgrinberg: float_of_string
<pierpa>
(if you want a float, that is. If you really want a Num then this won't work)
<rgrinberg>
pierpa: I want a num, as in the num library
<pierpa>
ok
<rgrinberg>
yeah, not a float. sorry
<thizanne_>
Num.num_of_string ?
* Drup
makes jedi hand pass. You don't want a num, you want a zarit's Q.t
<thizanne_>
nope.
<thizanne_>
(for num_of_string)
<pierpa>
you can build a fraction starting from the float though
<Drup>
Q.of_string
zpe has quit [Remote host closed the connection]
<Drup>
rgrinberg: use zarith
<rgrinberg>
Drup: alright sure :/ too bad..
zpe has joined #ocaml
<pierpa>
num_of_string seems to work only for integers
<rgrinberg>
zarith is so annoying, why doesn't it have decent top level pretty printers
<companion_cube>
hmm, it does?
<companion_cube>
Z.print
<Drup>
huum, it could register printers
<companion_cube>
good luck trying to contribute, though
<octachron>
companion_cube, that sounds interesting. How slow is a bit too slow?
<companion_cube>
well it has to load everything, so a few seconds (depending on how many packages you have installed)
<companion_cube>
if it ran as a daemon, it could be much faster (but eat some RAM, I guess)
<octachron>
would it not be possible to cache the trie/database on the file system?
<companion_cube>
I have no idea
<companion_cube>
then you have to do cache management, refresh it when some new packages are installed, etc.
conrad1 has joined #ocaml
<octachron>
companion_cube, true. Cache management without synchronisation with the package manager does feel bothersome
orbifx has quit [Ping timeout: 260 seconds]
conrad1 has quit [Ping timeout: 248 seconds]
<companion_cube>
I think it's simpler to have something like ocp-browser, where you only pay the loading price at the beginning
<companion_cube>
still, didn't have too much time to spend on this
<zozozo>
octachron: I think ocamloscope does that
<companion_cube>
meh, only for a small subset of the actual packages
<companion_cube>
and not the one you have installed
<zozozo>
right
<zozozo>
maybe the code could be adapted to work on locally installed packages ?
<companion_cube>
anyway, good night
<companion_cube>
maybe
<octachron>
companion_cube, thanks for the pointer and good night
<sgronblo_>
how do people usually parse/encode json? do you manually encode values to Yojson.json values and then call Yojson.to_string on it? And are there some Yojson.json parser combinators for doing the opposite?
hellofunk has joined #ocaml
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
<sgronblo_>
zozozo: I thought I would try to keep it simple at first
<octachron>
zozozo, ocamloscope is another possibility but I only need module level information, so it feels quite an heavy weight solution
<sgronblo_>
zozozo: or is it really easy to use ppx_deriving?
<zozozo>
sgronblo_: well, with ppx_deriving_yojson, you can do: "type t = <your type definition> [@deriving yojson]", and it automatically generates functions for convertir type to and from yojson
<zozozo>
*converting type t to adn from yojson*
<sgronblo_>
Interestingly the github readme has no exaples of what kind of json it generates and how it handles variant types for example
<zozozo>
you can always try it in a toplevel and see what is does
kakadu has quit [Remote host closed the connection]
Heasummn has joined #ocaml
<zozozo>
so, for variant types, it encodes them as string (using the constructor name)
infinity0 has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 260 seconds]
<sgronblo_>
i did opam install yojson. opam said it was already installed. run utop, open Yojson says unbound module Yojson
<zozozo>
you have to #require "yojson" first
<zozozo>
so that utop will load the corresponding library files
<sgronblo_>
oh
<sgronblo_>
do i need to require the ppx_deriving somehow too?
<zozozo>
well, if you want to use it, yes
<zozozo>
you need to install ppx_deriving_yojson (it's a separate package
<zozozo>
)
<sgronblo_>
yep, i installed it
<zozozo>
then, in utop #require "ppx_deriving_yojson";; should be enough
<zozozo>
since, yojson will also be loaded as a dependency
<sgronblo_>
ok managed to get it to work
<sgronblo_>
I guess it would work fine if you were only dealing with simple records. But otherwise using variants kind of goes against the way most normal and especially JS people will do json.
<zozozo>
how's that so ?
ryanartecona has quit [Quit: ryanartecona]
<sgronblo_>
shouldnt the Yojson.from_string return a maybe or an either?
ryanartecona has joined #ocaml
agarwal1975 has quit [Quit: agarwal1975]
<sgronblo_>
hmm, ok exception raised
brunoro_ has joined #ocaml
<sgronblo_>
where the hell are these exceptions documented?
<sgronblo_>
ok, maybe found it
<zozozo>
hum.. it is indeed strange that the documentation does not mention the exception that can be raised
<sgronblo_>
the constructor Json_error does not belong to type exn
<zozozo>
well I guess there really is only the Json_error exception
<zozozo>
sgronblo_: Json_erro takes a string
<sgronblo_>
zozozo: shouldnt this do the trick then? with Json_error _ -> Unknown
oriba has joined #ocaml
<zozozo>
assuming it's in a "try .. with Json_error _ -> Unknown", yes
brunoro_ has quit [Ping timeout: 260 seconds]
<zozozo>
well, Yojson.Json_error
<zozozo>
since you most likely didn't open Yojson
<sgronblo_>
aah, i only opened Yojson.Safe...
<zozozo>
^^
<sgronblo_>
thanks for your help
<sgronblo_>
starting to enjoy ocaml more and more
<zozozo>
:)
<sgronblo_>
did ocaml have an either type built in?
<octachron>
however, implementing useful functions on this type was left as an exercice for complementary standard libraries)
<sgronblo_>
hehe
octachron has quit [Read error: Connection reset by peer]
<sgronblo_>
btw, I tried to put my own either type in my .mli file, but i wasnt able to access its values constructors in the using compilation unit
<zozozo>
sgronblo_: you have to put the definition of the type in both the .ml *and* .mli file
<sgronblo_>
hmm, is there a good reason for that?
<sgronblo_>
also "unbound type constructor result"
<zozozo>
well, though the definitions have to match, they can differ slightly, for isntance you can have "type t = in" the the ml, and "type t = private int" in the mli file, so that users of the type can use it as an int freely, but cannot build values of type t for instance
<zozozo>
sgronblo_: what version of ocaml do you use ?
<zozozo>
the result type was introduced in 4.03 iirc
<sgronblo_>
4.02.3
<sgronblo_>
oh...
<zozozo>
you may have to install the result compatibility package
<zozozo>
and use Result.result (or open Result)
alienbot has joined #ocaml
<sgronblo_>
i created my own result and copy pasted it into the ml but it still doesnt work
<sgronblo_>
Unbound constructor Ok
<sgronblo_>
i opened the module
<zozozo>
hum.. without the full code, it's hard to see what's wrong
cpdean has quit [Ping timeout: 260 seconds]
<sgronblo_>
put this line in both my .mli and .ml files: type ('v, 'error_msg) result = Ok of 'v | Error of 'error_msg, did open My_module and am getting unbound constructor Ok.
<sgronblo_>
Do I need to do anything special in the .mli file to expose the constructors
<zozozo>
well, what are the names of the files, did you compile them ?
<sgronblo_>
oh whoops, no. forgot to recompile.
<zozozo>
^^
hellofunk has quit [Ping timeout: 240 seconds]
<sgronblo_>
ok, bedtime. thanks again for all the help.
<zozozo>
good night
Heasummn has quit [Ping timeout: 248 seconds]
brunoro_ has joined #ocaml
cpdean has joined #ocaml
brunoro_ has quit [Ping timeout: 260 seconds]
jao has quit [Ping timeout: 260 seconds]
conrad1 has joined #ocaml
smondet has quit [Ping timeout: 260 seconds]
madroach has quit [Read error: Connection reset by peer]
al-damiri has quit [Quit: Connection closed for inactivity]
conrad1 has quit [Ping timeout: 265 seconds]
ryanartecona has quit [Quit: ryanartecona]
lpw25[m] has quit [Ping timeout: 240 seconds]
M-martinklepsch has quit [Ping timeout: 258 seconds]
M-pesterhazy has quit [Ping timeout: 258 seconds]
srenatus[m] has quit [Ping timeout: 258 seconds]
Bluddy[m] has quit [Ping timeout: 240 seconds]
madroach has joined #ocaml
madroach has quit [Read error: Connection reset by peer]
lpw25[m] has joined #ocaml
agarwal1975 has joined #ocaml
copy` has quit [Read error: Connection reset by peer]
bigs has quit [Read error: Connection reset by peer]
copy` has joined #ocaml
sh0t has quit [Remote host closed the connection]
rpip has quit [Ping timeout: 241 seconds]
timclassic has joined #ocaml
M-pesterhazy has joined #ocaml
M-martinklepsch has joined #ocaml
regnat[m] has joined #ocaml
M-jimt has joined #ocaml
M-Illandan has joined #ocaml
srenatus[m] has joined #ocaml
Bluddy[m] has joined #ocaml
yunxing has quit [Ping timeout: 241 seconds]
bigs has joined #ocaml
yunxing has joined #ocaml
madroach has joined #ocaml
M-ErkkiSeppl has joined #ocaml
barkmadley[m] has joined #ocaml
Guest23668[m] has joined #ocaml
madroach has quit [Read error: Connection reset by peer]