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