jtmcf has quit [Remote host closed the connection]
jtmcf has joined #ocaml
vramana has joined #ocaml
fUD has joined #ocaml
silver_ has quit [Read error: Connection reset by peer]
<vramana>
I am trying to build janestreet/jenga. But I have never used oasis before can somebody help me. When I run ocaml setup.ml -configure I get Error: Unbound module OASISDynRun
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
MercurialAlchemi has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
chinglish has joined #ocaml
sdothum has joined #ocaml
sdothum has quit [Remote host closed the connection]
sdothum has joined #ocaml
sdothum has quit [Client Quit]
MercurialAlchemi has quit [Ping timeout: 276 seconds]
FreeBirdLjj has joined #ocaml
tmtwd has quit [Ping timeout: 244 seconds]
groovy2shoes has joined #ocaml
tmtwd has joined #ocaml
govg has joined #ocaml
MercurialAlchemi has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
rgrinberg has quit [Ping timeout: 265 seconds]
bruce_r has quit [Ping timeout: 265 seconds]
tmtwd has quit [Ping timeout: 240 seconds]
tane has joined #ocaml
Simn has joined #ocaml
FreeBirdLjj has joined #ocaml
mcc has quit [Quit: Connection closed for inactivity]
govg has quit [Ping timeout: 258 seconds]
freusque has joined #ocaml
larhat1 has quit [Quit: Leaving.]
AlexDenisov has joined #ocaml
tane has quit [Quit: Leaving]
yegods has quit [Remote host closed the connection]
<infinity0>
adrien: yeah i thuoght the process might automatically embedded jsoo into ocamlc so that everything is compiled with it
<infinity0>
but meh, at this point it's all theoretical
<infinity0>
and not really a good idea IMO :p js sucks and the js ecosystem sucks
<Algebr`>
js ecosystem sucks?? as compared to what
vramana has joined #ocaml
<adrien>
:)
zpe has joined #ocaml
<vramana>
Algebr`: I solved that issue. I had trying to compile master and it required 4.03 and I had 4.02.3. I am trying to compile jenga with yojson as described here https://github.com/janestreet/jenga/issues/24#issuecomment-221787482 But I don't thats working. The size of binary before and after is exacly the same
johnel_away has quit [Remote host closed the connection]
johnelse has joined #ocaml
rand__ has joined #ocaml
jwatzman|work has joined #ocaml
<Drup>
infinity0: ocamlpro did something to compile ocamlc to js, it's quite tricky (you have to emulate a file system). If you simply want a toplevel, then it's quite easy (and there are several examples, such as the one link in the motd)
govg has joined #ocaml
<infinity0>
ah, i see thanks
<infinity0>
js ecosystem sucks compared to pretty much everything else i've used, but that's another topic
MercurialAlchemi has quit [Ping timeout: 240 seconds]
copy` has joined #ocaml
bruce_r has joined #ocaml
nicholasf has quit [Remote host closed the connection]
freusque has quit [Quit: WeeChat 1.4]
kushal has quit [Ping timeout: 264 seconds]
nicholasf has joined #ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
kushal has joined #ocaml
kushal has joined #ocaml
kushal has quit [Changing host]
XPEHOPE3 has joined #ocaml
<Algebr`>
what is the advantage of lenses in ocaml?
<companion_cube>
well it can be convenient to access/modify fields in deeply nested records
<companion_cube>
this kind of things
<Drup>
Algebr`: {x with y = {x.y with z = x.y.z +1 }}
<Drup>
consider that :p
<companion_cube>
I think Idris has a very neat `{x with y.z = x.y.z+1}` for this
<companion_cube>
that might be an interesting extension to the language, actually
<Drup>
companion_cube: pretty sure someone proposed that
<companion_cube>
oh!
<companion_cube>
and it was rejected?
<XPEHOPE3>
Anyone knows if BFD library support is available under cygwin? With cygwin32-libbfd-2.25.1-1 installed I keep getting configure warning "BFD library not found, 'objinfo' will be unable to display info on .cmxs files."
<companion_cube>
ok, so it's hard to implement properly :/
<companion_cube>
thnaks zozozo
<zozozo>
^^
Distortion has joined #ocaml
nicholasf has quit [Remote host closed the connection]
tmtwd has joined #ocaml
toolslive has joined #ocaml
shinnya has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
agile_cyborg has joined #ocaml
bruce_r has quit [Ping timeout: 255 seconds]
<companion_cube>
oh damn, I didn't test the 4.04 beta
<XPEHOPE3>
what's the expected way to read "Changes" file from OCaml distribution? Strings like [@@ocaml.warning] look like links, but asciidoc doesn't create links from them
<Drup>
that's not a link, it's an example of (ppx) annotation in ocaml source files
<companion_cube>
there should be `` around, unless people forgot them
filp has quit [Quit: Bye]
<XPEHOPE3>
oh, thanks
<octachron>
companion_cube: As far as I can see, no ppx annotations are quoted in Changes...
orbifx-m2 has joined #ocaml
orbifx-m has quit [Read error: Connection reset by peer]
john51_ has joined #ocaml
<companion_cube>
too bad :(
<companion_cube>
it's a good habit to take, but I understand people don't pay attention
flx has joined #ocaml
SIGGIL has joined #ocaml
hyperbor1ean has joined #ocaml
lopex_ has joined #ocaml
yminsky_ has joined #ocaml
parataxis_ has joined #ocaml
l1x_ has joined #ocaml
sfri_ has joined #ocaml
Jaxan_ has joined #ocaml
caw_ has joined #ocaml
orbifx-m2 has quit [Read error: Connection reset by peer]
antranig1 has joined #ocaml
bbc_ has joined #ocaml
luigy_ has joined #ocaml
orbifx-m has joined #ocaml
rks`_ has joined #ocaml
hyperboreean has quit [Read error: Connection reset by peer]
andreypopp has quit [Ping timeout: 260 seconds]
yminsky has quit [Ping timeout: 260 seconds]
caw has quit [Ping timeout: 260 seconds]
cube_bot has quit [Ping timeout: 260 seconds]
trevorriles has quit [Ping timeout: 260 seconds]
jeroud has quit [Ping timeout: 260 seconds]
TheAuGingembre has quit [Ping timeout: 260 seconds]
l1x has quit [Ping timeout: 260 seconds]
adrien has quit [Ping timeout: 260 seconds]
cantstanya has quit [Ping timeout: 260 seconds]
clockish has quit [Ping timeout: 260 seconds]
strmpnk has quit [Ping timeout: 260 seconds]
lobo has quit [Ping timeout: 260 seconds]
lopex has quit [Ping timeout: 260 seconds]
luigy has quit [Ping timeout: 260 seconds]
chenglou has quit [Ping timeout: 260 seconds]
bbc has quit [Ping timeout: 260 seconds]
john51 has quit [Ping timeout: 260 seconds]
sz0 has quit [Ping timeout: 260 seconds]
jbrown has quit [Ping timeout: 260 seconds]
antranigv has quit [Ping timeout: 260 seconds]
vinoski has quit [Ping timeout: 260 seconds]
flux has quit [Ping timeout: 260 seconds]
sfri has quit [Ping timeout: 260 seconds]
Algebr has quit [Ping timeout: 260 seconds]
jcloud has quit [Ping timeout: 260 seconds]
sigjuice has quit [Ping timeout: 260 seconds]
SIGILL has quit [Ping timeout: 260 seconds]
Jaxan has quit [Ping timeout: 260 seconds]
parataxis has quit [Ping timeout: 260 seconds]
rks` has quit [Remote host closed the connection]
sepp2k has quit [Ping timeout: 260 seconds]
flx is now known as flux
<octachron>
companion_cube, it is also probably because the format of the Changes file itself is not that clear
<mfp>
vbmithr: would you be OK to change the oraft license to MIT?
octachron has quit [Quit: Page closed]
<mfp>
vbmithr: (got a request in that direction from MirageOS people who want to build on top of it, for the sake of license uniformity, since all their code is MIT)
larhat has quit [Quit: Leaving.]
larhat has joined #ocaml
larhat has quit [Client Quit]
agile_cyborg has quit [Ping timeout: 265 seconds]
orbifx-m2 has joined #ocaml
ygrek has joined #ocaml
orbifx-m has quit [Ping timeout: 240 seconds]
AlexDenisov has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<flux>
reminds me.. is there some preferency-based voting algorithm that splits voters into groups that satisfy given % of the voters?
<flux>
I'm thinking like conrdocet but then find the candidates that satisfy voters "sufficiently" with "high coverage"?
agile_cyborg has joined #ocaml
orbifx-m2 has quit [Ping timeout: 265 seconds]
sepp2k has quit [Ping timeout: 250 seconds]
_whitelogger has joined #ocaml
sepp2k has joined #ocaml
xaimus has joined #ocaml
yegods_ has joined #ocaml
yegods has quit [Ping timeout: 244 seconds]
d0nn1e has quit [Ping timeout: 252 seconds]
d0nn1e has joined #ocaml
yegods_ has quit [Remote host closed the connection]
hu3hu3hue has joined #ocaml
<hu3hu3hue>
hello guys! I just heard about OCaml for the first time. What are the benefits of the language vs JS?
toolslive has quit [Ping timeout: 264 seconds]
hu3hu3hue has quit [Client Quit]
<rgrinberg>
is there a way to show something like an int array array as a table in the top level?
<Algebr`>
hu3hu3hue: hopefully you will come back, have many thoughts/answers for you
<Anarchos>
Algebr` JS, is it really a language ? :)
ski has quit [Ping timeout: 265 seconds]
ski has joined #ocaml
<Algebr`>
heh, well, at least theres a spec, can't really say that about ocaml
<Anarchos>
Algebr` why is there no spec of ocaml ? That is a very question
<tane>
I guess not having a spec makes it easier to develop new things instead of wasting ours in spec-commitee meetings
<tane>
hours*
<Bluddy[m]>
yeah it's hard enough getting new elements into the language without a spec
<Algebr`>
well python also doesn't have a spec, and so some things are quite ad-hoc
<copy`>
rgrinberg: You can use ppx_deriving: `type t = int array array [@@deriving show];;`
<copy`>
Nevermind
Heasummn has joined #ocaml
Xizor has joined #ocaml
orbifx has joined #ocaml
<orbifx>
mrvn: when is a Custom_tag block collected? When it's root is unregistered?
<ggole>
Same as any other GCd object: when it isn't reachable and the GC gets around to reclaiming it
shinnya has joined #ocaml
antranig1 has quit [Quit: leaving]
<orbifx>
ggole: yeah, just wanted to verify the scheme were one mallocs stuff from C
<orbifx>
mrvn: helped in the past so he may remember the context
<orbifx>
but I got to the bottom of it now anyway, thanks
<ggole>
mallocs? You mean, uses the caml allocation routines?
<rgrinberg>
copy`: nice try but it's not any prettier :/
adelbertc has joined #ocaml
<orbifx>
ggole: yes and C malloc
<Algebr`>
C malloc in a custom block I assume you mean, where you do a free when on your hook in the custom_operations
<ggole>
Memory obtained from (your own calls to) malloc will never be collected. You have to call free on it yourself.
<orbifx>
Algebr`: yes
Heasummn has quit [Quit: Leaving]
<orbifx>
ggole: yes. and tha caml_alloc_custom, when the value returned goes out of scope
kakadu has joined #ocaml
<orbifx>
what I was wondering was what happens if that value is registed as a root
<orbifx>
which may not be possible
<orbifx>
Kakadu2[m]: fixed the bugs. I don't know how it was running on yours, cause the bug was in the context setter
<ggole>
Being registered as a root means that the value stays alive
<orbifx>
yeah
<orbifx>
but can one register a value which is allocated in OCaml's heap?
<ggole>
No, I don't think that works
<ggole>
The OCaml heap doesn't have stable addresses.
<Algebr`>
the gc moves stuff around right
<orbifx>
yeah and I remember mrvn saying something that the run-time can't cope with updating registered values which can move (much burden I pressume)
<kakadu>
but value type in C is a OCaml value and not a pointer to OCaml value, right?
<orbifx>
kakadu: which value are you referring to?
<kakadu>
register_global_root(value*) --- this one
<gasche`>
hm
<gasche`>
I'm surprised by the claim that values allocated on the OCaml heap cannot be registered as roots
<gasche`>
I would suspect that this is possible, and I see nothing in the documentation saying otherwise
<gasche`>
(the fact that blocks on the heap may be moved doesn't seem to be an issue as roots are handled specially during collections anyway)
<kakadu>
Why value allocated by plain malloc cannot be passed to register_global_root?
<gasche`>
can they not?
<orbifx>
kakadu: they can
<kakadu>
I think that they can but you are talking about `OCaml heap` and not just `heap`. So I want to ask about clarification what OCaml heap is
<orbifx>
OCaml heap is the dynamic memory managed by OCaml's runtime
<kakadu>
Well, than should be a standart function to create value in this heap.
<orbifx>
there is
<kakadu>
I just do not remember It's name
<kakadu>
but in your initial patch AFAIR you have used plain malloc
<ggole>
gasche`: we might be talking about slightly different situations. The situation I have in mind is a pointer that is stored inside an allocated block.
<ggole>
Although, maybe that is handled somehow.
pierpa has joined #ocaml
<orbifx>
kakadu: that is because that address should not change, or the C++ lambda will point to the wrong thing
tumdum has joined #ocaml
tumdum has joined #ocaml
tumdum has quit [Changing host]
<orbifx>
and there is something about custom blocks not being able to contain pointer to the heap
agile_cyborg has quit [Quit: Leaving]
<kakadu>
So, values registered as global roots still can be moved?
<orbifx>
yeah
<orbifx>
cause from what I understood, when registering it, you tell the runtime to come back and update your value if it moves what it points too
<orbifx>
to*
<orbifx>
but what you register, I think can't and shouldn't move
<orbifx>
you have to unregister it first I pressume and then register its new address
<kakadu>
Well, I think that there are only two sane variants
<kakadu>
1) Values registered as global roots are not GCed and not moved
<kakadu>
2) Values registered as global roots can be moved but in the old location it stores some special tag and actual place where it was moved. I read something about it during investigation what Infix_tag is.
<orbifx>
I have no clue about 2, but I think 1 is valid.
<gasche`>
ggole: I see
<gasche`>
hm
<gasche`>
root-manipulation functions take a value* argument
<kakadu>
In 1st case your fix about extra malloc should not solve the problem. Because the values could not be moved and the issue is somewhere else
<kakadu>
gasche`: Yeah, the location of a value
<orbifx>
kakadu: but it's a pointer to something which can be moved.
<orbifx>
and there isn't an issue now I think I ran it for some million of callbacks
<orbifx>
Tomorrow I will try it with a real application
<kakadu>
Yes, but in 1st case this values is registered and can't be moved
tmtwd has quit [Ping timeout: 240 seconds]
<orbifx>
kakadu: you don't register what it points to, you register the pointer
<orbifx>
C pointer ---> Ocaml heap block
<kakadu>
---> value
<orbifx>
when ocaml heap block moves, something needs to update the C pointer
<kakadu>
Than I should pass pointer to pointer to register_global_root
<kakadu>
You can't update pointer itself when you have only pointer and no address of thispointer
<ggole>
Yes, register_global_root takes a value*
<orbifx>
you are losing me now kakadu :P
<kakadu>
If value can be moved we are in the 2nd scenario
<orbifx>
I need to write this at some point :P
<kakadu>
Maybe I'm talking nonsense
APNG has quit [Ping timeout: 276 seconds]
<orbifx>
I will blog about this, but first I need to program a blog in OCaml :P
AlexRussia has joined #ocaml
<kakadu>
Maybe markdown-driven blog will be simpler?
<orbifx>
logarion is not a unikernel, although I pressume one can use it at such because I'm making it modular
<orbifx>
logarion is also both dynamic and static, based on user's choice
<orbifx>
currently making the dynamic part
<orbifx>
and there is more to be added for offline use.. brainstorming on that front
<orbifx>
I mean serverless, not offline
ggherdov has joined #ocaml
chinglish has quit [Ping timeout: 276 seconds]
ggherdov has quit [Excess Flood]
pyon has joined #ocaml
AlexDeni_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ggherdov has joined #ocaml
<engil>
Drup: I guess so
<engil>
but it shouldn't be too hard to use something else
<engil>
markdown is the current default, but nothing prevent anyone to add more formats, as long as you can somehow generate the right HTML with some OCaml library
<engil>
gasche`: yeah, that's a shame, the server is down. but that wasn't useful anyway, I will remove the link, thank you :)
* engil
ashamed
strykerkkd has joined #ocaml
strykerkkd has quit [Max SendQ exceeded]
strykerkkd has joined #ocaml
strykerkkd has quit [Quit: Leaving]
Anarchos has quit [Quit: cross fingers to reboot]
<orbifx>
what is the notation [< foo ] and [> bar] ?
Xizor has quit [Read error: Connection reset by peer]
<engil>
gasche`: and yeah I need to rewrite the doc, this readme is quite a mess, will try to take some time in the next few weeks to improve that, thank you for your feedback :)
<orbifx>
engil: I see the markdown format you have looks similar if not identical to what I've specified for yamado