mcclurmc has quit [Remote host closed the connection]
Denommus has quit [Quit: going home]
rgrinberg1 has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ollehar has quit [Quit: ollehar]
jeffmo has quit [Quit: jeffmo]
johnf_ has joined #ocaml
igoroliveira has quit [Quit: Connection closed for inactivity]
turnstile has quit [Quit: Autotools exists so that you can port your programs from Unix to Unix.]
browncodes has joined #ocaml
arjunguha has joined #ocaml
keen__________16 has quit [Read error: Connection reset by peer]
abbe has quit [Read error: Connection reset by peer]
abbe has joined #ocaml
mawuli has quit [Ping timeout: 246 seconds]
alpen has quit [Ping timeout: 246 seconds]
keen__________16 has joined #ocaml
sigjuice has quit [Ping timeout: 246 seconds]
n3f has quit [Quit: No Ping reply in 180 seconds.]
mehdi has quit [Quit: No Ping reply in 180 seconds.]
mehdi has joined #ocaml
segmond has quit [Ping timeout: 246 seconds]
rossberg has quit [Ping timeout: 246 seconds]
lupine has quit [Ping timeout: 246 seconds]
cschneid- has quit [Ping timeout: 246 seconds]
bitbckt_ has quit [Ping timeout: 246 seconds]
icicled has quit [Ping timeout: 246 seconds]
srcerer_ is now known as srcerer
larhat1 has quit [Quit: Leaving.]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
neferty has joined #ocaml
thomasga has joined #ocaml
ncthom91 has joined #ocaml
pyon has joined #ocaml
alpen has joined #ocaml
lupine has joined #ocaml
sigjuice has joined #ocaml
rossberg has joined #ocaml
thomasga has quit [Client Quit]
cschneid has joined #ocaml
bitbckt has joined #ocaml
icicled has joined #ocaml
segmond has joined #ocaml
mawuli has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Guest38 has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mcclurmc has joined #ocaml
jeffmo has joined #ocaml
mcclurmc has quit [Ping timeout: 244 seconds]
tennix has joined #ocaml
johnf_ has quit [Read error: Connection reset by peer]
pyon has quit [Quit: F...ix you, Emacs!]
pyon has joined #ocaml
mcclurmc has joined #ocaml
<bernardofpc>
companion> and product for the balancing criterion -> you only need it to be a Z-module
<bernardofpc>
(of course, if perf is important, but making 5*stuff can be done in 2 log_2(5) additions
grouzen has quit [Ping timeout: 265 seconds]
johnf_ has joined #ocaml
mcclurmc has quit [Remote host closed the connection]
bendiken has joined #ocaml
mcclurmc has joined #ocaml
MrScout has joined #ocaml
Lis has quit [Read error: Connection reset by peer]
johnf_ has quit [Read error: Connection reset by peer]
MrScout has quit [Remote host closed the connection]
MrScout has joined #ocaml
bendiken_ has joined #ocaml
bendiken has quit [Ping timeout: 264 seconds]
MrScout has quit [Ping timeout: 246 seconds]
rgrinberg1 has quit [Ping timeout: 244 seconds]
jao has quit [Ping timeout: 268 seconds]
psy_ has quit [Ping timeout: 256 seconds]
rgrinberg1 has joined #ocaml
bendiken_ is now known as bendiken
arjunguha has joined #ocaml
rgrinberg2 has joined #ocaml
rgrinberg1 has quit [Ping timeout: 256 seconds]
arjunguha has quit [Client Quit]
rgrinberg2 has quit [Ping timeout: 244 seconds]
arjunguha has joined #ocaml
darkf has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
arjunguha has joined #ocaml
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
samrat has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mac10688 has quit [Ping timeout: 250 seconds]
jeffmo has quit [Quit: jeffmo]
BitPuffin|osx has quit [Ping timeout: 272 seconds]
segmond has quit [Ping timeout: 246 seconds]
segmond has joined #ocaml
johnf_ has joined #ocaml
rgrinberg2 has joined #ocaml
NingaLeaf has quit [Quit: Leaving.]
MercurialAlchemi has joined #ocaml
kolko has quit [Ping timeout: 256 seconds]
rgrinberg2 has quit [Ping timeout: 244 seconds]
kolko has joined #ocaml
ncthom91 has joined #ocaml
samrat has quit [Ping timeout: 246 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
MrScout has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
psy_ has joined #ocaml
pyon has quit [Quit: F...ix you, Emacs!]
pyon has joined #ocaml
BhavyaM has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
ncthom91 has joined #ocaml
swgillespie has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<destrius>
what
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
shinnya has joined #ocaml
bendiken has joined #ocaml
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
kushal has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
MrScout has quit [Ping timeout: 246 seconds]
ygrek has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
psy_ has quit [Ping timeout: 240 seconds]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
kolko has quit [Remote host closed the connection]
kolko has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
zpe has joined #ocaml
Haudegen has quit [Ping timeout: 250 seconds]
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
xet7_ has joined #ocaml
bendiken has joined #ocaml
Haudegen has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
hbar has quit [Quit: WeeChat 0.4.2]
bendiken has joined #ocaml
sh0t has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
johnf_ has quit [Read error: Connection reset by peer]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
dgryski has joined #ocaml
sh0t has quit [Ping timeout: 268 seconds]
ygrek_ has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
Simn has joined #ocaml
mort___ has joined #ocaml
ollehar has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
grouzen has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
zpe has quit [Remote host closed the connection]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
moei has quit [Quit: Leaving...]
bendiken has joined #ocaml
alex-hu has quit [Ping timeout: 246 seconds]
mort___ has left #ocaml [#ocaml]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
kushal has quit [Ping timeout: 244 seconds]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
thomasga has joined #ocaml
kushal has joined #ocaml
rand__ has joined #ocaml
rand__ has quit [Remote host closed the connection]
rand__ has joined #ocaml
Kakadu has joined #ocaml
AlexRussia has quit [Ping timeout: 264 seconds]
grouzen has quit [Ping timeout: 256 seconds]
grouzen has joined #ocaml
Fleurety has quit [Ping timeout: 260 seconds]
AlexRussia has joined #ocaml
thomasga has quit [Quit: Leaving.]
kushal has quit [Ping timeout: 272 seconds]
nullcatxxx_ has joined #ocaml
rwmjones has quit [Quit: ZNC - 1.6.0 - http://znc.in]
obadz has quit [Ping timeout: 265 seconds]
obadz has joined #ocaml
arjunguha has joined #ocaml
Haudegen has quit [Ping timeout: 264 seconds]
Haudegen has joined #ocaml
tnguyen has joined #ocaml
zpe has joined #ocaml
BhavyaM has quit [Quit: Quit the channel]
rwmjones has joined #ocaml
zpe has quit [Ping timeout: 244 seconds]
f[x] has joined #ocaml
ygrek_ has quit [Ping timeout: 256 seconds]
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shinnya has quit [Ping timeout: 272 seconds]
arjunguha has joined #ocaml
dbrumley_ has quit [Remote host closed the connection]
freehck has joined #ocaml
<freehck>
good UGT day everyone! :)
_andre has joined #ocaml
nullcatxxx_ has joined #ocaml
nullcatx_ has joined #ocaml
nullcatxxx_ has quit [Ping timeout: 265 seconds]
<companion_cube>
nullcatx_: red/black trees? why not
<companion_cube>
in containers.data, indeed
tane has joined #ocaml
BitPuffin has joined #ocaml
tennix has quit [Ping timeout: 260 seconds]
ggole has joined #ocaml
dgryski has left #ocaml [#ocaml]
zpe has joined #ocaml
kushal has joined #ocaml
thomasga has joined #ocaml
rgrinberg2 has joined #ocaml
f[x] has quit [Ping timeout: 246 seconds]
thomasga has quit [Quit: Leaving.]
rgrinberg2 has quit [Ping timeout: 256 seconds]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
arjunguha has joined #ocaml
<freehck>
people, i've just revealed that if I open String module and then open List module then the function concat will be bound to List.concat instead of String.concat. I'd like to see warnings while compilation about such redefinitions. How can I get them?
<companion_cube>
-w +44
<companion_cube>
man ocamlc lists the warnings
<flux>
freehck, this is one reason why people prefer to either not open modules, or open them only in small scopes
<companion_cube>
cf the recent blog post
<flux>
freehck, an alternatives to giving full module paths is module aliases
<companion_cube>
I hate it when old code starts with 5 or 10 open statements
arjunguha has quit [Ping timeout: 246 seconds]
<zozozo>
companion_cube: which blog post ?
obadz has quit [Ping timeout: 264 seconds]
<freehck>
companion_cube: thx, i see it's an option for ocamlc. But it seems ocamlbuild does not understand this option.
igoroliveira has joined #ocaml
ollehar has quit [Ping timeout: 250 seconds]
<freehck>
maybe there's some file where I can put this option as a default one for ocamlc?
obadz has joined #ocaml
<MasseR>
freehck: '-cflags -w +44' or something like that
<flux>
wasn't there a _tags way to dothis
<flux>
warn(+44) maybe
<flux>
or just plain warn(44)
<ggole>
There's always about three ways to do anything with ocamlbuild
<flux>
ok, so the third way is myocamlbuild.ml ;)
<flux>
I recently learned that one can add the -use-ocamlfind that way, it's nice.
<flux>
btw, is it possible to add a default target for ocamlbuild when no other targets are given?
<freehck>
-cflags '-w +44'
<freehck>
does work
<freehck>
MasseR: thank you
<ggole>
flux: I usually wrap it in a makefile, which makes that pretty easy
<flux>
but makefile wrapper doesn't work nicely if you on the other hand give make multiple targets
<flux>
it's not really better than ./build.sh except for the familiarity of make
<zozozo>
companion_cube: thx
nullcatxxx_ has joined #ocaml
arjunguha has joined #ocaml
zpe has quit [Remote host closed the connection]
nullcat__ has joined #ocaml
nullcatx_ has quit [Ping timeout: 250 seconds]
nullcatxxx_ has quit [Ping timeout: 246 seconds]
arjunguha has quit [Client Quit]
nullcatxxx_ has joined #ocaml
kushal has quit [Quit: Leaving]
zpe has joined #ocaml
nullcat__ has quit [Ping timeout: 244 seconds]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
nullcatxxx_ has quit [Client Quit]
grouzen has quit [Ping timeout: 252 seconds]
ollehar has joined #ocaml
rgrinberg2 has joined #ocaml
<companion_cube>
hey rgrinberg2 o/
<rgrinberg2>
companion_cube: hello :)
rgrinberg2 is now known as rgrinberg
<companion_cube>
have you been writing OCaml recently? :)
<adrien>
if you say no, he'll kidnap you and force you to
<companion_cube>
nah
<companion_cube>
I wish I was writing OCaml, actually
<adrien>
don't be sad, at least you're going to do Windows stuff
<companion_cube>
maybe
<ia0>
you're going to do Windows stuff ? :-( sad sad
<companion_cube>
no, I'm going to write software that might have to work on windows
<companion_cube>
(well, anywhere where coq works)
<ia0>
that's better :-)
<companion_cube>
I wouldn't be happy to write code on Windows
<companion_cube>
;-)
<adrien>
/for/
<companion_cube>
well, does cross compilation work?
<adrien>
Jein
<adrien>
but now I have time
<ia0>
I wasn't happy at MSR until I could use my linux laptop
<companion_cube>
then to develop for windows, you need to run windows, don't you?
<ia0>
git clone under windows is 1000x slower than on linux
<adrien>
I want to commit/vomit the python stuff for win-builds and then basically do the release
<adrien>
and then free time
<adrien>
companion_cube: it'll work better soon
<companion_cube>
free time = testing of CCSexp? :p
<adrien>
that goes in not-free-time afterwards
<adrien>
actually I hope I'll avoid the need for the upcoming release because otherwise I'll have way too many related tasks which I only want in the release after the current one
<companion_cube>
unrelated: I'm still wondering how costly is input_char, since channels have buffers
<adrien>
profile it :)
tennix has joined #ocaml
<ggole>
Look at the source
<Enjolras>
try and see if it is too slo
asmanur has quit [Ping timeout: 256 seconds]
<companion_cube>
I'm benchmarking it
asmanur has joined #ocaml
<companion_cube>
reading a 5.2 MiB files: a buffer of 4096 chars is 3700% faster than input_char
<flux>
I sort of hope the Event module and its kin would then get more love.. ;)
<flux>
but I guess we're not going to get gc'd threads
kushal has joined #ocaml
<Enjolras>
I don't think you can migrate Lwt to multicore easily with keeping the same interface
<Enjolras>
It's common to assume Lwt is concurrent but not parallel when you write lwt code and hence, if you switch to multicore : here come the races
<flux>
that's unavoidable, but I don't know if the Lwt interface itself in any way requires or encourages that
<flux>
I know I've written code that does assume it, though ;)
<flux>
sooo nice, just assign stuff here and there and it's always atomic as long as you don't use the monad!
<Drup>
Another very common assumption is to assume everything between to bind is atomic
<Drup>
two*
<Enjolras>
Drup: eexactly.
<flux>
now that's just lazy.. ;)
<Drup>
well, not really
<Drup>
Lwt does guarantee that, so it makes sense.
kushal has quit [Ping timeout: 252 seconds]
amirmc has joined #ocaml
<orbitz>
companion_cube: do you have any intentions for a Label's layer for ocaml-containers? THe labels are probably one of my more liked features in Core
rgrinberg has quit [Ping timeout: 244 seconds]
troydm has joined #ocaml
<mrvn>
I wonder if lables in function calls could be implicit like with labels in records.
MercurialAlchemi has joined #ocaml
<Enjolras>
somebody mentionned that recently, not sure if it was on the list or on the reddit
<Enjolras>
like automatically add a label using the argument name
<mrvn>
too bad it isn't clear cut like with records.
<mrvn>
would break existing code :(
<Enjolras>
could add an "optional labels" extensions.
<Enjolras>
if not labeled : use in order, else select the argument from labels
<orbitz>
Yeah I'm not sure if taht would make life easier if it was possible.
<mrvn>
but currently if not labeled it uses the first unlabeled slot.
<Enjolras>
yes, it's quite some work to implement
<orbitz>
I'd have to naem all my variables something meaningful too, woudl be tragic
<Enjolras>
mrvn: i guess it needs another syntax to be backward compatible
<Enjolras>
which is... ugly
<orbitz>
I"m also not sure how itw ould play with optional arguments
<mrvn>
I was thinking that "f x y z" would be equivalent to "f ~x=x ~y=y ~z=z"
<Drup>
why ?
<Drup>
just do f ~x ~y ~z ...
<Drup>
no need to hack anything
<mrvn>
3 ~ more than I want to type
<flux>
:-D
<Drup>
poor boy
<Enjolras>
it's more than 3 #
<Enjolras>
~
<Enjolras>
to call it, you need to use the same variable names than the guy who wrote the function
<Enjolras>
or do ~foo:bar
<Drup>
There is no way around that
<mrvn>
if you don't use the same name then you have to use the long form
<orbitz>
I'm not sure we, as an industry have reached the point here parameter names could be considered part of an API :)
<Drup>
The first one that talks about permuting arguments based on types untill it fits gain a stupidity point
<Enjolras>
ew
* Drup
looks at mrvn.
<mrvn>
Drup: WTF? that's insane
<freehck>
people, i cannot understand this thing with utop:
<Enjolras>
that's a terrible idea
<freehck>
# let s = regexp "1";;
<Drup>
mrvn: you have proposed worse :D
<freehck>
Error: Reference to undefined global `Str'
<Enjolras>
you pretty much lose all type checking
<mrvn>
Drup: hardly
<freehck>
What does it mean? I've already opened Str module.
<Enjolras>
are you linking to it ?
<freehck>
ah, i got.
<freehck>
#load "str.cma";;
<freehck>
Enjolras: thanks.
thomasga1 has joined #ocaml
tennix has quit [Ping timeout: 255 seconds]
thomasga has quit [Ping timeout: 255 seconds]
tennix has joined #ocaml
rgrinberg has joined #ocaml
zpe has quit [Remote host closed the connection]
tennix has quit [Ping timeout: 255 seconds]
kushal has joined #ocaml
obadz has quit [Ping timeout: 252 seconds]
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
obadz has joined #ocaml
tennix has joined #ocaml
Denommus has joined #ocaml
tennix has quit [Ping timeout: 244 seconds]
<companion_cube>
orbitz: I don't plan to duplicate the interfaces (like ListLabels, etc.)
<companion_cube>
I use a small number of labels, but I admit I never really took the habit to put labels everywhere
shinnya has joined #ocaml
cdidd has quit [Ping timeout: 264 seconds]
amirmc has quit [Quit: Leaving.]
thomasga1 has quit [Quit: Leaving.]
cdidd has joined #ocaml
<Denommus>
can I emulate multimethods in OCaml?
<ggole>
I tend to reserve labels for many-argument functions, and particularly multiple arguments of the same type
johnf_ has joined #ocaml
<ggole>
Maybe I should use them more.
thomasga has joined #ocaml
<companion_cube>
Denommus: I'm not sure
rgrinberg has quit [Ping timeout: 255 seconds]
thomasga has quit [Quit: Leaving.]
shinnya has quit [Ping timeout: 240 seconds]
grouzen has joined #ocaml
arjunguha has joined #ocaml
ygrek has joined #ocaml
tane has quit [Quit: Verlassend]
tennix has joined #ocaml
zpe has joined #ocaml
ncthom91 has joined #ocaml
tennix has quit [Ping timeout: 246 seconds]
thomasga has joined #ocaml
tennix has joined #ocaml
tennix has quit [Ping timeout: 246 seconds]
ncthom91 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
MrScout has joined #ocaml
jeffmo has joined #ocaml
jwatzman|work has joined #ocaml
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<orbitz>
Is a label wrapper for ar library free other than the amn power?
MrScout has quit [Remote host closed the connection]
kushal has quit [Ping timeout: 250 seconds]
tennix has quit [Ping timeout: 268 seconds]
Kakadu has quit []
<mrvn>
Does one have to use QML with QT5?
Kakadu has joined #ocaml
mort___ has quit [Quit: Leaving.]
<mrvn>
Does one have to use QML with QT5?
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<mrvn>
I want to write my GUI in ocaml, not ECMAscript and c++.
bendiken has joined #ocaml
tennix has joined #ocaml
tennix has quit [Ping timeout: 246 seconds]
<Kakadu>
And what will happen if you will need designer for your program?
<adrien>
mrvn: Qt itself is not nice to bind at all; QML is probably the sanest way
<adrien>
and Qt depends on you being able to do inheritance stuff
<flux>
I think if you're not using QML with Qt5, you're missing the point.. :)
<flux>
but maybe one can use jsocaml!
<Kakadu>
flux: with QML?
<flux>
sure, why not!
<flux>
jsocaml creates javascript
<flux>
with a little bit nudging I bet it could make QML as well!
<mrvn>
adrien: ocaml has inheritance so that is not a problem
<Kakadu>
I tried to write something simple, it worked OK
<adrien>
mrvn: but you need to forward that to the C++ side
<adrien>
i.e. you need to manipulate vtables from the ocaml side at runtime
<mrvn>
adrien: means that for every class you have to build a ocaml and c++ glu class.
<adrien>
I'd much rather atempt to use jsoo with QML like flux says
<adrien>
mrvn: not sane :)
<mrvn>
saner than using 3 languages.
kushal has joined #ocaml
<adrien>
hundreds of megabytes of object code
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tennix has joined #ocaml
bendiken has joined #ocaml
<Kakadu>
btw, it will be not good to use js_of_ocaml with QML. It was OK when they were using V8 (which is good for large parts of Javascript but too heavy for small javascript) but now they have changed Javascript engine which is working better with small parts of code than V8
JuggleTu1 has joined #ocaml
<adrien>
well, it might work but there might be things to fix too
<adrien>
it's a good thing that Drup has already volunteered to help on that
<adrien>
(he hasn't but I'm sure he will :D )
<flux>
it's a good thing you're volunteering him ;)
<Drup>
Lol.
tennix has quit [Ping timeout: 268 seconds]
<adrien>
:)
JuggleTu1 has quit [Client Quit]
tennix has joined #ocaml
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
nullcatxxx_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
bendiken has joined #ocaml
tennix has quit [Ping timeout: 240 seconds]
<mrvn>
ollehar: When you call the GC from C it can also run. And best practice is to wrap C pointers in a ocaml custom block with finalizer. Prevents dangling pointers that can become ocaml values and cause all sorts of problems.
ygrek has quit [Ping timeout: 244 seconds]
<ollehar>
mrvn: eh? all c pointers? why?
<mrvn>
say you have a C pointer and you free it while keeping the value around in ocaml. Then the GC needs some memory and increases the heap. Not the dangling C pointer can point inside the heap if you are unlucky.
<mrvn>
suddenly the GC thinks it's something it has allocated and needs to handle.
tennix has joined #ocaml
tennix has quit [Changing host]
tennix has joined #ocaml
ollehar1 has joined #ocaml
_andre has quit [Quit: leaving]
<ollehar1>
I'm not even gonna use OCaml, only the GC ^^
ollehar has quit [Ping timeout: 260 seconds]
ollehar1 is now known as ollehar
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tennix has quit [Ping timeout: 244 seconds]
bendiken has joined #ocaml
<ollehar>
wow, it's fast
<ollehar>
one million allocs of 1024 bytes, done in 1 sec
arjunguha has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<mrvn>
alloc is basically add %r6, %r0
<ollehar>
yes, but it has to collect to
<ollehar>
*too
<mrvn>
only when you free
<ollehar>
no?
<ollehar>
you mean, when it has no references?
<mrvn>
well, when the minor heap runs full
tennix has joined #ocaml
larhat1 has joined #ocaml
<ollehar>
a gc is quite small, when it comes to it, it seems
<ollehar>
mrvn: in this small C-program, would you wrap `value val` in an ocaml value?
<mrvn>
should be CAMLlocal1(val); though if you want to use it later
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
troydm has quit [Quit: What is hope? That all of your wishes and all of your dreams come true? (C) Rau Le Creuset]
arjunguha has quit [Client Quit]
bendiken has joined #ocaml
<ollehar>
ok
rand__ has quit [Quit: leaving]
<ollehar>
can I even call those macros from LLVM IR?
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<ollehar>
maybe wrap them in functions. but speed.
bendiken has joined #ocaml
m4b has joined #ocaml
<m4b>
i can't seem to figure out how to print a set with ppx_deriving.show. `module S = Set.Make(type t = <sometype with show> let compare = <some compare function>)`
bendiken has quit [Quit: My Mac has gone to sleep. ZZZzzz…]