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]
<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>
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
<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>
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...
<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?