adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org and http://caml.inria.fr | http://ocaml.org/releases/4.02.0.html | Public channel logs at http://irclog.whitequark.org/ocaml
<Drup> (for ppx_deriving)
sheijk_ has joined #ocaml
eikke has quit [Ping timeout: 245 seconds]
sheijk has quit [Ping timeout: 245 seconds]
q66 has quit [Quit: Leaving]
<nicoo> Drup: If writing ppx_deriving counts as meta-programming, is whitequark a meta-programer and you message a meta meta mod^W program ? :>
<Drup> a better question
<Drup> At how much application does "meta-" become the identity over a programmer
<Drup> and does it happen before or after the said programmer looses his sanity ?
<Drup> (for the record, it's 3 over model)
<Drup> (I won't say anything about sanity, though)
<nicoo> Drup: I have no idea. Here, have an Etherkiller (I actually built one tonight)
* Drup plugs it stealthily into nicoo's laptop.
<nicoo> :D
<nicoo> If you damage my work laptop, adrien will be upset I won't be able to try win-builds
jwatzman|work has quit [Quit: jwatzman|work]
ian3 has quit [Ping timeout: 245 seconds]
boogie has quit [Quit: Leaving...]
manizzle has joined #ocaml
manizzle has quit [Ping timeout: 244 seconds]
malo has quit [Remote host closed the connection]
shinnya has joined #ocaml
<dmbaturin> nicoo: But etherkiller has side effects!
<nicoo> Sure. And OCaml doesn't have an effect system for users to be warned about my etherkiller
ontologiae has joined #ocaml
<dmbaturin> Actually, I wonder if anyone used an etherkiller in reality. I didn't do any calculation, but I think the current that flows through it can easily melt the wires of that diameter if you make it from an UTP cable.
<nicoo> dmbaturin: Yes.
<nicoo> And the board on the Ethernet side, in my experience, breaks before the cable does
<dmbaturin> Some boards I've seen use optocouplers. I wonder if it's because of etherkillers prevalence at manufacturer's office. :)
<wiml> Almost all ethernet is galvanically isolated anyway (tiny transformers).
<Drup> I still don't personally understand why people would find enjoyable destroying someone's (possibly expensive) laptop as a prank :|
<dmbaturin> Yeah, galvanical isolation is far more common.
<Drup> (but there are lot's of things I don't understand in humanity so ...)
<dmbaturin> Destroying your own or scrap equipment in unusual way can be fun.
<Drup> dmbaturin: an etherkiller doesn't really fit that description
<nicoo> Drup: The only time I ever used an Etherkiller was to destroy equipment that had scrap value anyways (10Mbit ethernet hubs) that someone wanted me to use for actual networking
<dmbaturin> Drup: Why? You can use it on your own equipment.
* nicoo needed “plausible” deniability
ian3 has joined #ocaml
mawuli has joined #ocaml
tnguyen has joined #ocaml
tac_ has quit [Ping timeout: 272 seconds]
stapler has joined #ocaml
<stapler> how do i into ocaml
<stapler> also is ocaml atleast more regular than haskell?
<stapler> i feel like haskell is shoehorning in like
<stapler> everything youd actually use a programming language for
<stapler> not just to toy around with
<bjorkintosh> java does it.
<bjorkintosh> c++ does it too.
<bjorkintosh> so why not? :D
<wiml> Even educated fleas do it.
<bjorkintosh> all the way down!
manud has joined #ocaml
manud has quit [Client Quit]
ontologiae has quit [Ping timeout: 260 seconds]
manud has joined #ocaml
<dmbaturin> stapler: This guy's books are pretty nice: http://ocaml-book.com/
tnguyen1 has joined #ocaml
tnguyen has quit [Ping timeout: 258 seconds]
SethTisue has joined #ocaml
<dmbaturin> There's also "Real World Ocaml" which is nice too, but has a lot of references to a third-party library called Core which are not easy to identify at first.
marynate has joined #ocaml
<stapler> is Core to OCaml as boost is to Cpp
<dmbaturin> Kind of, it also replaces/extends some parts of the standard library.
sheijk has joined #ocaml
badon_ has joined #ocaml
sheijk_ has quit [Ping timeout: 272 seconds]
badon has quit [Ping timeout: 272 seconds]
badon_ is now known as badon
tnguyen1 has quit [Ping timeout: 255 seconds]
tnguyen has joined #ocaml
kyun has joined #ocaml
sheijk_ has joined #ocaml
manud has quit [Quit: manud]
sheijk has quit [Ping timeout: 244 seconds]
wiml has quit [Quit: wiml]
ian3 has quit [Ping timeout: 246 seconds]
SethTisue has quit [Quit: SethTisue]
taion809 has joined #ocaml
tac_ has joined #ocaml
sheijk_ has quit [Quit: n8]
WraithM has quit [Ping timeout: 260 seconds]
stapler has quit [Quit: Leaving]
teknozulu has quit [Ping timeout: 260 seconds]
ygrek has joined #ocaml
manud has joined #ocaml
NoNNaN has joined #ocaml
ygrek has quit [Ping timeout: 255 seconds]
koderok has joined #ocaml
nicoo has quit [Ping timeout: 264 seconds]
araujo has quit [Quit: Leaving]
nicoo has joined #ocaml
axiles has joined #ocaml
demonimin has joined #ocaml
taion809 has quit [Remote host closed the connection]
manud has quit [Quit: manud]
teknozulu has joined #ocaml
koderok has quit [Quit: koderok]
samrat has joined #ocaml
slash^ has joined #ocaml
samrat has quit [Ping timeout: 260 seconds]
<whitequark> Drup: so, smart constructors?
samrat has joined #ocaml
kaustuv has joined #ocaml
tnguyen has quit [Quit: tnguyen]
ygrek has joined #ocaml
testcocoon has quit [Quit: Coyote finally caught me]
testcocoon has joined #ocaml
samrat has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
jao has quit [Read error: Connection reset by peer]
ygrek has quit [Ping timeout: 260 seconds]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
shinnya has quit [Ping timeout: 244 seconds]
shinnya has joined #ocaml
samrat has quit [Ping timeout: 246 seconds]
tnguyen has joined #ocaml
tnguyen has quit [Client Quit]
tnguyen has joined #ocaml
tane has joined #ocaml
tnguyen has quit [Client Quit]
tnguyen has joined #ocaml
samrat has joined #ocaml
tnguyen has quit [Client Quit]
tnguyen has joined #ocaml
tnguyen has quit [Client Quit]
manud has joined #ocaml
tnguyen has joined #ocaml
tnguyen has quit [Client Quit]
tnguyen has joined #ocaml
\q has quit [Ping timeout: 272 seconds]
hhugo has joined #ocaml
MercurialAlchemi has joined #ocaml
\q has joined #ocaml
samrat has quit [Ping timeout: 260 seconds]
\q has quit [Ping timeout: 246 seconds]
\q has joined #ocaml
ygrek has joined #ocaml
ggole has joined #ocaml
samrat has joined #ocaml
koderok has joined #ocaml
koderok has quit [Client Quit]
morphles has joined #ocaml
Arsenik has joined #ocaml
samrat has quit [Ping timeout: 255 seconds]
samrat has joined #ocaml
samrat has quit [Ping timeout: 255 seconds]
hhugo has quit [Quit: Leaving.]
kakadu has joined #ocaml
oscar_toro has joined #ocaml
samrat has joined #ocaml
samrat has quit [Ping timeout: 255 seconds]
samrat has joined #ocaml
ebzzry has quit [Ping timeout: 246 seconds]
jao has quit [Ping timeout: 255 seconds]
Simn has joined #ocaml
ebzzry has joined #ocaml
axiles has quit [Remote host closed the connection]
eugene_klm has joined #ocaml
samrat has quit [Ping timeout: 255 seconds]
fraggle_ has quit [Read error: Connection reset by peer]
morphles has quit [Ping timeout: 260 seconds]
samrat has joined #ocaml
simulacrum has quit [Remote host closed the connection]
simulacrum has joined #ocaml
teknozulu has quit [Ping timeout: 255 seconds]
marynate has quit [Ping timeout: 255 seconds]
samrat has quit [Ping timeout: 255 seconds]
tani has joined #ocaml
tane has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
q66[lap] has quit [Quit: Textual IRC Client: www.textualapp.com]
tani is now known as tane
nojb has joined #ocaml
ollehar has joined #ocaml
nojb has quit [Ping timeout: 250 seconds]
morphles has joined #ocaml
badon_ has joined #ocaml
Unhammer has quit [Ping timeout: 246 seconds]
badon has quit [Ping timeout: 260 seconds]
badon_ is now known as badon
larhat has joined #ocaml
simulacrum has quit [Remote host closed the connection]
ollehar has quit [Ping timeout: 258 seconds]
avsm has joined #ocaml
pyx has joined #ocaml
pyx has quit [Client Quit]
morphles has quit [Ping timeout: 255 seconds]
hhugo has joined #ocaml
ollehar has joined #ocaml
rand000 has joined #ocaml
ollehar has quit [Ping timeout: 255 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
Submarine has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 260 seconds]
marynate has joined #ocaml
kyun has quit [Read error: Connection reset by peer]
tnguyen has quit [Ping timeout: 245 seconds]
tnguyen has joined #ocaml
samrat has joined #ocaml
SethTisue has joined #ocaml
SethTisue has quit [Client Quit]
ontologiae has joined #ocaml
tnguyen has quit [Ping timeout: 244 seconds]
tnguyen1 has joined #ocaml
fraggle_ has joined #ocaml
zpe has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
ontologiae has quit [Ping timeout: 260 seconds]
ygrek has joined #ocaml
darkf has quit [Ping timeout: 246 seconds]
zpe has quit [Remote host closed the connection]
<Drup> whitequark: not very smart
<Drup> (or I wouldn't auto-generate them)
<adrien> too much backlog
<adrien> Denommus: intro to gtk, I bet you're not properly init'ing gtk
<Drup> whitequark: but indeed, we could add [@constraint ...].
<adrien> and I already explained that in front to Drup so he should have been able to tell you
<Drup> adrien: and I told him :D
<adrien> also blame Drup because he gave no feedback on the version I wanted to publish
<adrien> AND
<adrien> *NEVER* use auto-init in compiled programs
<adrien> I think I'll manage a patch very very very soon that hides it to non-toplevel
<adrien> dmbaturin: lablgtk works as well on OSX as the underlying GTK+ version
<Drup> adrien : fix the tutorial in ocaml.org at least.
<adrien> i.e. with GTK+2, it requires an X
Guest63353 is now known as Haudegen
<adrien> also, the oups talk I gave was written in english
mseve has joined #ocaml
<adrien> I need to make new screenshots of EFLs on Windows now that I have a proper font and not "Fixed"
lordkryss has joined #ocaml
<adrien> well, "Sans"
manud has quit [Quit: manud]
<Drup> code not colored, will not read.
<tane> :D
<adrien> Drup: sure it's coloured
<adrien> it's blue
<Drup> Peuh.
<tane> "code not colorful" then :)
hhugo has quit [Quit: Leaving.]
mseve has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
hhugo has joined #ocaml
dsheets has joined #ocaml
Thooms has joined #ocaml
hhugo has quit [Quit: Leaving.]
rand000 has quit [Ping timeout: 260 seconds]
ontologiae has joined #ocaml
nojb has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
kakadu has quit [Ping timeout: 258 seconds]
tnguyen has joined #ocaml
tnguyen1 has quit [Ping timeout: 240 seconds]
hhugo has joined #ocaml
tac_ has quit [Ping timeout: 272 seconds]
zpe has joined #ocaml
sheijk has joined #ocaml
hhugo has quit [Quit: Leaving.]
ollehar has joined #ocaml
zpe has quit [Ping timeout: 240 seconds]
ontologiae has quit [Ping timeout: 258 seconds]
eugene_klm has quit [Ping timeout: 272 seconds]
huza has joined #ocaml
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
taion809 has joined #ocaml
<bernardofpc> adrien: the first code example is not clear what to do : compile, run in toplevel, ...
<bernardofpc> (and if it is "compile", it will emit a warning about ignoring GMain.init ()
<bernardofpc> see the common mistake_s_ section
<adrien> thanks, fixed locally except for the thing about compiling which is going to require slightly more wrok
<adrien> work*
SuperNoeMan has left #ocaml ["Leaving..."]
ollehar has quit [Ping timeout: 245 seconds]
<bernardofpc> also, maybe you could link to a small text explaining optional arguments (for those people wanting to understand more than just run)
<bernardofpc> (idem for objects...)
<bernardofpc> (I have never read anything on objects and I used lablgtk for 4-5 smallish programs, so it's clearly not a must, but it's nice to know it exists)
<bernardofpc> (probably *with* the mention that one need not delve into contravariances and such to simple *use* LablGTK2 API)
<bernardofpc> Maybe a section "where to go from here"
<bernardofpc> Containers -> add a few widget_s_ to it
larhat has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 246 seconds]
<bernardofpc> Callbacks -> give it out callback function : don't understand what you mean... maybe give it (meaning "pass as argument") _our_ ... ?
<bernardofpc> I'm a big comma fan, to I'd write the last sentence of "Callbacks" with 2 commas : In our case, we don't need it, so we just ignore it.
<bernardofpc> Taking advantage ... -> this seems to be on the wrong level of sectionning
<bernardofpc> I guess that the ~packing argument is not so clear (even if the parallel of the code is pretty much explicit) because it *reverses* properties: for ~width, this changes the object we're creating, while for ~packing this changes the object whose method we pass to ~packing
darkf has joined #ocaml
samrat has joined #ocaml
huza has quit [Quit: WeeChat 0.3.8]
tnguyen1 has joined #ocaml
tnguyen has quit [Ping timeout: 246 seconds]
samrat has quit [Ping timeout: 244 seconds]
samrat has joined #ocaml
<adrien> bernardofpc: thanks, I'm going to rework that :)
seanmcl has joined #ocaml
larhat has joined #ocaml
kakadu has joined #ocaml
seanmcl has quit [Read error: No route to host]
zpe has joined #ocaml
darkf has quit [Quit: Leaving]
samrat has quit [Ping timeout: 255 seconds]
samrat has joined #ocaml
zpe has quit [Ping timeout: 245 seconds]
samrat has quit [Ping timeout: 245 seconds]
<gasche> adrien: is your new gtk tutorial ready for reddit OCaml?
<adrien> gasche: apparently not
<adrien> I hope it can be by monday
samrat has joined #ocaml
<Drup> gasche: karma leecher! at least let *him* post it.
<gasche> I try not to post my own work on reddit, and assume other people do the same
avsm has quit [Quit: Leaving.]
<adrien> depends
samrat has quit [Ping timeout: 245 seconds]
<adrien> it's not commercial, there are no ads
<adrien> no tracking, nothing
<adrien> so I don't see an issue with posting such stuff myself since it's quite clearly something meant for others and not for me
<adrien> meant to help others, and not I
rand000 has joined #ocaml
<adrien> but I think Drup will post it after he has proofread it on monday
<Drup> adrien : only if you fix the one in ocaml.org
<Drup> or better, integrate it into your own tutorial and merge the two.
<Drup> (and fix the links)
samrat has joined #ocaml
<adrien> it'd probably be a replacement
jonludlam has joined #ocaml
<whitequark> gasche: reddit doesn't care if you post your own work unless it's blatant promotion of something boring
<whitequark> however for example hackernews penalizes you heavily for that
<whitequark> (both algorithmically and as a community)
samrat has quit [Ping timeout: 246 seconds]
<reynir> I think it also depends a lot on the subreddit
<Drup> whitequark: how do they know (allegorically) that it's your own content ? correlation with the pseudo ?
Arsenik has quit [Remote host closed the connection]
<whitequark> Drup: they look if you post stuff from basically only one domain
<Drup> I see
<adrien> good thing I have half-a-dozen domains
<Drup> algorithmically* x)
<gasche> it's a personal rule in my case
<gasche> (that I don't always respect)
samrat has joined #ocaml
<Drup> I find it more convenient when the author is posting, since it gives him a tag in the conversation. Easier to spot and interact.
Arsenik has joined #ocaml
Arsenik has quit [Remote host closed the connection]
ygrek has quit [Ping timeout: 245 seconds]
tane has quit [Quit: Verlassend]
ontologiae has joined #ocaml
samrat has quit [Ping timeout: 260 seconds]
yomimono has joined #ocaml
ollehar has joined #ocaml
eugene_klm has joined #ocaml
samrat has joined #ocaml
samrat has quit [Ping timeout: 240 seconds]
<adrien> gah
<adrien> I'm completely stuck
<adrien> PREFIX value ml_elm_config_scale_set(value v_scale)
<adrien> { elm_config_scale_set(Double_val(v_scale)); return Val_unit;
<adrien> }
<adrien> and
<adrien> external scale_set : float -> unit = "elm_config_scale_set" "noalloc"
<adrien> yet, when I call the function I end up with that:
<adrien> Breakpoint 2, elm_config_scale_set (scale=5.4110892669614444e-312)
<adrien> and I'm calling "scale_set 1.2"
<adrien> (same without the noalloc btw)
<whitequark> I think intrinsics with floats are "special"
<whitequark> let me give you a reference
<whitequark> oh, you have to say "float" for that.
ollehar has quit [Ping timeout: 245 seconds]
<asmanur_> adrien: why do you not need a CAMLparam(v_scale) ?
<whitequark> asmanur_: it doesn't alloc
<asmanur_> oh ok
samrat has joined #ocaml
<adrien> oh crap
<adrien> { elm_
<adrien> err, not that one
<adrien> unit = "elm
<adrien> while
<adrien> value ml_elm_co
<adrien> missing "ml_" prefix to the bound function
ygrek has joined #ocaml
<adrien> I was trying to get it to use the "float" option and ended up wondering where I could remove the "ml_" prefix
<adrien> blah
<adrien> so bug in ocaml-efl
<adrien> which doesn't make me happy at all
<adrien> but I can easily work-around it with that "float"
<adrien> well, thanks for bearing with me
<adrien> pfewww
<adrien> the work-around in my source has worked
<adrien> external my_wrapper_elm_config_scale_set : float -> unit = "" "elm_config_scale_set" "float"
<adrien> it's fugly but it works and the alternative is simply too much work now
<adrien> with some luck I can announce win-builds 1.5-rc1 on tomorrow
tane has joined #ocaml
hhugo has joined #ocaml
samrat has quit [Ping timeout: 246 seconds]
samrat has joined #ocaml
ollehar has joined #ocaml
<whitequark> there are so many windows ports -_-'
<whitequark> I just want OPAM.
<adrien> ?
<adrien> win-builds has 0 ocaml packages currently
<adrien> it also isn't itself built on windows
<whitequark> not yypkg, not godi_install, not ocp-whatever-thing, not cygwin. why can't I just have opam on windows
<whitequark> adrien: wait, what does win-builds do then?
<Drup> whitequark: it's a clone of 0install.
<adrien> ...
<adrien> as much as of opam
<whitequark> OH
<whitequark> sorry.
<whitequark> okay, I do want win-builds then.
<adrien> it's a binary software distribution for windows
<adrien> it doesn't do anything like 0install
<adrien> it starts with *0* windows binary
<Drup> hey, almost like ocp-build then, they do distribute binaries ! :D
* Drup walks away discretely.
<whitequark> let me try win-builds on my xp machine ... or maybe 98? I don't have anything more recent lol
Drup was kicked from #ocaml by adrien [if you ask so nicely]
Drup has joined #ocaml
<Drup> :D
<adrien> 98 won't work; ocal doesn't work reliably on that
ollehar has quit [Ping timeout: 272 seconds]
<whitequark> (yes, I have a win98 machine. don't ask.)
<adrien> well, it can work
<Drup> autojoin too stronk :3
<adrien> but it's not perfect
<whitequark> adrien: there is some driver thingy that adds missing syscalls from xp
<flux> whitequark, for the good on man kind, burn it with fire?
<flux> (s/on/of/)
<adrien> whitequark: I don't think it'd work
<whitequark> adrien: pff, only one way to find out
<adrien> I think ocmal was working on NT4 or 2k
<adrien> ocaml*
* whitequark starts ie6 on win98
<flux> does it work with wine?-)
<adrien> as for XP
<adrien> I'm not trying to support it anymore
<flux> (actually maybe not a bad solution for cross compiling ocaml programs for windows..)
<adrien> if it works (and it did last time I checked), great
<adrien> but XP is too much crap nowadays
<adrien> its threading primitives are laughable
<adrien> flux: it does work in wine ;p
<whitequark> hmm, what did they add in nt6?
<adrien> keep in mind XP is an OS from the last century
<whitequark> I'm aware
<adrien> I don't remember exactly which function but when it comes to threads, you're half-naked on XP
<adrien> hold on
<whitequark> I know a significant amount of stuff about Windows internals but I have not refreshed my knowledge since after XP
samrat has quit [Ping timeout: 246 seconds]
<Drup> whitequark: to scared to keep learning ?
<whitequark> Drup: natch, I merely don't work with Windows anymore
<adrien> conditions
<whitequark> adrien: ahh
<adrien> #if _WIN32_WINNT >= 0x0600 InitializeConditionVariable(&cond->condition);
<adrien> #else
<adrien> <20 lines>
<adrien> #endif
<adrien> that's for creating a condition
<adrien> others are even longer in XP and still one line in vista
<adrien> rw locks
<flux> who would trust operating-system-provided conditions anyway
<flux> always whip your own!
<whitequark> well, it installs on XP
<adrien> and observe the users of the library doing everything they can to avoid using threads with your lib!
<whitequark> oh, you haven't shipped the graphical installer yet
<adrien> whitequark: 1.4 will install for sure, yeah
<adrien> but the graphical stuff it's only in a few days :P
<adrien> I need to make a bundler
<adrien> (libs + resources)
samrat has joined #ocaml
nojb has quit [Ping timeout: 260 seconds]
tnguyen1 has quit [Ping timeout: 244 seconds]
tnguyen has joined #ocaml
<whitequark> hm, HTTP inexplicably broke on my 98 machine
<adrien> yeah, network on 9x was...
<adrien> well, 9x' networking was bad
<whitequark> it worked the previous time I booted the machine.
<whitequark> wth.
<adrien> and ocaml doing networking on 9x was even worse
marynate has quit [Quit: Leaving]
<whitequark> wow, win-builds.org looks *terrible* in ie6
<whitequark> yypkg segfaults
<Drup> (not to blame adrien's webdesigner skills, but win-builds.org doesn't look great on any browser ;))
<Drup> (but I do want a picture on ie6 :D)
<adrien> :)
<adrien> Drup: browsershots
<adrien> actually it might be a good additional warning for "might work on XP but no testing was done"
<whitequark> Drup: https://imgur.com/O1VIBmd
samrat has quit [Ping timeout: 246 seconds]
<Drup> nice =')
<adrien> I never thought you could have fonts that simple yet that aliased
<whitequark> nope, crashes even with kernelex
<whitequark> where can I file a ticket
<adrien> actually there's another bit
<adrien> mingw-w64 doesn't handle < 2k
samrat has joined #ocaml
<adrien> (and in 3 to 4 years it won't handle XP anymore)
<whitequark> I don't *actually* complain about lack of 98 support, it's ridiculous
<adrien> yeah, only wanted to give the most likely explanation: the limitation is in mingw-w64 and not ocaml
shinnya has quit [Ping timeout: 260 seconds]
<whitequark> likely
samrat has quit [Ping timeout: 272 seconds]
yomimono has quit [Quit: Leaving]
<whitequark> Drup: btw, how should the deriver you want be named?
<whitequark> `mk`? `constr` ?
<whitequark> I'm leaning to `mk`
<Drup> No idea.
<whitequark> although `make` (and calling the function `make_foo`) looks better
<Drup> whitequark: I would personally call the function "foo" and that's all.
<Drup> (and I renamed it in the PR for syndic)
<whitequark> that makes sense.
<whitequark> I'll probably make one when I finish the findlib patch
<whitequark> I finally figured out how I want to make that. it would be a META field called ppxopt, equivalent to the -ppxopt command-line option
<whitequark> so in order to support both linking derivers into one executable, batch compiling them and using them in toplevel, you'd have something like...
samrat has joined #ocaml
<whitequark> requires(-ppx_driver) would normally include some other packages, like the runtime part of protobuf, or yojson
<whitequark> you'd be able to build your stuff using just `ocamlfind c -package ppx_deriving.show`, and you'd be able to build the compound deriver with `ocamlfind c -predicates ppx_driver -package ppx_deriving.show -linkall`
<Drup> hum, nice
samrat has quit [Ping timeout: 240 seconds]
samrat has joined #ocaml
rossberg has joined #ocaml
koderok has joined #ocaml
ontologiae has quit [Ping timeout: 272 seconds]
Thooms has quit [Quit: WeeChat 0.4.3]
rossberg has quit [Ping timeout: 272 seconds]
rossberg has joined #ocaml
samrat has quit [Ping timeout: 250 seconds]
samrat has joined #ocaml
jabesed has joined #ocaml
tac_ has joined #ocaml
nojb has joined #ocaml
nojb has quit [Ping timeout: 244 seconds]
rossberg has quit [Ping timeout: 260 seconds]
rossberg has joined #ocaml
jgjl has joined #ocaml
samrat has quit [Ping timeout: 250 seconds]
leowzukw has joined #ocaml
nojb has joined #ocaml
morphles has joined #ocaml
badkins has joined #ocaml
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ian3 has joined #ocaml
ian3_ has joined #ocaml
ian3__ has joined #ocaml
ian3 has quit [Ping timeout: 244 seconds]
ian3 has joined #ocaml
ian3_ has quit [Ping timeout: 272 seconds]
<sheijk> is there an important difference between linking standard libs like bigarray and str using 'ocamlfind ocamlopt -package str ...' vs 'ocamlfind ocamlopt str.cmxa ...'?
ian3_ has joined #ocaml
<sheijk> i'm doing the former and i'm not sure it's worth it to move to -package
ian3__ has quit [Ping timeout: 272 seconds]
tnguyen1 has joined #ocaml
<Drup> sheijk: it's more resilient
tnguyen has quit [Ping timeout: 246 seconds]
<Drup> imagine than tomorrow str moves out of the compiler and is now an independent pacakge, the first line will still work (given that you have the package installed)
ian3 has quit [Ping timeout: 246 seconds]
ian3_ is now known as ian3
<adrien> I believe proper support for cross-compilation won't exist without ocamlfind
<sheijk> ok, i see. also it makes it easier to build for both byte code and native i guess. but that problem i've already solved
<sheijk> adrien: it's not between ocamlfind and no ocamlfind but different ways to link std libs using ocamlfind
<Drup> also, if you take js_of_ocaml, ocamlfind knows that, if the package bigarray is called, it musts add some arguments
<Drup> sheijk: it's exactly between ocamlfind and no ocamlfind. The second line doesn't use ocamlfind at all.
<sheijk> huh? it's invoking ocamlfind ocamlopt ..
<Drup> sure, but ocamlfind is not involved in locating the str library
<sheijk> you mean ocamlfind won't be used to locate the lib?
<sheijk> ah, k
nojb has quit [Ping timeout: 255 seconds]
<whitequark> adrien: ocamlfind is not a problem, I think
<whitequark> there is already some android cross-compilation opam repo
zpe has joined #ocaml
ygrek has quit [Ping timeout: 250 seconds]
nop0x07bc has joined #ocaml
eugene_klm has quit [Ping timeout: 246 seconds]
<adrien> whitequark: I meant that ocamlfind will be needed to get something that actually works
<adrien> not that it's an issue
<whitequark> the problematic part is ppx rewriters >_<
<adrien> sheijk: hmpf, true, sorry, I misread
<adrien> whitequark: well, you need to find a solution before 4.03 :p
<whitequark> and I do need them in my cross-compiled code :/
<adrien> (for me)
<whitequark> nah, it won't involve ocamlc for sure
<adrien> so, going out and getting a crêpe
<whitequark> it's some sort of package manager and ocamlfind magic
oriba has joined #ocaml
nojb has joined #ocaml
hhugo has quit [Quit: Leaving.]
keen_____ has joined #ocaml
keen____ has quit [Ping timeout: 244 seconds]
ocp has joined #ocaml
loxs has joined #ocaml
loxs has quit [Client Quit]
loxs has joined #ocaml
<loxs> could someone please tell me what's wrong with my code https://friendpaste.com/7AjX8IxnwIQT11maMseaS1
<loxs> I'm not asking about the algorithm, it's just a silly program to try and learn ocaml. I'm interested to find out why it doesn't compile
<whitequark> you need parens around cur+1, + doesn't bind tightly enough
<whitequark> it's interpreted as (highest_prime cur)+(1 highest i)
<whitequark> which is rather awkward and I don't know why is it so
<loxs> oh wow
<loxs> thanks
<ggole> Parsing literals and identifiers differently wouldn't be too much fun.
<whitequark> ggole: how about making operators bind more tightly than applications?
<whitequark> well, that would break stuff like >>=. hm. I don't know.
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<Drup> whitequark: and break stuff like " f x + 3"
<Drup> the issue is that humans try to make sens of whitespaces, and ocaml doesn't
<Drup> so "a b + c d" is the same than "a b+c d"
<ggole> That would make calls pretty hard to read: f x + 3 + y * 6 z
jgw25 has joined #ocaml
<jgw25> whitequark; thanks for the help with ppx. Seems to work: https://github.com/johnwhitington/ppx_blob
<whitequark> seems nice
<Drup> jgw25: so many prolog in this repository :D
<whitequark> the comments are out of sync though
<whitequark> you also don't have to attribute me, ppx_getenv is in public domain / unlicensed
<jgw25> Fixed comments and removed attribution. Also getblob --> blob.
nojb has quit [Remote host closed the connection]
<jgw25> Do we know when ocamlfind will support ppx? I should add an install target to the makefile, I suppose.
Hannibal_Smith has joined #ocaml
<whitequark> it already does
<jgw25> I see. I will investigate.
<jgw25> Drup: ?
slash^ has quit [Read error: Connection reset by peer]
<whitequark> tl;dr call "ocamlfind install ppx_blob ppx_blob" then add ppx = "./ppx_blob" to your META
<Drup> jgw25: the github thingy indicates 95% prolog in your project.
koderok has quit [Quit: koderok]
Submarine has quit [Quit: Leaving]
<jgw25> Hmm. I wrote a meta file, but "ocamlfind install ppx_blob ppx_blob" says "the META file is missing"...
<flux> add META to the list
<flux> though your argument seems a bit off as well
<flux> you have a file name called ppx_blob? no extensoin?
<whitequark> it's an executable
<flux> hmm, ok
<jgw25> adding META gives the same error (I put it first)
<whitequark> you need to do something like "ocamlfind install ppx_blob META ppx_blob"
<whitequark> first ppx_blob is the package name
<jgw25> Bingo
ysz has joined #ocaml
<jgw25> Lovely -package ppx_blob works now.
ian3_ has joined #ocaml
<whitequark> now publish it in opam
<whitequark> write to caml-list, too
<whitequark> oh, btw, I don't think you need a dependency on ppx_tools
<whitequark> you don't use anything from there
<whitequark> rather use compiler-libs.common
<jgw25> Ah, cool. Will investigate...
leowzukw has quit [Quit: Lost terminal]
ian3 has quit [Ping timeout: 245 seconds]
ian3_ is now known as ian3
<flux> seems pretty useful as well
<flux> jgw25, did you build it for a need or thinking it might be useful?
<flux> ah, I read the example.
<flux> it explains.
<flux> the easy way to do a quine!
<jgw25> flux: my PDF processing program has about 600k of font data in which, compressed, would be about 150k
<jgw25> So reducing executable size
<jgw25> And, since I already depend on CamlZip, I can zip up the resource files and include them at compile time.
<flux> jgw25, ah, I didn't even think of the easiness of embedding binary data inside programs
<flux> that's nice
<jgw25> There is a thing called 'ocamlify' that does this now, by producing source files, but you have octal escapes everywhere.
<Drup> jgw25: there is also ocp-something
<flux> well, there is the downside that ocaml still needs to compile it
<flux> if you put them to separate files, they only need to be compiled 'once' every now and then
<Drup> jgw25: and mir-crunch (from mirage)
<jgw25> ocp-ocamlres it turns out
ian3_ has joined #ocaml
ian3 has quit [Ping timeout: 255 seconds]
ian3_ is now known as ian3
larhat has quit [Remote host closed the connection]
larhat has joined #ocaml
ocp has quit [Ping timeout: 260 seconds]
ocp has joined #ocaml
zpe has quit [Remote host closed the connection]
ian3_ has joined #ocaml
ian3 has quit [Ping timeout: 255 seconds]
ian3_ is now known as ian3
<sheijk> flux: you can always put them $$ppx_dump in a separate ocaml file
<whitequark> flux: compiling a single string, no matter how large, would take the same time
<whitequark> and it doesn't even have to parse it.
ian3_ has joined #ocaml
ian3 has quit [Read error: Connection reset by peer]
ian3_ is now known as ian3
ian3_ has joined #ocaml
teknozulu has joined #ocaml
jgjl has joined #ocaml
ian3__ has joined #ocaml
ian3 has quit [Ping timeout: 246 seconds]
ian3__ is now known as ian3
<jgw25> Feh. I need a mail client which doesn't mangle lines. Anyway, it is done. Time for alcohol.
<flux> whitequark, sure, my point is that if you generate > bin1.ml, you are likely to compile bin1.ml only once
ian3_ has quit [Ping timeout: 246 seconds]
<flux> whitequark, but if it's inline in your main.ml, you will compile it every time :)
<flux> of course, you can avoid it by using bin1.ml regardless
<flux> but then you could, well, just use the generator :)
* adrien is going to concatenate data at the end of his executable ='(
<whitequark> flux: my point is that it won't change the compilation time.
nojb has joined #ocaml
<whitequark> so it doesn't matter.
<whitequark> adrien: sounds troubling.
<whitequark> that would break bytecode.
<adrien> I need to carry around something like 20MB of data
<flux> I remember doing that once.. for a DOS program I think.
<adrien> unsurprisingly it's for DOS' descendant
<whitequark> you can do this with winrar to make a self-extracting archive
<adrien> winrar isn't free, I can't do it from linux, it won't start the executable that is inside and clean afterwards
jgjl has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<whitequark> it actually would and linux has `cat'
<whitequark> (as in, winrar extracts the archive appended to it)
<whitequark> but I wasn't suggesting this in fact
<whitequark> I think you do can do this with 7zip
<adrien> I don't have only an executable, I have several files and I'm going to have to preserve some "context"
<adrien> yes but 7zip's is definitely limited
jabesed has quit [Quit: Konversation terminated!]
<adrien> plus it asks where to extract the data
<whitequark> it's pretty configurable: http://www.7zsfx.info/en/
<adrien> that's not 7zip actually :)
<adrien> hmm
<adrien> I thought it wasn't free but it is
<whitequark> it's still under LGPL
<adrien> I need to be able to build it though
<adrien> MSVC project files so no
<adrien> and stdafx.h
<adrien> who in his right mind names a header the same as a common one on the system?
<whitequark> stdafx is not a common include file.
<whitequark> it's a file that's supposed to be in your project, msvc uses it to determine which headers to precompile.
<adrien> right, it's an msvc idiom
<adrien> I had associated it with bad news
<adrien> but it also has what I feared: MFC
q66[lap] has joined #ocaml
<adrien> so I can't build it with mingw-w64
ian3_ has joined #ocaml
jgjl has joined #ocaml
ian3 has quit [Ping timeout: 240 seconds]
ian3_ is now known as ian3
morphles has quit [Ping timeout: 250 seconds]
jgjl has quit [Ping timeout: 255 seconds]
jgw25 has quit [Ping timeout: 246 seconds]
nojb has quit [Ping timeout: 245 seconds]
ian3_ has joined #ocaml
teknozulu has quit [Ping timeout: 272 seconds]
<adrien> p7zip can probably be built but it's going to use the SFX component from 7zip and this one is way too limited
ian3 has quit [Ping timeout: 255 seconds]
ian3_ is now known as ian3
ian3_ has joined #ocaml
ian3__ has joined #ocaml
ian3 has quit [Ping timeout: 272 seconds]
ian3__ is now known as ian3
ian3_ has quit [Ping timeout: 260 seconds]
teknozulu has joined #ocaml
q66[lap] has quit [Quit: Textual IRC Client: www.textualapp.com]
ian3_ has joined #ocaml
q66[lap] has joined #ocaml
ggole has quit []
ian3 has quit [Ping timeout: 260 seconds]
ian3_ is now known as ian3
ian3_ has joined #ocaml
ian3 has quit [Ping timeout: 244 seconds]
ian3_ is now known as ian3
nojb has joined #ocaml
ysz has quit [Quit: This computer has gone to sleep]
oscar_toro has quit [Ping timeout: 260 seconds]
zpe has joined #ocaml
nojb has quit [Ping timeout: 260 seconds]
ian3_ has joined #ocaml
nojb has joined #ocaml
Hannibal_Smith has quit [Quit: Sto andando via]
ian3 has quit [Ping timeout: 245 seconds]
ian3_ is now known as ian3
zpe has quit [Ping timeout: 258 seconds]
loxs has quit [Quit: Leaving]
ian3_ has joined #ocaml
ian3 has quit [Ping timeout: 246 seconds]
ian3_ is now known as ian3
manud has joined #ocaml
teknozulu has quit [Ping timeout: 246 seconds]
manud has quit [Client Quit]
manud has joined #ocaml
segmond has quit [Ping timeout: 245 seconds]
ian3_ has joined #ocaml
teknozulu has joined #ocaml
ian3 has quit [Ping timeout: 272 seconds]
ian3_ is now known as ian3
kakadu has quit [Quit: Konversation terminated!]
testcocoon has quit [Quit: Coyote finally caught me]
manud has quit [Quit: manud]
tane has quit [Quit: Verlassend]
testcocoon has joined #ocaml
segmond has joined #ocaml
larhat has quit [Quit: Leaving.]
tirom13 has joined #ocaml
<tirom13> Hello everyone
<tirom13> How i can compile an execute with .cmo file in a subdirectory using ocamlc ?
MercurialAlchemi has quit [Ping timeout: 258 seconds]
<tirom13> I'have try something like : "ocamlc main.cmo -I lib/" bit it don't work
jao has quit [Ping timeout: 245 seconds]
<flux> ocamlc -I lib main.cmo
<tirom13> I'll try
<flux> well, you need to put in the rest of the .cmo files before main.cmo there as well
<flux> do note that ocaml linked requires them to be in the correct depedency order
<flux> so if module A depends on module B, b.cmo must be before a.cmo in the list
<flux> so lib/*-kind of approach will not work in general
<flux> there is ocamldep that can find the dependency order for you
<mrvn> generate dependencies and use the result
<flux> in practice the best option is to use a build system that solves this problem for you, such as ocamlbuild
* mrvn likes oasis
<flux> I think OMakefile can also make use of ocamldep, not sure about that though, it's been time since I've used it
<mrvn> flux: pretty sure it can
<tirom13> Ok
<tirom13> I see the problem
<flux> mrvn, btw, how's ocaml on bare arm working?
<mrvn> flux: still somehow crashing the GC. Haven't had time to dig into it in a while
<tirom13> But unfortunately, i can't use ocamlbuild in this project
<flux> too bad. I suppose you are able to use a debugger with it?
<mrvn> flux: I get an exception and can dump it. I could add gdb stubs for remote debugging
<flux> mrvn, I suppose you don't have an easy-to-replicate setup for cross-compiling? or do you compile on another rpi?
<mrvn> flux: I think before I fix bare bone ocaml I will patch the GC to allow critical sections, small code fragments where the GC isn't allowed to switch threads.
<mrvn> flux: I compile using qemu-user. Ocaml can't cross compile.
<flux> well, can't out of the box ;-)
<mrvn> Time for DrWho and dinner.
jave has quit [Ping timeout: 240 seconds]
<tirom13> How can i get the right order of module dependency ordre with ocamldep ?
<teknozulu> Hey, could someone explain why line 11 won't accept the = nodeA, and complains that a type of node option was expected? http://pastebin.com/5vUy9xxd
<teknozulu> i.e. why does nodeA not qualify as something of node option?
<nojb> next = Some nodeA
<nojb> nodeA is of type node
<nojb> but node.next is of type node option
<teknozulu> Hmm alright thanks, I need to read more about option
jave has joined #ocaml
<teknozulu> thought it'd make sense that anything that is not None could be inferred as Some
<whitequark> gasche: whom should I write to ensure that http://caml.inria.fr/mantis/view.php?id=6609 gets in 4.02.1?
<Drup> damien doliguez
<Drup> but I think mantis will be enough
ian3_ has joined #ocaml
<whitequark> ah, okay
<flux> teknozulu, well, it would be possible in that particular case, but you could have type 'a option2 = None | Some1 of 'a | Some2 of 'a and it would no longer work
ian3 has quit [Ping timeout: 258 seconds]
ian3_ is now known as ian3
tirom13 has quit [Quit: Page closed]
oriba has quit [Quit: oriba]
Simn has quit [Read error: Connection reset by peer]
<teknozulu> I can't seem to find any examples of using match as you would use a switch in some imperative language, specifically I'm looking to have two statements after one match (Is this non-sensical use of pattern matching (i.e. i should just go with ifs)?)
<Drup> "(match ....) ; foobar () ; foobis () ;"
<Drup> ?
<teknozulu> oh jebus.
ian3 is now known as aletheap
<nicoo> teknozulu: For big matches, begin/end might be prefered
yomimono has joined #ocaml
nojb has quit [Ping timeout: 245 seconds]
aletheap_ has joined #ocaml
aletheap has quit [Read error: Connection reset by peer]
aletheap_ is now known as aletheap
badkins has quit []
lordkryss has quit [Quit: Connection closed for inactivity]
sivoais has quit [Ping timeout: 245 seconds]
sivoais has joined #ocaml
rand000 has quit [Quit: Lost terminal]
aletheap_ has joined #ocaml
aletheap has quit [Ping timeout: 240 seconds]
aletheap_ is now known as aletheap
tac_ has quit [Ping timeout: 250 seconds]
bezirg has quit [Ping timeout: 272 seconds]
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
NoNNaN has quit [Remote host closed the connection]
NoNNaN has joined #ocaml
tnguyen1 has quit [Ping timeout: 250 seconds]
shinnya has joined #ocaml
yomimono has quit [Ping timeout: 255 seconds]