ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://caml.inria.fr/ | http://www.ocaml.org | OCaml 4.01.0 announce at http://bit.ly/1851A3R | Logs at http://irclog.whitequark.org/ocaml
andy-c_ has quit [Read error: Connection reset by peer]
<orbitz> well, my Raft implementtaion has been running in simulation all day and so far s ogood
_cody_ has quit [Remote host closed the connection]
fold has joined #ocaml
darkf has joined #ocaml
philtor_ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
ontologiae has joined #ocaml
philtor_ has quit [Ping timeout: 245 seconds]
_twx_ has quit [Read error: Connection reset by peer]
BitPuffin has quit [Ping timeout: 255 seconds]
rand000 has quit [Quit: leaving]
eikke__ has quit [Ping timeout: 260 seconds]
bytbox has quit [Remote host closed the connection]
tnguyen has joined #ocaml
philtor has joined #ocaml
tnguyen has quit [Client Quit]
ontologiae has quit [Ping timeout: 272 seconds]
path[l] has joined #ocaml
malo has joined #ocaml
<path[l]> Drup: thanks for the reply. Is it possible to automatically name the new module List, or do I have to have each module do module List = List_ext
<Drup> name the module List ?
<Drup> but, now that it will confuse readers a bit if you use unknown list functions from a module named List
<Drup> know*
<path[l]> oh ok
<path[l]> yeah I gess that makes sense
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
samrat has joined #ocaml
huza has quit [Read error: Connection reset by peer]
samrat has quit [Quit: Computer has gone to sleep.]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
malo has quit [Ping timeout: 240 seconds]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
bytbox has joined #ocaml
q66_ has quit [Quit: Leaving]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
samrat has joined #ocaml
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
malo has joined #ocaml
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Ping timeout: 240 seconds]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
shinnya has quit [Ping timeout: 244 seconds]
travisbrady has quit [Quit: travisbrady]
huza has joined #ocaml
huza has quit [Ping timeout: 240 seconds]
jprakash has joined #ocaml
malo has quit [Ping timeout: 240 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
Khady_ has joined #ocaml
Khady has quit [Remote host closed the connection]
reventlo1 has joined #ocaml
reventlov has quit [Quit: Reconnecting]
reventlo1 is now known as Reventlov
WraithM has joined #ocaml
fold has quit [Ping timeout: 250 seconds]
SethTisue has quit [Quit: SethTisue]
malo has joined #ocaml
_0xAX has joined #ocaml
WraithM has quit [Ping timeout: 272 seconds]
philtor has quit [Ping timeout: 260 seconds]
MercurialAlchemi has joined #ocaml
<whitequark> Drup: fun fact, I just remembered. I had a dream about how the lwt ppx syntax extension is really really bad style
<whitequark> Drup: The [try%lwt <expr>] construct
<whitequark> there is no such construct
Kakadu has joined #ocaml
WraithM has joined #ocaml
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
malo has quit [Ping timeout: 240 seconds]
_0xAX has quit [Remote host closed the connection]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
huza has quit [Read error: Connection reset by peer]
huza has joined #ocaml
jprakash has quit [Ping timeout: 255 seconds]
Kakadu has quit [Quit: Konversation terminated!]
Kakadu has joined #ocaml
huza has quit [Ping timeout: 260 seconds]
chris2 has quit [Ping timeout: 240 seconds]
huza has joined #ocaml
samrat has joined #ocaml
chris2 has joined #ocaml
chris2 has quit [Ping timeout: 250 seconds]
chris2 has joined #ocaml
chris2 has quit [Ping timeout: 240 seconds]
chris2 has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
huza has quit [Quit: WeeChat 0.3.8]
shinnya has joined #ocaml
kakadu_ has joined #ocaml
kakadu_ has quit [Client Quit]
badon has joined #ocaml
tautologico has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
BitPuffin has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
Kakadu has joined #ocaml
Kakadu has quit [Client Quit]
Kakadu has joined #ocaml
Simn has joined #ocaml
WraithM has quit [Read error: Connection reset by peer]
WraithM has joined #ocaml
BitPuffin has quit [Ping timeout: 240 seconds]
samrat has joined #ocaml
WraithM has quit [Ping timeout: 245 seconds]
eikke__ has joined #ocaml
shinnya has quit [Ping timeout: 250 seconds]
koderok has joined #ocaml
koderok has quit [Client Quit]
lordkryss has joined #ocaml
eikke__ has quit [Ping timeout: 246 seconds]
pminten has joined #ocaml
ontologiae has joined #ocaml
BitPuffin has joined #ocaml
path[l] has quit [Ping timeout: 250 seconds]
<whitequark> hm, where is the opam documentation pdf?
studybot has quit [Ping timeout: 264 seconds]
studybot_ has joined #ocaml
path[l] has joined #ocaml
maattdd has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
maattdd has quit [Ping timeout: 245 seconds]
rand000 has joined #ocaml
thomasga has joined #ocaml
thomasga has quit [Quit: Leaving.]
hm1 has joined #ocaml
hhugo has joined #ocaml
<nicoo> orbitz: Raft the consensus algorithm ?
SethTisue has joined #ocaml
SethTisue has quit [Client Quit]
<orbitz> nicoo: yes
ggole has joined #ocaml
hm1 has left #ocaml [#ocaml]
pminten has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<mfp> orbitz: here's mine https://github.com/mfp/oraft
hhugo has quit [Quit: Leaving.]
<mfp> I see yours uses (Core's) async?
<orbitz> yes
<orbitz> although that shoudl be pretyt easy to move to a functor if necessary
<orbitz> I don't think it uses anything fancy from Async
<orbitz> I'm still figuring out how to do snapshots properly
<mfp> the core of my impl is a state machine abstracted over IO, concurrency and timeouts, but then I build a Lwt intf atop it
<nicoo> orbitz, mfp : companion_cube also implements distributed systems algorithms in OCaml
<orbitz> yeah that looks ince
<mfp> do you happen to have a solution to the "unstable peer keeps triggering elections" problem?
<orbitz> I started with trying to make teh state machine pure but i coudln't get it to work in a way I really liked
hhugo has joined #ocaml
<mfp> also, abstracting over all that allows me to test everything using DES
<orbitz> mfp: no i don't. In one of my examples you can run it with some partitioning and it just causes relections
<orbitz> in my case I plan on building somethign like quickcheck_statem for testing
<mfp> AFAIK the Raft authors themselves do not have a full solution yet
<mfp> the paper says they're working on it
<orbitz> i need to do a big refactoring party on my code though, it got messy as i worked bugs out
<nicoo> mfp: DES ? Also, would you be able to extract a description of the state machine that would be suitable for model checking ?
<mfp> but never seen them propose the solution, and then I found some msg on their ML where they said it was sort of out-of-scope since it was bizantin-ish
<orbitz> mfp:are you using yours for anything?
<nicoo> mfp: As someone who does Byzantine stuff, it is very strange to hear that network partitionning is Byzantinish :]
<mfp> nicoo: discrete-event simulation. I've simulated a few billion operations w/ arbitrary packet loss (depending on timeouts, etc., it works with >90% packet loss), partition, node replacement (cluster membership changes)....
<orbitz> nicoo: in this case it has to be really frequent partitions
<mfp> *byzantinish
<orbitz> Raft basicaly assumes that terms will be longlivd
<mfp> orbitz: not yet, but vbmithr is building some stuff atop it
<orbitz> I'm building mine as the backbone to a CP k-v store I'm working on
<nicoo> mfp: Since Byzantine is a nationality adjective, it should be capitalized. (I actually had a reviewer complain about this :D)
Thooms has joined #ocaml
<mfp> ~same here, my plan was to build obigstore's (a DB server with a bigtable-like model) replication + failover on top of it
<orbitz> mfp: same here. I shoudl read teh obigstore source
<mfp> orbitz: this seems to be oraft + Sqlite for distributed k-v > https://github.com/vbmithr/ocaml-llsqlite
<mfp> it's basically a bigtable-like model (table -> key -> columns) built atop leveldb (but could easily functorize over any kv. storage w/ support for range queries) with transactions and good support for concurrency (by that I mean concurrent reqs over a single conn)
<mfp> can be used embedded or client/server (w/ sync or async replication), and the idea was to extend it using oraft to the distributed case (after suitable changes in the API)
<orbitz> mine is much simpler at the moment, just a single keyspace
<orbitz> and no columns
hhugo has quit [Quit: Leaving.]
<orbitz> I'm aiming targetting multidatacenter's mainly.
zpe has joined #ocaml
<mfp> nicoo: as for model checking > the Raft guys have checked the algo I implemented. But since the conversion from machine-verified model (well, actually from the desc. in their paper) to OCaml code means introducing errors, I check my impl using discrete-event simulation.
<mfp> orbitz: are you going to support transactions?
<orbitz> mfp: at the moment I just plan on supporting a CAS operator and then probably atomic-multikey writes. but I don't have plans for transactions yet
<nicoo> mfp: Sounds fair enough
<mfp> I'd like to implement something like hyperdex warp at some point
<nicoo> It is just that I was wondering if it would be possible to use model-checking directly on your state-machine (by pretty-printing it to Spin's language, for instance) without too much work
<nicoo> mfp: What is “hyperdex warp” ?
<orbitz> it's transaction layer for hyperdex
<orbitz> using their chaining algorithm
<mfp> nicoo: I'd have some reading to do I fear :P
<nicoo> orbitz: Ok
<mfp> nicoo: here's the core state machine https://github.com/mfp/oraft/blob/master/oraft.mli#L84 it takes events like "election timeout" or "heartbeat timeout" and returns a new state and actions (send msg, become follower, reset heartbeat, etc.)
<orbitz> mfp: mine isn't too far from that actually. The actions are side effects in my case though
dsheets has joined #ocaml
darkf has quit [Ping timeout: 240 seconds]
<orbitz> I'm still not sure waht the appropriate relationship is between logs, snapshots, and statemachines. It kind of spreads itself over all of them
darkf has joined #ocaml
<mfp> orbitz: in my case, snapshots are handled like other state transitions: you get a snapshot sent / snapshot send failed event, and some transitions can output Send_snapshot actions. Snapshot transfer/install is left abstract. The core Raft machine remains pure, but there will be implicit state (thus affected by snapshots) at work when the caller executes Apply actions.
<orbitz> in my case i want to use raft with state's taht are in the tens of gigabytes
<mfp> that's no problem (also my case)
<mfp> see e.g. https://github.com/mfp/oraft/blob/master/dict.ml#L54 <- that's the meat of a distributed (in-mem) kv. (which can also double as a distributed lock server for laughs)
<mfp> the Raft state machine doesn't know about the actual replicated state machine state
<mfp> it's implicit in the exec function (invoked on Apply _ actions)
<orbitz> yes i think that's the same in mine as well
<mfp> so you sort of have 2 state machines here: the Raft one that replicates a log and the application-level one
<orbitz> your RSM pushes back when it's safe to apply though, correct?
hhugo has joined #ocaml
<mfp> orbitz: not sure I'm following you (are you referring to my RSM module? :) the Raft state machine says when the app-level state machine must apply by generating an Apply action
eikke__ has joined #ocaml
<orbitz> yes taht 's waht I mean
* mfp bbiaw
fraggle_laptop has quit [Remote host closed the connection]
badon has quit [Read error: Connection reset by peer]
paullik has joined #ocaml
badon has joined #ocaml
_0xAX has joined #ocaml
dsheets has quit [Read error: Connection reset by peer]
dsheets has joined #ocaml
darkf has quit [Quit: Leaving]
Hannibal_Smith has joined #ocaml
eikke__ has quit [Ping timeout: 255 seconds]
jprakash has joined #ocaml
q66 has joined #ocaml
jprakash has quit [Quit: Lost terminal]
shinnya has joined #ocaml
nojb has joined #ocaml
<nojb> Is the current (camlp4) stream syntax documented anywhere ? It seems to be strictly less capable than the (older?) syntax that one can find online. For example, the "inline" alternative [let f = parser [< '' ' | ''\t'; s >] -> ...] is not allowed ...
<adrien> :e
<adrien> ergh
eikke__ has joined #ocaml
dsheets has quit [Ping timeout: 246 seconds]
koderok has joined #ocaml
BitPuffin has quit [Ping timeout: 246 seconds]
nojb has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
badon has quit [Ping timeout: 272 seconds]
_0xAX has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 246 seconds]
paullik has quit [Remote host closed the connection]
_cody_ has joined #ocaml
travisbrady has joined #ocaml
eikke__ has quit [Ping timeout: 240 seconds]
fold has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Hannibal_Smith has quit [Quit: Sto andando via]
fold has quit [Ping timeout: 250 seconds]
BitPuffin has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Ping timeout: 250 seconds]
bytbox has quit [Remote host closed the connection]
koderok has left #ocaml [#ocaml]
maattdd has joined #ocaml
fold has joined #ocaml
dsheets has joined #ocaml
dsheets has quit [Remote host closed the connection]
dsheets has joined #ocaml
bytbox has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 272 seconds]
maattdd has quit [Ping timeout: 240 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
bytbox has quit [Remote host closed the connection]
jao has quit [Ping timeout: 260 seconds]
bytbox has joined #ocaml
maattdd has joined #ocaml
_0xAX has joined #ocaml
flixr has joined #ocaml
<flixr> hi guys, I was wondering if anyone ever came across the problem of putting large values (double precision) in a slider or spin button
<flixr> looks like the value is converted to float in the binding to gtk adjustement set_value function
NaCl has joined #ocaml
<flixr> seems to me it should be done with Double_val instead of Float_val since the gtk set_value function takes a gdouble as argument
<flixr> so that seems to be a problem in lablgtk...
NaCl has quit [Client Quit]
NaCl has joined #ocaml
NaCl has left #ocaml [#ocaml]
<flixr> see https://forge.ocamlcore.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=lablgtk/lablgtk.git;a=blob;f=src/ml_gtk.c;h=c86ae02ede567323dab03f2e53cafb8f82fdbb05;hb=HEAD#l234
<flixr> would be great if someone could tell me if this here is the right place to ask
<adrien> check the C API
<adrien> if it's using float, there's nothing that can be done
<adrien> ah, you already did
Reventlov has quit [Ping timeout: 245 seconds]
zapu has quit [Ping timeout: 272 seconds]
companion_cube has quit [Ping timeout: 272 seconds]
companion_cube has joined #ocaml
zapu has joined #ocaml
Reventlov has joined #ocaml
<adrien> can you send a mail about that on the mailing-list?
philtor_ has joined #ocaml
<whitequark> Drup: apparently I motivated someone to use ocsigen well enough they've decided to learn OCaml
BitPuffin has quit [Ping timeout: 255 seconds]
<Drup> wao :O
hhugo has quit [Quit: Leaving.]
zpe has joined #ocaml
zpe has quit [Ping timeout: 246 seconds]
malo has joined #ocaml
philtor_ has quit [Ping timeout: 245 seconds]
maattdd has quit [Ping timeout: 260 seconds]
philtor_ has joined #ocaml
<flixr> adrien, thx... testing a quick patch now, will post on the mailing list... lablgtk-list@lists.forge.ocamlcore.org or another one?
<adrien> flixr: should be the right one
<flixr> k
<adrien> (should because I haven't checked for typos, but that's it)
_cody_ has quit [Remote host closed the connection]
oriba has joined #ocaml
<flixr> ok, changing it to Double_val solves the problem
<flixr> should I directly open a bug report and attach the patch or write to the ml?
<adrien> I think the ML is going to be more reactive
<flixr> ok
Arsenik has joined #ocaml
BitPuffin has joined #ocaml
philtor_ has quit [Ping timeout: 272 seconds]
eikke__ has joined #ocaml
maattdd has joined #ocaml
malo has quit [Ping timeout: 272 seconds]
_0xAX has quit [Remote host closed the connection]
lordkryss has quit [Quit: Connection closed for inactivity]
path[l] has quit [Quit: path[l]]
path[l] has joined #ocaml
NaCl has joined #ocaml
path[l] has quit [Quit: path[l]]
eikke__ has quit [Ping timeout: 250 seconds]
maattdd has quit [Ping timeout: 240 seconds]
q66 has quit [Remote host closed the connection]
q66 has joined #ocaml
<adrien> flixr: thanks for the mail, I'll bump it and commit it in a couple days if there are no remarks
NaCl has left #ocaml [#ocaml]
<flixr> :-)
q66 has quit [Quit: Leaving]
yacks has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
q66 has joined #ocaml
travisbrady has joined #ocaml
hhugo has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
path[l] has joined #ocaml
jbrown has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
lordkryss has joined #ocaml
dereinzige has quit [Remote host closed the connection]
pyon has quit [Quit: Fiat justitia ruat caelum.]
pyon has joined #ocaml
WraithM has joined #ocaml
travisbrady has quit [Quit: travisbrady]
path[l] has quit [Quit: path[l]]
travisbrady has joined #ocaml
path[l] has joined #ocaml
zpe has joined #ocaml
ggole has quit []
zpe has quit [Ping timeout: 250 seconds]
WraithM has quit [Ping timeout: 245 seconds]
maattdd has joined #ocaml
shinnya has joined #ocaml
travisbrady has quit [Quit: travisbrady]
zpe has joined #ocaml
pjdelport has quit [Quit: Connection closed for inactivity]
zpe has quit [Ping timeout: 260 seconds]
shinnya has quit [Ping timeout: 260 seconds]
travisbrady has joined #ocaml
Arsenik has quit [Remote host closed the connection]
pjdelport has joined #ocaml
shinnya has joined #ocaml
Kakadu has quit [Quit: Konversation terminated!]
BitPuffin has quit [Quit: No Ping reply in 180 seconds.]
BitPuffin has joined #ocaml
travisbrady has quit [Quit: travisbrady]
travisbrady has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 245 seconds]
travisbrady has quit [Quit: travisbrady]
zpe has joined #ocaml
zpe has quit [Ping timeout: 250 seconds]
dmbaturin has quit [Ping timeout: 255 seconds]
dmbaturin has joined #ocaml
maattdd has quit [Ping timeout: 260 seconds]
lordkryss has quit [Quit: Connection closed for inactivity]
philtor_ has joined #ocaml
Simn has quit [Quit: Leaving]
maattdd has joined #ocaml
Thooms has quit [Quit: WeeChat 0.4.3]
path[l] has quit [Quit: path[l]]
travisbrady has joined #ocaml
maattdd has quit [Ping timeout: 245 seconds]
maattdd has joined #ocaml
philtor_ has quit [Ping timeout: 255 seconds]
<oriba> I try to use csv-lib. For native compilation, it does not work.m There is no csv.a file. But there is a csv.cmxa file. Can this be used instead?
shinnya has quit [Ping timeout: 246 seconds]
<Drup> you mean the csv package ?
ontologiae has quit [Ping timeout: 255 seconds]
<Drup> I have the .a and everything
philtor_ has joined #ocaml
<oriba> yes, ocaml-csv
<oriba> you have .a ?
<oriba> hmhh
<oriba> Drup, ah I now have it too. There was an option for staticlibs missing in the package-creation-file.
philtor_ has quit [Ping timeout: 250 seconds]
<oriba> Drup, yes, that stuff
<oriba> making the package again with "staticlibs" option, now compilation works :-)
<Drup> ok
<Drup> (I just used opam and it was ok directly)
<oriba> aha ok
philtor has joined #ocaml
<oriba> I don#t use opam
<oriba> I used the AUR-package (Arch linux)
<oriba> they have new defaults since a while, and staticlibs are not used by default now
<oriba> the AUR-package maintainer has to add them, or the user who isntalls it can add it
<oriba> this can be forgotten then...
<Drup> AUR packages for ocaml are not good ...
zpe has joined #ocaml
<Drup> use opam, it's better from every point of view
<oriba> hmhhh
<oriba> you also use Arch?
<Drup> yes
<oriba> There are different phoilosopies
<oriba> Some people say everything must be done via system#s package manager
dsheets has quit [Ping timeout: 260 seconds]
<oriba> Other people say, use what the language offers
<oriba> Well, I'm undecided
<Drup> I personally say : use what works.
<Drup> and pacman doesn't offer recompilation on dependency change
<Drup> hence doesn't work for ocaml
maattdd has quit [Ping timeout: 264 seconds]
zpe has quit [Ping timeout: 245 seconds]
travisbrady has quit [Quit: travisbrady]
darkf has joined #ocaml
rand000 has quit [Quit: leaving]
travisbrady has joined #ocaml
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
rgrinberg has joined #ocaml
eikke__ has joined #ocaml
pyon has quit [Quit: Fiat justitia ruat caelum.]
pyon has joined #ocaml
johnnydiabetic has joined #ocaml