ChanServ changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.02.1 announcement at http://ocaml.org/releases/4.02.html | Public channel logs at http://irclog.whitequark.org/ocaml
AlexRussia has quit [Ping timeout: 252 seconds]
AlexRussia has joined #ocaml
bytbox has quit [Remote host closed the connection]
jonludlam has quit [Ping timeout: 245 seconds]
travisbrady has joined #ocaml
AlexRussia has quit [Ping timeout: 244 seconds]
AlexRussia has joined #ocaml
bytbox has joined #ocaml
MrScout has quit [Ping timeout: 245 seconds]
enitiz has joined #ocaml
ygrek has joined #ocaml
WraithM has quit [Ping timeout: 246 seconds]
dmiles_afk has joined #ocaml
lpw25 has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
Guest67190 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
dmiles has quit [Ping timeout: 264 seconds]
NoNNaN has quit [Remote host closed the connection]
ptc has joined #ocaml
ptc is now known as Guest12732
NoNNaN has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jabesed has quit [Ping timeout: 252 seconds]
swgillespie has joined #ocaml
MrScout has joined #ocaml
BitPuffin has quit [Ping timeout: 245 seconds]
badon has quit [Quit: Leaving]
MrScout has quit [Read error: Connection reset by peer]
MrScout has joined #ocaml
huza has joined #ocaml
travisbrady has quit [Quit: travisbrady]
yminsky has joined #ocaml
yminsky has quit [Client Quit]
bytbox has quit [Remote host closed the connection]
mort___ has joined #ocaml
kube_ has joined #ocaml
<kube_> Hi
<kube_> I have a little problem with OPAM, I would like to know if I could get some help
<kube_> ?
mort___ has quit [Ping timeout: 265 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
hilquias has joined #ocaml
<Drup> ask away :)
<kube_> I think I just found the solution
<kube_> I needed jpeglib.h for installation of glMLite Opam package
<kube_> So I installed it with brew
<kube_> But I didn't know how to tell the compiler to check the brew lib folder
<kube_> I suppose it is C_INCLUDE_PATH env variable ?
<Drup> I can't help with os x issues, sorry
<kube_> Ok I think I found the solution but I still have a problem with the DYLIB
<kube_> No problem
yminsky has joined #ocaml
<smondet> kube_: brew sometimes does not "export" the pkg-config paths for libraries to find them
<smondet> kube_: in that README we put the solution for sqlite3, the one for your library maight be similar: https://github.com/smondet/trakeva
bytbox has joined #ocaml
ontologiae has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
<kube_> @smondet : Thanks but I solved my problem by doing : export C_INCLUDE_PATH=$HOME/.brew/include
badon has joined #ocaml
Guest12732 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
darkf has joined #ocaml
ygrek has joined #ocaml
kube_ has quit [Quit: Page closed]
Puffin has joined #ocaml
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
hilquias has quit [Ping timeout: 265 seconds]
skinkitten has quit [Quit: Leaving]
Muzer has quit [Ping timeout: 264 seconds]
cdidd has quit [Remote host closed the connection]
kapil__ has joined #ocaml
MrScout has quit [Ping timeout: 264 seconds]
q66 has quit [Quit: Leaving]
Muzer has joined #ocaml
travisbrady has joined #ocaml
tnguyen1 has joined #ocaml
hilquias has joined #ocaml
cdidd has joined #ocaml
manizzle has quit [Ping timeout: 250 seconds]
yminsky has quit [Quit: yminsky]
destrius has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Puffin has quit [Ping timeout: 255 seconds]
moei has quit [Quit: Leaving...]
MrScout has joined #ocaml
moei has joined #ocaml
chinglish has joined #ocaml
swgillespie has joined #ocaml
ontologiae has quit [Ping timeout: 252 seconds]
ayepot has quit [Quit: leaving]
vanila has quit [Quit: Leaving]
travisbrady has joined #ocaml
cdidd has quit [Remote host closed the connection]
cdidd has joined #ocaml
huza has quit [Ping timeout: 252 seconds]
rgrinberg has quit [Quit: Leaving.]
sdegutis has joined #ocaml
<sdegutis> Is there an OCaml to JavaScript thing?
MrScout has quit [Ping timeout: 245 seconds]
claudiuc has quit [Remote host closed the connection]
araujo has quit [Quit: Leaving]
manizzle has joined #ocaml
<dmbaturin> sdegutis: js_of_ocaml, which I haven't tried personally yet.
<dmbaturin> try.ocamlpro.com is produced with it, which is quite impressive.
rgrinberg has joined #ocaml
Algebr has joined #ocaml
<Algebr> Reading about Lwt, docs say that Lwt threads don't require a new stack, hmm, then they aren't really threads then.
<dmbaturin> Algebr: As I understand, by default they are sort of cooperative multitasking, although there's a way to create actual threads. But I'm just starting on it.
<Algebr> I'm probably ignorant, but I thought that cooperative multitasking was ridiculued, at least it was in my OS class.
travisbrady has quit [Quit: travisbrady]
<dmbaturin> Algebr: Confined within a single process it can be reasonable. Kernel-level cooperative multitasking is horrible indeed.
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
enitiz has quit [Ping timeout: 245 seconds]
zwer has joined #ocaml
zwer_g has quit [Ping timeout: 250 seconds]
swgillespie has joined #ocaml
swgillespie has quit [Client Quit]
Intensity has joined #ocaml
swgillespie has joined #ocaml
ddosia has quit [Ping timeout: 276 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nullcat_ has joined #ocaml
tel has joined #ocaml
samuelrivas_ has joined #ocaml
moviuro has quit [Ping timeout: 245 seconds]
Algebr has quit [Remote host closed the connection]
Algebr has joined #ocaml
moviuro has joined #ocaml
darkf_ has joined #ocaml
sdegutis has quit [Quit: Leaving...]
Algebr has quit [Ping timeout: 264 seconds]
darkf has quit [Ping timeout: 245 seconds]
swgillespie has joined #ocaml
darkf_ is now known as darkf
tel has quit [Quit: Using Circe, the loveliest of all IRC clients]
badon has quit [Ping timeout: 250 seconds]
badkins has quit []
ygrek has quit [Ping timeout: 245 seconds]
<mistym> When opam builds an ocaml via `opam init --comp`, what flags does it pass to configure? Wondering, for redistribution, if the built ocaml will generate binaries that optimize for the current CPU.
psy_ has quit [Remote host closed the connection]
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
manizzle has quit [Ping timeout: 250 seconds]
manizzle has joined #ocaml
manizzle has quit [Ping timeout: 250 seconds]
manizzle has joined #ocaml
ebzzry has joined #ocaml
MercurialAlchemi has joined #ocaml
lu324__ has quit [Remote host closed the connection]
lu324__ has joined #ocaml
nullcat has joined #ocaml
jao has quit [Ping timeout: 245 seconds]
oscar_toro has quit [Ping timeout: 246 seconds]
ygrek has joined #ocaml
samuelrivas_ has quit [Ping timeout: 244 seconds]
psy_ has joined #ocaml
tane has joined #ocaml
larhat has joined #ocaml
huza has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
psy_ has quit [Quit: Leaving]
ygrek has quit [Ping timeout: 264 seconds]
iorivur has joined #ocaml
jgjl has joined #ocaml
Simn has joined #ocaml
huza has quit [Ping timeout: 252 seconds]
dsheets_ has joined #ocaml
dsheets has quit [Ping timeout: 252 seconds]
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
govg has quit [Quit: leaving]
dsheets_ has quit [Ping timeout: 250 seconds]
oscar_toro has joined #ocaml
huza has joined #ocaml
matason has joined #ocaml
larhat1 has joined #ocaml
larhat has quit [Ping timeout: 240 seconds]
ygrek has joined #ocaml
badon has joined #ocaml
dsheets_ has joined #ocaml
samrat has joined #ocaml
samrat has quit [Client Quit]
jgjl has quit [Quit: Textual IRC Client: www.textualapp.com]
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
psy_ has quit [Max SendQ exceeded]
psy_ has joined #ocaml
ollehar has joined #ocaml
Kakadu has joined #ocaml
kapil__ has quit [Quit: Connection closed for inactivity]
mort___ has joined #ocaml
oscar_toro has quit [Quit: Leaving.]
<flux> is there a fixed-width font text formatting library for ocaml that does tables?
oscar_toro has joined #ocaml
axiles has joined #ocaml
<MercurialAlchemi> flux: Format isn't enough for you?
<flux> well, maybe I'll try with that but it doesn't do multi-row entries, does it? also ability for HTML output would be a plus :)
<companion_cube> it's probably going to be uglier than lambda-term though
<flux> hey that's pretty relevant to my interests :)
<companion_cube> there's no output to HTML, but maybe it could be added
<companion_cube> that would be interesting actually
<flux> ability to remove |-+ would be nice as well
<companion_cube> if you want to try it real quick: opam install containers; utop; #require "containers.misc"
<flux> ..in addition to supporting unicode line characters :-)
<companion_cube> heh
<companion_cube> I've been told that, didn't take time
<companion_cube> but would take contributions for sure!
<companion_cube> flux: you can disable frames around stuff, too, it's opt-in
<flux> great
_andre has joined #ocaml
yomimono has joined #ocaml
manizzle has quit [Ping timeout: 250 seconds]
jonludlam has joined #ocaml
ghostpl has joined #ocaml
larhat1 has quit [Quit: Leaving.]
Haudegen has quit [Ping timeout: 264 seconds]
larhat has joined #ocaml
larhat1 has joined #ocaml
Haudegen has joined #ocaml
larhat has quit [Ping timeout: 244 seconds]
manizzle has joined #ocaml
paradoja has joined #ocaml
paradoja has quit [Ping timeout: 244 seconds]
AlexRussia has quit [Ping timeout: 245 seconds]
huza has quit [Quit: WeeChat 0.3.8]
ghostpl has quit [Remote host closed the connection]
AlexRussia has joined #ocaml
AlexRussia has quit [Excess Flood]
AlexRussia has joined #ocaml
ontologiae has joined #ocaml
oscar_toro has quit [Ping timeout: 244 seconds]
yomimono has quit [Ping timeout: 245 seconds]
keen__________53 has quit [Read error: Connection reset by peer]
darth_lumbergh has joined #ocaml
keen__________53 has joined #ocaml
yminsky has joined #ocaml
Thooms has joined #ocaml
ygrek has quit [Ping timeout: 245 seconds]
ollehar has quit [Ping timeout: 265 seconds]
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
yminsky has quit [Quit: yminsky]
ghostpl has joined #ocaml
govg has joined #ocaml
lordkryss has joined #ocaml
lordkryss has quit [Client Quit]
darth_lumbergh has joined #ocaml
paradoja has joined #ocaml
ghostpl has quit [Ping timeout: 240 seconds]
jabesed has joined #ocaml
Thooms has quit [Ping timeout: 244 seconds]
enitiz has joined #ocaml
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
ghostpl has joined #ocaml
ebzzry has quit [Remote host closed the connection]
psy_ has quit [Quit: Leaving]
ontologiae has quit [Ping timeout: 252 seconds]
kube_ has joined #ocaml
mengu has joined #ocaml
ghostpl has quit [Remote host closed the connection]
Puffin has joined #ocaml
Puffin is now known as BitPuffin
<MercurialAlchemi> ouch, "hello world" in scala.js is apparently ~ 1MB
<companion_cube> heh.
<MercurialAlchemi> clearly, js_of_ocaml can't compete
<MercurialAlchemi> :)
<companion_cube> scala isn't particularly ligthweigth in general
<MercurialAlchemi> no
tane has quit [Quit: Verlassend]
<companion_cube> lightweight*
<MercurialAlchemi> I wonder if the compile times have improved
yomimono has joined #ocaml
Stany has joined #ocaml
Tamae has quit [Ping timeout: 265 seconds]
darth_lumbergh has joined #ocaml
<Drup> MercurialAlchemi: yeah, I sort of chuckled when I read it was production ready
Algebr has joined #ocaml
thorsten` has quit [Ping timeout: 265 seconds]
myst|work has quit [Read error: Connection reset by peer]
Antoine60 has quit [Ping timeout: 265 seconds]
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
Antoine59 has joined #ocaml
thorsten` has joined #ocaml
ebzzry has joined #ocaml
travisbrady has joined #ocaml
ghostpl has joined #ocaml
bytbox has quit [Remote host closed the connection]
<MercurialAlchemi> Drup: I'm starting a JS side-project shortly, which means I'll be able to experiment first-hand the production-readiness of js_of_ocaml
<Drup> :D
ayepot has joined #ocaml
darth_lumbergh has joined #ocaml
<flux> does js_of_ocaml have any significant issues?
<flux> or even many small ones?-)
<Drup> TCO is not complete
<companion_cube> bindings are a pain, aren't they?
<Drup> it supports some pattern (and in particular, the simple tail rec one) but some tail call will not be suported
<Drup> companion_cube: depends of the library
<MercurialAlchemi> (it's awful, the more I work with ocaml, the more I'm scared by other techs)
<Drup> bindings itself are not hard
<Drup> what is hard is the impedence mismatch between js' "type system" and ocaml's one
<adrien_znc> that's a nice way to call the fact that most people doing JS don't know what they're doing
<Drup> I really like it when the types in the documentation don't match the implementation because it's not auto-generated and the guy who wrote the documentation tried to retrofit some meaning based on type when it didn't exist in the first place (and got it wrong, obviously)
<Drup> (spoiler: that's jquery and bootstrap's widgets)
<Drup> some js libraries are indeed well typed, and then the binding is very easy
psy_ has joined #ocaml
<MercurialAlchemi> I won't say anything on the topic of OCaml documentation and missing/misleading @raises annotations :)
<Drup> MercurialAlchemi: at least some part, you are sure of it :D
<dmbaturin> MercurialAlchemi: Technically, it's not impossible to generate those automatically too, but for some reason no documentation generators do it.
<dmbaturin> I wish at least some of them did.
<Drup> doing it automatically would be pretty much the same as having a purity tracking type system
<MercurialAlchemi> dmbaturin: you would need to have annotations for all the third-party code you use
<MercurialAlchemi> including the stdlib
<Drup> dmbaturin: it's technically possible, but it's a significant work
<MercurialAlchemi> (not that I think it would be a bad thing)
enitiz has quit [Remote host closed the connection]
<MercurialAlchemi> fortunately, a number of ocaml libraries sidestep the issue masterfully by avoiding documentation in the first place :)
<companion_cube> :)
badkins has joined #ocaml
enitiz has joined #ocaml
<adrien_znc> :D
<adrien_znc> who needs doc when you have types?
<adrien_znc> (and exceptions)
myst|work has joined #ocaml
<companion_cube> well, types don't have effects, sadly
<MercurialAlchemi> companion_cube: I don't know how sad that is...
* MercurialAlchemi points at the monad transformer towers over the horizon
<MercurialAlchemi> hm, I see the human-level AI people are at it again
<MercurialAlchemi> "code running on billions of cores", in OCaml
<def`> :)
<def`> I would really like typed exceptions...
<Drup> algebraic effects plz <3
<dmbaturin> I would like some kind of "exception inference" so it's possible to automatically find out what a function can raise.
<dmbaturin> Drup: What are algebraic effects and where can I read about it?
<companion_cube> that would be truly awesome
<companion_cube> even if just with a switch to opt-in
ygrek has joined #ocaml
ontologiae has joined #ocaml
<Drup> I doubt it would be possible without changing a *lot* of things in ocaml :/
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
<adrien_znc> that's why you need to start today!
<companion_cube> it might be faster to switch to Idris directly
<companion_cube> can we port current libraries to Idris ? :)
<Drup> yeah sure
<Drup> you give a proof of termination of the type checker
<Drup> I'm looking.
ollehar has joined #ocaml
<companion_cube> I think you can disable termination checking in Idris
rgrinberg has joined #ocaml
<Drup> that would be incredibly weird, considering you need to execute some stuff at compile time
<dmbaturin> companion_cube: Idris doesn't requires functions to be total?
<dmbaturin> * require
<companion_cube> well you can disable it, I think
<Drup> I don't know in Idris
<Drup> in Agda, disabling it is as well regarded as using Obj.magic
<companion_cube> maybe in Idris it's as well regarded as | _ -> assert false in OCaml
<companion_cube> if a dependently-typed language wants to be adopted beyond a few researchers, for real programming, it needs to have gradual requirements
<Drup> (and Idris doesn't have an effect system, by the way)
<MercurialAlchemi> ugh
<MercurialAlchemi> if you need to assert_foo for a mundane and common thing like filter, it's worrying
<Drup> (It has some sort of hack by encoding effects into a monadic representation and infer the code to permute the monad stack)
<Drup> (It's a very clever hack, but still hacky)
<companion_cube> oh
<companion_cube> I thought it was built-in :/
<dmbaturin> How Coq checks if recursion is well-founded? I've just realized I never thought about it.
<companion_cube> structurally by default
<companion_cube> you can provide a well-founded ordering by hand if required
<dmbaturin> Yeah, I was under impression it doesn't execute anything at compile time to check if something is total/
<Drup> you don't execute to check the totality, that's dumb idea :D
<Drup> that's the other way around, you want to check the totality to be sure that, if you execute it at compile time, it will terminate
<companion_cube> apparently you do execute the proof that the ordering is well-founded
darth_lumbergh has joined #ocaml
<def`> (providing a well-founded ordering satisfy coq totality checker by structurally recursing on ordering proof so... structural recursion is the only way to prove totality in coq, right? in other proof systems too?)
bytbox has joined #ocaml
<Drup> I think Idris is using size types
<Drup> which is a similar idea, but not exactly the same
<dmbaturin> Size types?
<def`> ok, I'll check that,thx
<Drup> basically, you need to annotate expressions with a ""size""
<Drup> and the size will decrease on tail calls
<Drup> the difference with structural recursion is that you don't really need to have something that is obviously structurally included, you can just have something "smaller" by any sens of small
<dmbaturin> How do you specify when it must end?
slash^ has joined #ocaml
<Drup> a size is a positive integer.
Snark_ has joined #ocaml
<dmbaturin> Oh, so essentially it maps a countable set of possible cases to natural numbers?
<Drup> essentially, yes
larhat1 has quit [Quit: Leaving.]
darkf has quit [Quit: Leaving]
<def`> and i assume you can recurse on different size types and have an ordering between them?!
<Drup> that's the point where the theory start being hairy and I never get to it :D
manizzle has quit [Ping timeout: 245 seconds]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
<Drup> dsheets_: do you know Oleg's talk will be recorded/streamed ?
<Drup> +if
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
Thooms has joined #ocaml
bytbox has quit [Remote host closed the connection]
<dmbaturin> Which talk?
manizzle has quit [Max SendQ exceeded]
manizzle has joined #ocaml
samuelrivas_ has joined #ocaml
travisbrady has quit [Quit: travisbrady]
mengu has quit []
lordkryss has joined #ocaml
travisbrady has joined #ocaml
ghostpl has quit [Remote host closed the connection]
<dsheets_> Drup, dunno... there's also one on monday http://talks.cam.ac.uk/talk/index/57790
<dmbaturin> Reminds me, I should learn what the hell are continuations finally. :)
travisbrady has quit [Quit: travisbrady]
hsuh has quit [Ping timeout: 255 seconds]
iorivur has quit [Ping timeout: 250 seconds]
lyxia has quit [Remote host closed the connection]
destrius has quit [Ping timeout: 264 seconds]
lyxia has joined #ocaml
travisbrady has joined #ocaml
hsuh has joined #ocaml
skinkitten has joined #ocaml
ptc has joined #ocaml
ptc is now known as Guest84964
ollehar has quit [Ping timeout: 265 seconds]
Guest84964 has quit [Client Quit]
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
Hannibal_Smith has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
kube_ has quit [Ping timeout: 246 seconds]
ptc_ has joined #ocaml
AlexRussia has quit [Ping timeout: 265 seconds]
darth_lumbergh has joined #ocaml
bytbox has joined #ocaml
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
rgrinberg has joined #ocaml
Sorella has joined #ocaml
darth_lumbergh has joined #ocaml
dario has joined #ocaml
matason has quit [Read error: No route to host]
AlexRussia has joined #ocaml
matason has joined #ocaml
bytbox has quit [Remote host closed the connection]
samuelrivas_ has quit [Ping timeout: 245 seconds]
<dario> I have a question concerning running OCaml as a script interpreter:
swgillespie has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
swgillespie has quit [Client Quit]
<dario> Suppose the script uses the Unix module. How do I tell the interpreter to load the Unix lib?
yomimono has quit [Ping timeout: 250 seconds]
matason has quit [Quit: leaving]
<dsheets_> dario, #use "topfind" #require "unix" but this is... not so great
<companion_cube> well it works for scripts
<companion_cube> just 2 lines to add
<dario> Ah, I didn't realise the # directives could also be used inside scripts...
<dsheets_> dario, it's just like using the toplevel
<Drup> with ppx annotations, it could be quite easy to have an annotation that would work with both the compiler and the interpreter
rgrinberg has joined #ocaml
<Drup> whitequark: didn't you had a plan like that, at some point
<Drup> ?
<dario> Thanks dsheets_: it works fine!
Submarine has joined #ocaml
chinglish has quit [Quit: Nettalk6 - www.ntalk.de]
Thooms has quit [Quit: WeeChat 1.0.1]
bytbox has joined #ocaml
nullcat has joined #ocaml
nullcat has quit [Client Quit]
ygrek has quit [Ping timeout: 264 seconds]
ptc_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
MrScout has joined #ocaml
enitiz has quit [Ping timeout: 246 seconds]
ptc has joined #ocaml
ptc is now known as Guest10326
<whitequark> Drup: yes
enitiz has joined #ocaml
Kakadu has quit [Quit: Page closed]
antkong has joined #ocaml
jonludlam has quit [Quit: Coyote finally caught me]
q66 has joined #ocaml
mort___ has quit [Ping timeout: 250 seconds]
<Algebr> How to read this type parameter of a type signature, ?css:string list list, its an optional parameter that takes a list of a list of strings?
<dario> Algebr: yes
paradoja has quit [Ping timeout: 245 seconds]
AlexRussia has quit [Ping timeout: 256 seconds]
leowzukw has joined #ocaml
travisbrady has quit [Quit: travisbrady]
badkins has quit []
travisbrady has joined #ocaml
<MercurialAlchemi> anybody tried cow to generate CSS?
Haudegen has quit [Ping timeout: 245 seconds]
Haudegen has joined #ocaml
olauzon has joined #ocaml
darth_lumbergh has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
bytbox has quit [Remote host closed the connection]
Haudegen has quit [Ping timeout: 255 seconds]
Kakadu has joined #ocaml
Haudegen has joined #ocaml
manizzle has quit [Ping timeout: 252 seconds]
lordkryss has quit [Quit: Connection closed for inactivity]
Thooms has joined #ocaml
darth_lumbergh has joined #ocaml
darth_lumbergh has quit [Client Quit]
dsheets_ has quit [Ping timeout: 246 seconds]
Algebr has quit [Ping timeout: 245 seconds]
<companion_cube> whitequark: did you abandon ppx_deriving_protobuf?
<whitequark> no
<companion_cube> it doesn't work with ppx_deriving 2, though?
struktured has quit [Ping timeout: 245 seconds]
<whitequark> oh. that's just a dependency issue
<whitequark> let me fix
<whitequark> wait, no
<whitequark> 2.1 already fixed that
<whitequark> ... oh, 2.1 never got into opam-repo
<companion_cube> I only see 1.0 and 2.0
enitiz has quit [Ping timeout: 246 seconds]
sagotch has joined #ocaml
<sagotch> hey
<whitequark> companion_cube: fixed
<companion_cube> good!
<sagotch> https://gist.github.com/sagotch/bdd81723e06ee611b584 > running bar.native print "bar\nfoo\n"
<sagotch> how do you access to values from a module without side effect?
<sagotch> (I can't modify the foo module)
<Drup> I don't understand the question.
<companion_cube> accessing Foo.foo isn't a side effect?
<sagotch> I want to access Foo.foo without recording the at_exit function.
<flux> sagotch, cannot be done.
<flux> ocaml modules work as if you evaluated each phrase from top to bottom
jao has quit [Ping timeout: 264 seconds]
ghostpl has joined #ocaml
<companion_cube> I don't understand
<flux> some introduce bindings, some don't
<bernardofpc> whitequark: is there a way to install ppx_deriving without issuing "opam install" ?
<companion_cube> why don't you just export Foo.foo ?
<flux> companion_cube, he wants to access a symbol in module Foo without evaluating the side-effectful statements in it
<MercurialAlchemi> companion_cube: he wants to avoid the let () in Foo.ml
<sagotch> flux: sorry to hear it, but thanks
<flux> but it's an all-or-nothing deal
<flux> sagotch, what do you need it for?
<flux> maybe it's easier to just not do those side effects in foo.ml :-)
<whitequark> bernardofpc: are you on windows?
<flux> or, maybe you want to know about the flag Sys.interactive
<bernardofpc> gentoo
<whitequark> why do you avoid opam?
<sagotch> working without Bisect library, which record a function dumping some data to a file at_exit
<bernardofpc> because it compiles all my ocml packages twice, once for emerge, other for opam
<sagotch> so everytime you run my app, bisect lib create a .out file
<bernardofpc> kinda ugly
<whitequark> ok
<bernardofpc> I see there's a .install
<whitequark> yes, that's the only thing I provide
<Drup> bernardofpc: there is a simple solution, remove your ocaml packages from emerge.
<sagotch> flux: and of course if I could avoid the side effect in the original module, I would
<bernardofpc> If I put things in /usr/lib64/ocaml/ppx_deriving, this whould work ?
<whitequark> you should follow the .install file
<whitequark> the only thing it does is put files into $OCAMLPATH/ppx_deriving, yes
<bernardofpc> I guess I should then use some ocamlfind install META ... ?
ghostpl has quit [Ping timeout: 265 seconds]
<whitequark> yes that would work
<bernardofpc> thanks
antkong has quit [Quit: antkong]
jonludlam has joined #ocaml
_andre has quit [Quit: leaving]
dario has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
mort___ has joined #ocaml
<MercurialAlchemi> sagotch: why compile with bisect in the first place?
rgrinberg has quit [Quit: Leaving.]
tane has joined #ocaml
travisbrady has quit [Quit: travisbrady]
rgrinberg has joined #ocaml
claudiuc has joined #ocaml
Algebr has joined #ocaml
<Algebr> Say my script foo.ml uses Unix module, how can I get ocaml foo.ml to work without Error: Reference to undefined global Unix. Do I need to add #require "unix" to the top of foo.ml itself or #require "unix" to ~/.ocamlinit?
<MercurialAlchemi> Algebr: how are you planning on using your "script"?
<Algebr> oh I'm a dumbass, apparently this was gone over earlier today
<Algebr> I just want to be able to do ocaml foo.ml
<MercurialAlchemi> right
<adrien> "ocaml unix.cma foo.ml"
<companion_cube> yes, you should add #require
travisbrady has joined #ocaml
<Algebr> hmm, utop is find with the #require but ocaml says Unknown directive `require'
<Algebr> fine*
<bernardofpc> whitequark: It worked, but I only managed to get utop working , and I was really banging my head about syntax...
<bernardofpc> thanks A LOT for ppx
mort___ has quit [Quit: Leaving.]
jgjl has joined #ocaml
<Algebr> Is the try/with End_of_file the canonical way to read everything from a Unix.open_process_in? Any easier way to just get all the strings?
<companion_cube> depends on whether you use a stdlib extension, mostly
Guest10326 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
manizzle has joined #ocaml
nullcat has joined #ocaml
<sagotch> MercurialAlchemi: what do you mean ? I use bisect library (not bisect program)
enitiz has joined #ocaml
<MercurialAlchemi> sagotch: oh, ok, makes sense then
<MercurialAlchemi> btw, there is a PR on the toml repo you should look at
<MercurialAlchemi> :)
<MercurialAlchemi> (mackwic's repo, that is)
ptc has joined #ocaml
ptc is now known as Guest33134
<sagotch> \whois MercurialAlchemi
<sagotch> hum... nope
Anarchos has joined #ocaml
<sagotch> MercurialAlchemi: did not review it yet but yes
dsheets_ has joined #ocaml
Submarine has quit [Remote host closed the connection]
travisbrady has quit [Quit: travisbrady]
Hannibal_Smith has quit [Quit: Leaving]
travisbrady has joined #ocaml
tane has quit [Remote host closed the connection]
ollehar has joined #ocaml
<Algebr> I wonder if corebuild is statically linking everything when building .byte or .native....the binaries are massive for trivial programs
<bernardofpc> yep
<Drup> yes, it links all of core
<bernardofpc> (usually ocaml links everything statically)
<Algebr> dafuk, why?
<Algebr> oh nvm, cause I guess you can't assume ocaml libraries on other people's machines
<Drup> yes, ocaml native binaries are self contained
<Drup> (well, except glib, but ...)
<Algebr> but even the .byte is massive
<Drup> .byte's only dependency is the ocaml VM.
<Drup> if you want to use dynamic linking, you have the right to do so too.
<Algebr> I guess only c compilers can assume dynamic linking as the default
<dsheets_> we could move to a more dynamically linked world with opam now
<dsheets_> but... meh
<whitequark> huh? you can't really reference modules you dynlink
<whitequark> there is a PR on github that addresses that
<Drup> dsheets_: not convinced it's a good idea
<dsheets_> indeed, to get the same behavior as ld.so, we'd need run-time machinery. whitequark, link?
leowzukw_ has joined #ocaml
leowzukw has quit [Ping timeout: 246 seconds]
<Drup> except if you assume we only stay inside the ocaml ecosystem, but this is a pretty bad thing to assume
<dsheets_> grrr travis ci javascript is unbearable
<whitequark> "This was started as a joke" lol
<dsheets_> seriously, loading 200 lines of log files shouldn't hang your browser. wtf i hate this new JS-heavy web
<whitequark> travis is a particularly bad case of this, too
<dsheets_> it seems to have gotten worse recently... simply astounding
<whitequark> they keep talking about how they're gonna make a new UI but it's vaporware so far
<MercurialAlchemi> I don't know if it's travis' fault exactly, but last time FF just crashed on me as I was trying to look at the logs
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<whitequark> entirely unsurprising
<dsheets_> 100% cpu... from my 1 travis tab
<MercurialAlchemi> dsheets_: it must be mining bitcoins or something
<dsheets_> probably
<dsheets_> i bet the more tests they get per repo, the more cycles they steal when you browse to the test results
leowzukw_ has quit [Quit: Lost terminal]
<MercurialAlchemi> you could always try with lynx
<MercurialAlchemi> there are less cycles to steal
<whitequark> MercurialAlchemi: it simply won't work
<dsheets_> That's the beauty of using a TC language to represent a document!
<Algebr> what's TC?
<MercurialAlchemi> <body id="home"></body>
<MercurialAlchemi> ok
<dsheets_> Turing Complete
<companion_cube> dsheets_: otoh , codoc will use a bit of JS, won't it?
<dsheets_> companion_cube, none so far
<Algebr> oh
<dsheets_> when i get around to templating, you can include it if you want
<dsheets_> 0.2.0 should be out tonight/tomorrow on the dev repo
<companion_cube> dsheets_: not even to fold/unfold sub-module signatures?
<MercurialAlchemi> they do have an API, though, so you should be able to pretty-print your way out of it
<dsheets_> companion_cube, no, not yet
<MercurialAlchemi> I wonder if some combination of cmdliner, atdgen and cohttp couldn't do something nice for the world
<dsheets_> summary/details elements are supposed to give you js-free expand/collapse widgets
<dsheets_> MercurialAlchemi, ocaml-github?
<MercurialAlchemi> dsheets_: doesn't hook to travis, does it?
<MercurialAlchemi> but apparently other people have had the idea
<dsheets_> no
<MercurialAlchemi> I'm going to forget the fact that this page contains what looks like an ncurses client in PHP
<MercurialAlchemi> because I don't like to wake in the middle of the night being afraid the author may be living on the same continent
<Drup> hum, the cli client seems rather nice
<MercurialAlchemi> Drup: the official one?
<Drup> yeah
travisbrady has quit [Quit: travisbrady]
agam has joined #ocaml
<Drup> it's probably written in ruby which will make it crash all the time
<Drup> but it *looks* nice
<MercurialAlchemi> it is written in ruby
<Drup> ahah, muh diviniation
<Drup> It should rewrite "hub" using ocaml-github
<MercurialAlchemi> and the install instructions start with 'install ruby1.9.3-dev'
<Drup> it crashes all the time because of ruby
<MercurialAlchemi> well, not necessarily
<MercurialAlchemi> but graphically it reminds me of tig
<Algebr> Confused about input_line. It returns back string, but I am wrapping it in try/with End_of_file, but why does the type signature of input_line not reflect that it can throw an expceiton
<Algebr> (tig is AWESOME)
<Drup> weirdly I don't use tig anymore, because magit
<MercurialAlchemi> ah
<MercurialAlchemi> emacs thingie, right?
jgjl has joined #ocaml
<Drup> yep
<MercurialAlchemi> I'm testing fugitive
enitiz has quit [Quit: Leaving]
<companion_cube> fugitive + gitgutter ;)
<MercurialAlchemi> it's not bad except that it doesn't let me commit for some reason
<MercurialAlchemi> yeah, gitgutter too
<MercurialAlchemi> your fault
<MercurialAlchemi> :)
enitiz has joined #ocaml
<companion_cube> vim is becoming surprisingly nice for OCaml now
<companion_cube> with merlin+gitgutter+fugitive+syntax stuff from rgrinberg
<MercurialAlchemi> yeah
<MercurialAlchemi> well
<def`> +ocp-indent-vim :P
<MercurialAlchemi> merlin has a few bugs
<companion_cube> ocp-indent-vim... hmm
<MercurialAlchemi> (what's the syntax stuff from rgrinberg?)
ollehar has quit [Ping timeout: 240 seconds]
<companion_cube> rgrinberg/vim-ocaml
<MercurialAlchemi> ah, nice
<MercurialAlchemi> I'm not sure this will increase my willingness to look at _oasis files though...
<companion_cube> well it does help
<companion_cube> it also colorizes opam files
<MercurialAlchemi> yeah, that's nice
nullcat has quit [Read error: Connection reset by peer]
jgjl has quit [Quit: Textual IRC Client: www.textualapp.com]
ollehar has joined #ocaml
ollehar has quit [Client Quit]
slash^ has quit [Read error: Connection reset by peer]
ontologiae has quit [Ping timeout: 264 seconds]
<MercurialAlchemi> Algebr: btw, there is no effect system in ocaml, so exceptions don't appear in the signature
<MercurialAlchemi> Algebr: they may appear in the documentation if you are lucky
travisbrady has joined #ocaml
<Algebr> MercurialAlchemi: What do you mean there is no effect system? You mean like haskell IO ?
<Drup> MercurialAlchemi: I have an important question
<MercurialAlchemi> Algebr: there is nothing to track side-effects (like exceptions, for instance)
<MercurialAlchemi> oh oh
<Drup> MercurialAlchemi: is all your mli well commented and published on a web page ? :D
<Drup> I need to know, for teasing purposes, among other things :D
<MercurialAlchemi> Drup: well, I don't do my own hosting, but my contributed mlis are, in fact, documented
<Drup> links plz. :]
<MercurialAlchemi> I have even been known on occasion to provide examples
<Drup> oooh :O
<companion_cube> and tests, too
<Drup> :D
<MercurialAlchemi> (ok, my invoicing system is not documented, but it's not published)
<Drup> "no one can see it, I'm safe !"
<Drup> (repeat in 2 years, when you try to modify it)
<MercurialAlchemi> I've been there
<MercurialAlchemi> I'll rewrite it in another language :)
<flux> it's fifty-fifty.. "this code is utter shit!" or "wow, I used to be smart!"
<MercurialAlchemi> at least there is a chance that it breaks if I try to change it
<MercurialAlchemi> (I admit that I'm not sure I can still understand the previous version which was in Haskell)
bytbox has joined #ocaml
robink has quit [Ping timeout: 255 seconds]
t4nk535 has joined #ocaml
robink has joined #ocaml
<Algebr> Is when a keyword or some kind of syntax extension?
<Drup> keyword
<Drup> it's for guards in pattern matching.
<Algebr> I see, so not like when in elisp
t4nk535 has quit [Quit: Page closed]
aaylor has joined #ocaml
<Algebr> Anyone care to take a look at this simple program? I'm not understanding why its not printing out the set, pastebin.org/41t06r48
travisbrady has quit [Quit: travisbrady]
<Algebr> I'm guessing I'm reading the scoping incorrectly.
MrScout has quit [Remote host closed the connection]
<Drup> you're sure of the address ?
<Algebr> oops
Algebr has quit [Remote host closed the connection]
travisbrady has joined #ocaml
Algebr has joined #ocaml
<Algebr> Drup: fixed, http://pastebin.com/pd1fAeZ7
<Algebr> I'm think I'm screwing up the scoping
<Drup> it's not really a scoping issue
<Drup> more a mutability one
<Drup> names is immutable
<Algebr> but I'm rebinding it
<Algebr> so shouldn't I be getting the new one each time?
<Drup> you are rebinding it to a new name, yes, not modifying the old one :)
<Drup> everything is immutable by default in ocaml
<Algebr> I get that, but as it is now, it doesn't print out the set
<Algebr> which makes me think the set is empty...
<Drup> sure
<Drup> since in the with .. handler
<S11001001> Algebr: did you mean to use 'names', defined on line 16, somewhere?
<Drup> the names used is the one defined line 13
<Drup> which is empty
WraithM has joined #ocaml
<Algebr> why doesn't line 16 names take the binding for line 13 for the with handler? Why does the with block look at line 13 names?
<Algebr> I thought that it would keep rebinding and the old one would be garbage collected.
<Drup> you mean, you assume the variable define inside a function escape the scope of the function ?
<Drup> then, yes, you have a very serious case of pythonite and you got the scope wrong :D
<Drup> No, a binding never escape the scope of the function, never.
<MercurialAlchemi> so you're creating new sets in your loop function, and then throwing them away
travisbrady has quit [Quit: travisbrady]
rgrinberg has quit [Quit: Leaving.]
<Algebr> Drup, MercurialAlchemi: Can you guys show the idiomatic ocaml way to do what I'm trying to do?
rgrinberg has joined #ocaml
NoNNaN has quit [Ping timeout: 250 seconds]
antkong has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 245 seconds]
MrScout_ has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
MrScout_ has joined #ocaml
dsheets_ has quit [Ping timeout: 244 seconds]
<Drup> Algebr: I'm actively trying to get some work done, sorry
<bernardofpc> is there a way to register an "on_quit" function to utop ?
<Drup> hint: you need to pass the set along
<companion_cube> maybe the at_exit function?
<Drup> in your loop function
<bernardofpc> oh thks cc
dsheets_ has joined #ocaml
hilquias has quit [Ping timeout: 265 seconds]
madroach has joined #ocaml
t4nk865 has joined #ocaml
<t4nk865> Hi I have a question about OPAM
<t4nk865> I just installed glMLite through Opam
<t4nk865> but opam folder is not recognized by OCaml by default
Simn has quit [Quit: Leaving]
t4nk865 has quit [Client Quit]
kube_ has joined #ocaml
<kube_> Hi I have a question about OPAM
<kube_> I just installed glMLite through Opam
<kube_> but opam folder is not recognized by OCaml by default
<Drup> I have a slight sens of deja vu :D
<kube_> I have to specify manually ocaml -I $HOME/.opam/4.02.1/lib/glMLite
<Drup> did you do the whole "eval .." dance ?
sagotch has quit [Quit: Page closed]
<kube_> :) Yeah sorry I connected through a Google result page
<kube_> with a bad nickname
<kube_> You mean eval $(opam config env) ?
travisbrady has joined #ocaml
<Drup> it's supposed to be ` .. ` but I guess it's the same
Sorella has quit [Quit: Connection closed for inactivity]
WraithM has quit [Ping timeout: 264 seconds]
Guest33134 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<kube_> Yes it does not solve the problem
<Drup> what is the current switch ?
ayepot has left #ocaml [#ocaml]
<kube_> To be honest I don't understand how -switch works
<kube_> Ok sorry I'm on the 4.02.1
<kube_> I'm pretty new to OCaml
<kube_> Ok, thanks for the help
enitiz has quit [Ping timeout: 252 seconds]
kube_ has quit [Ping timeout: 246 seconds]
Algebr has quit [Ping timeout: 264 seconds]
olauzon has quit [Quit: olauzon]
rgrinberg has quit [Quit: Leaving.]
Algebr has joined #ocaml
swgillespie has joined #ocaml
_twx_ has joined #ocaml
rgrinberg has joined #ocaml
travisbrady has quit [Quit: travisbrady]
Thooms has quit [Quit: WeeChat 1.0.1]
Nijikokun has joined #ocaml
ontologiae has joined #ocaml