lordkryss has quit [Quit: Connection closed for inactivity]
prsn has quit [Ping timeout: 255 seconds]
c74d has quit [Ping timeout: 272 seconds]
prsn has joined #ocaml
reem has quit [Remote host closed the connection]
c74d has joined #ocaml
ghostpl_ has joined #ocaml
ghostpl_ has quit [Ping timeout: 272 seconds]
ptc has joined #ocaml
ptc is now known as Guest54911
prsn has quit [Ping timeout: 240 seconds]
prsn has joined #ocaml
reem has joined #ocaml
yminsky has quit [Quit: yminsky]
yminsky has joined #ocaml
yminsky has quit [Client Quit]
reem has quit [Remote host closed the connection]
Guest54911 has quit [Ping timeout: 265 seconds]
<struktured>
I have an oasis project with files like src/Foos.ml and src/Bars.ml, I want to make folders instead like src/foos/Foo1.ml,Foo2.ml and sr/bars/Bar1.ml,Bar2.ml and have it such that in code Foos.Foo1 and Bars.Bar1 is how the modules are referenced. any one have a good example of this?
ygrek has joined #ocaml
prsn has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
jbalint has joined #ocaml
jbalint has joined #ocaml
<struktured>
perhaps an Object section for both Foos and Bars?
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
prsn has quit [Ping timeout: 244 seconds]
prsn has joined #ocaml
tel has joined #ocaml
<tel>
What's the recommended solution for benchmarking and profiling ocaml code?
<whitequark>
profiling: building with ocamloptp and then using perf
ghostpl_ has joined #ocaml
<tel>
I suppose I'm really after benchmarking, whoops, mental slip
<smondet>
struktured: I thin you want 2 "oasis" libraries, foos and bars, with src/foos and src/bars directories, and with something like `Pack: true` (→ to add the module name)
prsn has quit [Ping timeout: 244 seconds]
<struktured>
smondet: that should work, assuming my modules are independent enough. let me try thanks!
beginner has quit [Ping timeout: 256 seconds]
beginner has joined #ocaml
prsn has joined #ocaml
<Drup>
the other solution is module aliases
<Drup>
probably a better solution, in fact
<Drup>
create a Foos.ml with a bunch of modules in it.
<struktured>
Drup: hmm good point, but there is some value to the folder structure, can I use different folders in that approach?
<smondet>
Drup: but then you need to create the submodules foos_foo1.ml bars_bar1.ml or else they will polute your namesapce, right?
<Drup>
smondet: InternalModules.
<smondet>
ah that means not installing their .cmi I think
<smondet>
seems risky to me
<Drup>
hum, actually, no, not internal modules
<Drup>
and yes, you slighty polute the namespace
<struktured>
Drup: do you have a project setup like the aforementioned?
<Drup>
mmh
<Drup>
syndic, but only one like that, not two like what you want
<Drup>
but it's the same really
<struktured>
hm, gotta do something. my primary source folder is bloated. need to break it down in some capacity...
<struktured>
Ill look at syndic for a bit
prsn has quit [Ping timeout: 244 seconds]
prsn has joined #ocaml
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ggole has joined #ocaml
siddharthv_away is now known as siddharthv
siddharthv is now known as siddharthv_away
siddharthv_away is now known as siddharthv
testcocoon has quit [Ping timeout: 246 seconds]
ccomp has joined #ocaml
<struktured>
well, the oasis / lib thing is definitely more straight forward. whats the major strength of module alias approach?
<ccomp>
If I can compile to object code fine but get "Reference to undefined global `BatString'" when compiling that to native code, what am I doing wrong? I'm using "ocamlfind ocamlc -package batteries myfile.ml" in both cases.
<whitequark>
don't forget -linkpkg
<dmbaturin>
ccomp: What command do you use for the native code?
<ccomp>
dmbaturin: ocamlc
<whitequark>
ocamlc doesn't compile into native code
<dmbaturin>
ocamlc is the bytecode compiler. The native compiler is ocamlopt.
<ccomp>
as you asked that I remembered that :P thanks
<dmbaturin>
(ocamlopt.opt is the native executable of the native code compiler, while ocamlopt is the bytecode executable of the native compiler, to be specific :)
<whitequark>
ocamlfind hides that
<ccomp>
oh wait - I think I do need the second ocamlc, though. It combines three .cmo's, and it seems that ocamlopt only takes one
prsn has quit [Ping timeout: 264 seconds]
<dmbaturin>
Well, .cmo's are bytecode libraries.
prsn has joined #ocaml
nullcat_ has joined #ocaml
<ccomp>
dmbaturin: I guess I don't ultimately care whether it's bytecode or native code, I'm more concerned about why it's failing to locate the package
<ccomp>
it seems to be happening in both cases when I try to compile
<dmbaturin>
ccomp: What is the command you use now?
<ccomp>
dmbaturin: I think I just figured it out. I needed -linkpkg after -package batteries
<dmbaturin>
I've just tried an example with BatString with "ocamlfind ocamlopt -package batteries -linkpkg file.ml", worked fine.
prsn has quit [Ping timeout: 272 seconds]
prsn has joined #ocaml
<ccomp>
dmbaturin: I'm also on OpenBSD, which was the other potential compliation
<ccomp>
*complication
<ccomp>
It seems to be working now though
WraithM has joined #ocaml
WraithM has quit [Client Quit]
prsn has quit [Ping timeout: 265 seconds]
prsn has joined #ocaml
ccomp has quit [Quit: WeeChat 1.1]
ghostpl_ has joined #ocaml
testcocoon has joined #ocaml
ghostpl_ has quit [Ping timeout: 240 seconds]
prsn has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
tnguyen has quit [Read error: Connection reset by peer]
prsn has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
Bhavya has joined #ocaml
reem has joined #ocaml
reem has quit [Ping timeout: 245 seconds]
MrScout_ has joined #ocaml
MrScout_ has quit [Remote host closed the connection]
govg has quit [Quit: leaving]
prsn has quit [Ping timeout: 244 seconds]
prsn has joined #ocaml
tel has quit [Ping timeout: 240 seconds]
ygrek has quit [Ping timeout: 255 seconds]
prsn has quit [Ping timeout: 255 seconds]
prsn has joined #ocaml
antkong has joined #ocaml
michael_lee has joined #ocaml
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
MercurialAlchemi has joined #ocaml
nullcat_ has joined #ocaml
prsn has quit [Ping timeout: 250 seconds]
nullcat_ has quit [Client Quit]
prsn has joined #ocaml
marynate has joined #ocaml
psy_ has quit [Remote host closed the connection]
prsn has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
ghostpl_ has joined #ocaml
marynate has quit [Quit: Leaving]
ygrek has joined #ocaml
ghostpl_ has quit [Ping timeout: 245 seconds]
madroach has joined #ocaml
nullcat_ has joined #ocaml
freling has joined #ocaml
antkong has quit [Quit: antkong]
madroach has quit [Ping timeout: 264 seconds]
madroach has joined #ocaml
prsn has quit [Ping timeout: 244 seconds]
swgillespie has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
prsn has joined #ocaml
struktured has quit [Quit: Konversation terminated!]
prsn has quit [Ping timeout: 240 seconds]
fedjo has joined #ocaml
prsn has joined #ocaml
ryanartecona has quit [Quit: ryanartecona]
joeattueyi has joined #ocaml
<joeattueyi>
hi all, i'm working through real world ocaml and getting compiler errors for mutating array cells
<joeattueyi>
corebuild is giving me a bad left part error
Haudegen has quit [Ping timeout: 255 seconds]
<ggole>
left part?
<ggole>
As in left_part.(0) <- foo?
reem has joined #ocaml
<joeattueyi>
yeah
<joeattueyi>
let add t ~key ~data =
<joeattueyi>
let i = hash_bucket key in
<joeattueyi>
let replace = bucket_has_key t i key in
<ggole>
Also, could you please use a paste site for that many lines in future?
<joeattueyi>
thanks
<joeattueyi>
sorry about that
<ggole>
Yeah, no worries
joeattueyi has quit []
Haudegen has joined #ocaml
prsn has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
slash^ has joined #ocaml
tane has joined #ocaml
fedjo has quit [Ping timeout: 246 seconds]
reem has quit [Remote host closed the connection]
fedjo has joined #ocaml
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
prsn has quit [Ping timeout: 250 seconds]
kakadu has joined #ocaml
fedjo has quit [Client Quit]
fedjo has joined #ocaml
prsn has joined #ocaml
badon has quit [Quit: Leaving]
madroach has quit [Ping timeout: 264 seconds]
freling has quit [Quit: Leaving.]
madroach has joined #ocaml
larhat has joined #ocaml
<companion_cube>
nice code, indeed
matason has joined #ocaml
fedjo has quit [Ping timeout: 246 seconds]
matason has quit [Ping timeout: 264 seconds]
matason has joined #ocaml
nullcat has joined #ocaml
reem has joined #ocaml
Simn has joined #ocaml
johnelse is now known as johnel_away
prsn has quit [Ping timeout: 246 seconds]
Haudegen has quit [Ping timeout: 264 seconds]
johnel_away is now known as johnelse
prsn has joined #ocaml
Haudegen has joined #ocaml
reem has quit [Remote host closed the connection]
xificurC has joined #ocaml
ghostpl_ has joined #ocaml
reem has joined #ocaml
beginner has quit [Ping timeout: 265 seconds]
ghostpl_ has quit [Ping timeout: 252 seconds]
beginner has joined #ocaml
prsn has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
myst has quit [Quit: Leaving]
myyst has joined #ocaml
myyst is now known as myst
ollehar has quit [Remote host closed the connection]
AlexRussia has quit [Ping timeout: 246 seconds]
Simn has quit [Quit: Leaving]
ollehar has joined #ocaml
badon has joined #ocaml
ollehar has quit [Remote host closed the connection]
Simn has joined #ocaml
snikkers has quit [Ping timeout: 244 seconds]
beginner has quit [Ping timeout: 264 seconds]
beginner has joined #ocaml
beginner has joined #ocaml
ollehar has joined #ocaml
<xificurC>
a 2-part question: working through RWO I hit on e.g. unit_of_sexp, where can I find it's documentation and is there a way for emacs within tuareg mode to look it up and open in browser/emacs buffer?
<flux>
well, I suppose technically merlin might be able to do it, but I'm not sure how to configure it that way
<flux>
with it it would find the definition of a symbol with C-c C-l IIRC
<flux>
simple solution: just grep unit_of_sexp $(ocamlfind query sexplib)
<flux>
/*
<flux>
or grep -R
prsn has quit [Ping timeout: 246 seconds]
freling has joined #ocaml
prsn has joined #ocaml
madroach has quit [Ping timeout: 264 seconds]
madroach_ has joined #ocaml
<xificurC>
flux: isn't there some kind of generated documentation?
<companion_cube>
in the original code you probably have ".... with sexp" and that's it
<companion_cube>
(or maybe it's in the doc of sexplib, since it's a primitive)
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
<xificurC>
companion_cube: ok, and generally speaking, if I used something from the ocaml standard library or from an OPAM package, would there be some docs? (I guess on OPAM depends on the author, but is there a place where the docs are gathered or easily searchable?)
<companion_cube>
it depends a lot on the author
<companion_cube>
you've hit a sensitive area: people are working on improving documentation, but it's not ready yet
<companion_cube>
we're aware the state of documentation is currently lacking
<xificurC>
companion_cube: I see. I don't mind *that* much if it's scattered all over the place, but as a newcomer I need to look up some definitions every now and then
AlexRussia has joined #ocaml
<xificurC>
possibly with a bit of explanation as well
<companion_cube>
sure, well, you can look on 1/ the web /2 opam info <package> to see whether a link to doc is defined 3/ ask here (for explanations in particular)
<companion_cube>
it's using the experimental new tool for generating documentation
<flux>
there was this some new documentation generator
<xificurC>
companion_cube: see, that has like no css
<flux>
by Jane Street maybe?
<xificurC>
companion_cube: what would this new generator be?
<flux>
I wonder if there'd be some chances to get better documentation-referencing-features with that
<xificurC>
RWO keeps mentioning ocamldoc
<xificurC>
and uses (** comments *)
<companion_cube>
xificurC: it's "codoc"
<companion_cube>
(on github)
<companion_cube>
and yes, the css is being worked on afaik
Haudegen has quit [Ping timeout: 264 seconds]
<xificurC>
companion_cube: yeah, the first sentence in the doc says it.... stupid me
<companion_cube>
xificurC: the point of codoc is to improve cross module/cross packages references
<companion_cube>
among others
<flux>
maybe documentation generation time as well..
<companion_cube>
:)
<xificurC>
1 more question since I have you rolling and am curious - Core is UNIX-specific, right? What would you use for covering more ground? At least unix/windows, possibly mac as well
<companion_cube>
xificurC: also, I suggest using merlin (not related to doc directly, but awesome to get types, completion etc.)
<companion_cube>
Unix is a binding to unix primitives, I think windows provides some of them, but I'm really not sure
<xificurC>
companion_cube: yeah I set up tuareg, ocp-indent, merlin, company-mode and flycheck
<companion_cube>
oh dear :D
<adrien_znc>
s/some/most/
prsn has quit [Ping timeout: 256 seconds]
<companion_cube>
listen to adrien_znc, he's more knowledgeable on the topic
<xificurC>
companion_cube: don't understand your point, how does Unix help me with covering the other OS's
<companion_cube>
I mean it works on several OSes
<companion_cube>
I don't know how to deal with OS-specific primitives though
prsn has joined #ocaml
<xificurC>
ah, so just that I understand you correctly, you're saying Core indeed works on several OSes
kido1412 has joined #ocaml
<companion_cube>
it should, yes
<companion_cube>
Core_kernel (a subset of Core) even more so
<xificurC>
companion_cube: thanks. On a personal view - do you use it in projects?
nullcat has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dsheets has joined #ocaml
<companion_cube>
I don't use Core, no
<companion_cube>
but you should probably stick to it, at least while reading RWO
<xificurC>
ok, thanks. I'll torture you some more about what to use once I finish it
mort___ has joined #ocaml
badon has quit [Quit: Leaving]
AlexRussia has quit [Ping timeout: 246 seconds]
AlexRussia has joined #ocaml
Haudegen has joined #ocaml
ghostpl_ has joined #ocaml
prsn has quit [Ping timeout: 256 seconds]
Bhavya has quit [Read error: Connection reset by peer]
prsn has joined #ocaml
ghostpl_ has quit [Ping timeout: 264 seconds]
tane has quit [Quit: Verlassend]
srcerer_ has joined #ocaml
srcerer has quit [Ping timeout: 264 seconds]
AltGr has left #ocaml [#ocaml]
badon__ has joined #ocaml
badon__ is now known as badon
prsn has quit [Ping timeout: 252 seconds]
prsn has joined #ocaml
siddharthv is now known as siddharthv_away
Haudegen has quit [Ping timeout: 272 seconds]
prsn has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
kido1412 has quit [Quit: Page closed]
fedjo has joined #ocaml
xinau has joined #ocaml
zpe has joined #ocaml
keen_ has joined #ocaml
ghostpl_ has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
ghostpl_ has joined #ocaml
Haudegen has joined #ocaml
prsn has quit [Ping timeout: 246 seconds]
yminsky has joined #ocaml
prsn has joined #ocaml
<ousado>
Hi all - anyone here using the ocpwin distribution and managed to compile/install OPAM somehow?
<ousado>
there are several issues that seem to suggest it's partially working
moviuro has quit [Remote host closed the connection]
siddharthv_away is now known as siddharthv
prsn has quit [Ping timeout: 252 seconds]
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
prsn has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
sdothum has joined #ocaml
beginner has quit [Ping timeout: 244 seconds]
dsheets has joined #ocaml
beginner has joined #ocaml
beginner has joined #ocaml
moviuro has joined #ocaml
ygrek has quit [Ping timeout: 256 seconds]
beginner has quit [Max SendQ exceeded]
beginner has joined #ocaml
beginner has joined #ocaml
prsn has quit [Ping timeout: 246 seconds]
prsn has joined #ocaml
badon has quit [Disconnected by services]
badon_ has joined #ocaml
badon_ is now known as badon
badon has quit [Remote host closed the connection]
siddharthv is now known as siddharthv_away
ghostpl_ has joined #ocaml
freling has quit [Quit: Leaving.]
badon has joined #ocaml
axiles has quit [Ping timeout: 256 seconds]
mort___ has quit [Quit: Leaving.]
tane has joined #ocaml
prsn has quit [Ping timeout: 252 seconds]
prsn has joined #ocaml
axiles has joined #ocaml
thomasga has joined #ocaml
ccasin has joined #ocaml
ghostpl_ has quit [Read error: Connection reset by peer]
mort___ has joined #ocaml
braibant has joined #ocaml
mengu has joined #ocaml
beginner has quit [Ping timeout: 255 seconds]
larhat1 has joined #ocaml
beginner has joined #ocaml
larhat1 has quit [Remote host closed the connection]
larhat1 has joined #ocaml
braibant has quit [Client Quit]
braibant has joined #ocaml
braibant has quit [Client Quit]
ghostpl_ has joined #ocaml
larhat has quit [Ping timeout: 256 seconds]
TheLemonMan has joined #ocaml
prsn has quit [Ping timeout: 250 seconds]
thomasga has quit [Quit: Leaving.]
mengu has quit [Remote host closed the connection]
prsn has joined #ocaml
nullcat_ has joined #ocaml
AlexRussia has quit [Ping timeout: 245 seconds]
AlexRussia has joined #ocaml
badkins has joined #ocaml
beginner has quit [Ping timeout: 252 seconds]
beginner has joined #ocaml
beginner has joined #ocaml
prsn has quit [Ping timeout: 252 seconds]
prsn has joined #ocaml
beginner has quit [Max SendQ exceeded]
beginner has joined #ocaml
shinnya has joined #ocaml
freling has joined #ocaml
beginner has quit [Max SendQ exceeded]
beginner has joined #ocaml
beginner has quit [Changing host]
beginner has joined #ocaml
freling has left #ocaml [#ocaml]
antkong has joined #ocaml
mort___ has quit [Quit: Leaving.]
mengu has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
sdothum has joined #ocaml
prsn has quit [Ping timeout: 252 seconds]
antkong has quit [Ping timeout: 256 seconds]
prsn has joined #ocaml
`eeks has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
sdothum has joined #ocaml
nullcat_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
marynate has joined #ocaml
thomasga has joined #ocaml
zpe has quit [Remote host closed the connection]
prsn has quit [Ping timeout: 250 seconds]
zpe has joined #ocaml
zpe has quit [Remote host closed the connection]
prsn has joined #ocaml
jwatzman|work has joined #ocaml
zpe has joined #ocaml
<reynir>
interesting. opam has 3.11.2
prsn has quit [Ping timeout: 252 seconds]
thomasga1 has joined #ocaml
prsn has joined #ocaml
mort___ has joined #ocaml
thomasga has quit [Ping timeout: 256 seconds]
_andre has quit [Ping timeout: 245 seconds]
Denommus has quit [Ping timeout: 246 seconds]
ptc has joined #ocaml
ptc is now known as Guest56079
prsn has quit [Ping timeout: 240 seconds]
shinnya has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
reem has joined #ocaml
mengu has quit [Remote host closed the connection]
reem has quit [Ping timeout: 252 seconds]
darkf has quit [Quit: Leaving]
matason has quit [Ping timeout: 264 seconds]
thomasga1 has quit [Quit: Leaving.]
prsn has quit [Ping timeout: 256 seconds]
thomasga has joined #ocaml
prsn has joined #ocaml
ghostpl_ has quit [Read error: Connection reset by peer]
ghostpl_ has joined #ocaml
Guest56079 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
matason has joined #ocaml
pyon has quit [Quit: My morality has evaporated under the harsh UV light.]
pyon has joined #ocaml
mengu has joined #ocaml
_andre has joined #ocaml
JuggleTux has quit [Ping timeout: 252 seconds]
Denommus has joined #ocaml
JuggleTux has joined #ocaml
prsn has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
ryanartecona has joined #ocaml
AlexRussia has quit [Ping timeout: 244 seconds]
prsn has quit [Ping timeout: 246 seconds]
prsn has joined #ocaml
tel has joined #ocaml
marynate has quit [Quit: Leaving]
ptc has joined #ocaml
ptc is now known as Guest88753
<xificurC>
are classes and objects much used in ocaml?
<companion_cube>
not that much
<xificurC>
for RWO being 'Real World' it covers a buttload of theory
sepp2k has joined #ocaml
<flux>
probably the only semiwidely used library using them is ocamlnet
<flux>
perhaps some applications use them more, but perhaps not
<adrien_znc>
lablgtk?
<flux>
I think they fit fine certain applications, though
<adrien_znc>
ocamldoc
<flux>
right, forgot about that. and lablqt as well.
<flux>
the worst thing about objects is that they are sort of an advanced subject in ocaml
badkins has quit []
<flux>
another thing is that there are (first class) modules, that are almost like modules, but not quite. it'd be fun if they were somehow 'compatible' systems. but I don't think we'll ever see that.
<flux>
s/like modules/like objects/
<ggole>
xificurC: texts can't really skip large portions of the language...
paradoja has joined #ocaml
<xificurC>
ggole: I'm just not sure if classes and objects will be used in the upcoming chapters. If no they could have been postponed for now
ygrek has joined #ocaml
mengu has quit [Remote host closed the connection]
<ggole>
I'd just skim those parts
prsn has quit [Ping timeout: 240 seconds]
MrScout has joined #ocaml
<MercurialAlchemi>
flux: lambda-term uses objects
prsn has joined #ocaml
ebzzry has joined #ocaml
struktured has joined #ocaml
nlucaroni has joined #ocaml
<nlucaroni>
Why does let () = f 1 2 |> ignore and let () = ignore (f 1 2) produce different warnings when f is being partially applied?
tel has quit [Ping timeout: 256 seconds]
mort___ has quit [Quit: Leaving.]
ryanartecona has quit [Quit: ryanartecona]
Algebr has joined #ocaml
WraithM has joined #ocaml
prsn has quit [Ping timeout: 252 seconds]
uris77 has joined #ocaml
prsn has joined #ocaml
<xificurC>
ggole: yeah that's what I did
TheLemonMan has quit [Quit: leaving]
lordkryss has joined #ocaml
<flux>
nlucaroni, well, warnings are a bit heuristic to start with. it probably cannot see through the operator.
TheLemonMan has joined #ocaml
mengu has joined #ocaml
<ggole>
nlucaroni: looks like special knowledge of ignore. If you replace it with let ign _ = (), no warnings.
badkins has joined #ocaml
mort___ has joined #ocaml
<whitequark>
there's a %ignore primitive apparently
<flux>
there should be a |>/dev/null operator as well!
prsn has quit [Ping timeout: 264 seconds]
ryanartecona has joined #ocaml
prsn has joined #ocaml
AlexRussia has joined #ocaml
flixr has joined #ocaml
<flixr>
hi guys, basic question: what is the best way to support multiple versions of an ocaml module in the same code base?
<flixr>
e.g. with ocamlnet 4 Http_client was renamed to Nethttp_client and we need to support both versions
TheLemonMan has quit [Quit: leaving]
<flixr>
in C/C++ I would do conditional compilation via CPP, what could I use in OCaml instead so I don't get compiler errors on older ocamlnet versions since Nethttp_client is not found there?
<companion_cube>
I'm not sure it's a good idea :s
<companion_cube>
but if you really really want it, there are preprocessors for OCaml, too (e.g. "cppo")
mengu has quit [Remote host closed the connection]
zpe has quit [Remote host closed the connection]
<flixr>
but what other solution is there? I don't know if the person compiling our project has ocamlnet 3 or 4, so I need to support both... and its only the stupid rename that is a problem here
Guest88753 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<flixr>
I don't think that I can do this at runtime (like e.g. in Python with a try import...)
<companion_cube>
well, if it's the only change, indeed, cppo (or equivalent) module H = #if blabla Http_client #else Nethttp_client #endif
<companion_cube>
then you use H
<companion_cube>
but I think it's a bit fragile
<flixr>
yeah, don't like it either... but was the only solution I could think of...
<flixr>
will check out cppo, although that adds another dependency... :-(
prsn has quit [Ping timeout: 245 seconds]
prsn has joined #ocaml
<companion_cube>
how is the end user supposed to install your program? (i.e., why would she have an old ocamlnet?)
<flixr>
they compile it from source and most people have the ocamlnet version that is provided by their linux distri...
beginner has quit [Ping timeout: 256 seconds]
beginner has joined #ocaml
beginner has quit [Max SendQ exceeded]
beginner has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
prsn has quit [Ping timeout: 255 seconds]
prsn has joined #ocaml
psy has joined #ocaml
psy has quit [Max SendQ exceeded]
struktured has quit [Remote host closed the connection]
psy has joined #ocaml
struktured has joined #ocaml
<Denommus>
how do I usually represent abstract data types in OCaml, like Haskell's typeclasses or Java's interfaces?
<tane>
module signatures
<pippijn>
yeah
<pippijn>
but somehow I rarely end up needing abstract data types
<Denommus>
just out of curiosity, can the object system also be used for that?
<pippijn>
yes
<Denommus>
interesting
ptc has joined #ocaml
ptc is now known as Guest28324
<mrvn>
An abstract data type is simply "type t"
<tane>
usually adt have a set of operations defined upon them, so a module sig will do
<mrvn>
yeah, for an interface that's good, or objects
<tane>
in the sense of ADT applied to a java interface definition :)
<mrvn>
or going manual a record with closures
<pippijn>
I do that for visitors
<pippijn>
the closures thing
prsn has quit [Ping timeout: 256 seconds]
prsn has joined #ocaml
srcerer_ has quit [Quit: ChatZilla 0.9.91.1 [Firefox 36.0/20150222232811]]
agarwal1975 has joined #ocaml
zpe has joined #ocaml
Algebr has quit [Remote host closed the connection]
madroach_ has quit [Read error: Connection reset by peer]
zpe has quit [Remote host closed the connection]
madroach has joined #ocaml
michael_lee has quit [Quit: Ex-Chat]
kakadu has quit [Quit: Page closed]
prsn has quit [Ping timeout: 250 seconds]
prsn has joined #ocaml
uris77 has quit [Quit: leaving]
mort___ has quit [Quit: Leaving.]
ghostpl_ has quit [Remote host closed the connection]
ryanartecona has quit [Quit: ryanartecona]
prsn has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
thomasga has quit [Quit: Leaving.]
snikkers has joined #ocaml
zpe has joined #ocaml
mengu has joined #ocaml
ryanartecona has joined #ocaml
fraggle-boate_ has joined #ocaml
thomasga has joined #ocaml
fraggle-boate__ has joined #ocaml
Guest28324 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
psy has quit [Disconnected by services]
psy_ has joined #ocaml
fraggle-boate has quit [Ping timeout: 264 seconds]
fraggle-boate_ has quit [Ping timeout: 252 seconds]
ptc has joined #ocaml
ptc is now known as Guest58852
dsheets has quit [Ping timeout: 252 seconds]
prsn has quit [Ping timeout: 255 seconds]
prsn has joined #ocaml
bobfang has joined #ocaml
agarwal1975 has quit [Quit: agarwal1975]
freling has joined #ocaml
larhat1 has quit [Quit: Leaving.]
Nahra has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
kakadu has joined #ocaml
diethyl has quit [Remote host closed the connection]
diethyl has joined #ocaml
xinau has quit [Ping timeout: 255 seconds]
prsn has quit [Ping timeout: 264 seconds]
Ptival has quit [Ping timeout: 240 seconds]
Ptival has joined #ocaml
bobfang has quit []
prsn has joined #ocaml
ghostpl_ has joined #ocaml
ghostpl_ has quit [Remote host closed the connection]
sivoais has quit [Remote host closed the connection]
sivoais has joined #ocaml
freling has quit [Quit: Leaving.]
sivoais has quit [Ping timeout: 264 seconds]
sivoais has joined #ocaml
antkong has joined #ocaml
<xificurC>
why are type classes being worked on if the module system can support what that would? Or am I wrong
xinau has joined #ocaml
<ggole>
Using modules in that way is quite verbose and clumsy
paradoja has quit [Ping timeout: 244 seconds]
freling has joined #ocaml
<xificurC>
so it's just to reduce verbosity? Is there some meta-programming capability in ocaml? Wouldn't there be a way to create new syntax that unwraps into a module-based solution?
<xificurC>
just curious
prsn has quit [Ping timeout: 244 seconds]
<Drup>
that's almost what the proposal is doing
sivoais has quit [Ping timeout: 246 seconds]
Guest58852 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<Drup>
plus a good amount of inference to make things easy to use.
<ggole>
I think you need a fair amount of machinery, not just some syntax
<ggole>
Logic programming-like implicit search, that kinda thing
prsn has joined #ocaml
<xificurC>
I'm thinking in the meta-programming way as I did some lisp too. Like in Common Lisp the OO part is practically just macros
<Drup>
OO doesn't need inference and Lisp doesn't have a typesystem.
freling has quit [Ping timeout: 272 seconds]
<ggole>
And macros are different in Lisp because the whole system is already there
sivoais has joined #ocaml
<Denommus>
will typeclasses be just sugar for sigs?
<Drup>
+ a lot of inference.
<Denommus>
cool
<Drup>
really, a lot.
<Drup>
I mean, the rest is mostly first class modules/functors to move around your dictionnary.
antkong has quit [Ping timeout: 246 seconds]
sivoais has quit [Ping timeout: 264 seconds]
matason has quit [Ping timeout: 264 seconds]
sivoais has joined #ocaml
<xificurC>
Drup: yeah I know ocaml isn't lisp, that's basically why I was asking the questions, to see the difference more clearly. Thanks
7F1AAHQRS has joined #ocaml
<Drup>
everything is much simpler without a type system :D
<Drup>
(well, not everything)
dsheets has joined #ocaml
mengu has quit []
<Denommus>
Drup: from the POV of a compiler programmer, yes. From the point of view of the user, no XD
prsn has quit [Ping timeout: 240 seconds]
sivoais has quit [Ping timeout: 255 seconds]
ghostpl_ has joined #ocaml
prsn has joined #ocaml
<flux>
cd ..
<flux>
oops, carry on :)
<Denommus>
flux: be glad it wasn't your password
<flux>
maybe it was?
sivoais has joined #ocaml
TheLemonMan has joined #ocaml
ghostpl_ has quit [Ping timeout: 265 seconds]
tel has joined #ocaml
sivoais has quit [Ping timeout: 252 seconds]
reem has joined #ocaml
<mrvn>
my password is secret
sivoais has joined #ocaml
<Denommus>
mrvn: that's a terrible password
<flux>
a local university computer club had a note that the email of the person responsible for the candy&beverages was secret. of course, it worked. (given sent from a local network..)
prsn has quit [Ping timeout: 252 seconds]
ptc has joined #ocaml
ptc is now known as Guest92929
sivoais has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
uris77 has joined #ocaml
michael_lee has joined #ocaml
root_empire has joined #ocaml
<reynir>
hehe
sivoais has joined #ocaml
nlucaroni has quit [Quit: leaving]
slash^ has quit [Read error: Connection reset by peer]
nlucaroni has joined #ocaml
mengu has joined #ocaml
sivoais has quit [Ping timeout: 245 seconds]
AlexRussia has quit [Ping timeout: 252 seconds]
sivoais has joined #ocaml
johnelse is now known as johnel_away
johnel_away is now known as johnelse
sivoais has quit [Ping timeout: 256 seconds]
prsn has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
paradoja has joined #ocaml
sivoais has joined #ocaml
ggole has quit []
thomasga has quit [Ping timeout: 256 seconds]
ghostpl_ has joined #ocaml
sivoais has quit [Ping timeout: 240 seconds]
badkins has quit []
sivoais has joined #ocaml
claudiuc has joined #ocaml
nullcat has joined #ocaml
Nijikokun has joined #ocaml
thomasga has joined #ocaml
prsn has quit [Ping timeout: 264 seconds]
sivoais has quit [Ping timeout: 252 seconds]
prsn has joined #ocaml
matason has joined #ocaml
larhat has joined #ocaml
sivoais has joined #ocaml
reem has quit [Remote host closed the connection]
nullcat has quit [Read error: Connection reset by peer]
Nayshins has joined #ocaml
reem has joined #ocaml
badon has quit [Disconnected by services]
sivoais has quit [Ping timeout: 255 seconds]
sivoais has joined #ocaml
_andre has quit [Quit: leaving]
AlexRussia has joined #ocaml
prsn has quit [Ping timeout: 245 seconds]
sivoais has quit [Ping timeout: 252 seconds]
ryanartecona has quit [Quit: ryanartecona]
reem has quit [Remote host closed the connection]
prsn has joined #ocaml
sivoais has joined #ocaml
Guest92929 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tane has quit [Quit: Verlassend]
trptcolin has joined #ocaml
sivoais has quit [Read error: Connection reset by peer]
sivoais has joined #ocaml
sivoais has joined #ocaml
sivoais has quit [Changing host]
lordkryss has quit [Quit: Connection closed for inactivity]
paradoja has quit [Remote host closed the connection]
badon has joined #ocaml
ptc has joined #ocaml
zpe has quit [Remote host closed the connection]
7F1AAHQRS has quit [Quit: Leaving.]
ptc is now known as Guest68507
ccasin has quit [Remote host closed the connection]
paradoja has joined #ocaml
mengu has quit [Read error: Connection reset by peer]
tel has quit [Ping timeout: 272 seconds]
mengu has joined #ocaml
prsn has quit [Ping timeout: 256 seconds]
prsn has joined #ocaml
milosn has quit [Read error: Connection reset by peer]
WraithM has quit [Remote host closed the connection]
milosn has joined #ocaml
root_empire has quit [Quit: Ex-Chat]
michael_lee has quit [Quit: Ex-Chat]
larhat has quit [Quit: Leaving.]
prsn has quit [Ping timeout: 256 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
prsn has joined #ocaml
claudiuc_ has joined #ocaml
claudiuc has quit [Read error: Connection reset by peer]
`eeks has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
ericwa has joined #ocaml
freling has joined #ocaml
WraithM has joined #ocaml
WraithM has quit [Client Quit]
prsn has quit [Ping timeout: 272 seconds]
prsn has joined #ocaml
Anarchos has joined #ocaml
Guest68507 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
michael_lee has joined #ocaml
michael_lee has quit [Client Quit]
trptcolin has quit [Quit: trptcolin]
xificurC has quit [Ping timeout: 245 seconds]
mengu has quit []
thomasga has quit [Quit: Leaving.]
kakadu has quit [Remote host closed the connection]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
Anarchos has joined #ocaml
thomasga has joined #ocaml
prsn has quit [Ping timeout: 264 seconds]
prsn has joined #ocaml
jave has quit [Ping timeout: 265 seconds]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
antkong has joined #ocaml
uris77 has quit [Quit: leaving]
reem has joined #ocaml
prsn has quit [Ping timeout: 265 seconds]
prsn has joined #ocaml
bobfang has joined #ocaml
freling has quit [Quit: Leaving.]
jave has joined #ocaml
freling has joined #ocaml
flixr has left #ocaml ["Ex-Chat"]
axiles has quit [Ping timeout: 255 seconds]
antkong has quit [Quit: antkong]
ptc has joined #ocaml
prsn has quit [Ping timeout: 265 seconds]
ptc is now known as Guest35112
prsn has joined #ocaml
antkong has joined #ocaml
freling has quit [Quit: Leaving.]
TheLemonMan has quit [Quit: leaving]
axiles has joined #ocaml
srcerer has joined #ocaml
prsn has quit [Ping timeout: 256 seconds]
MrScout_ has joined #ocaml
MrScout has quit [Ping timeout: 256 seconds]
<Denommus>
hm
<Denommus>
if I want to have an union between two event streams in React, do I use lifting?
Nayshins has quit [Ping timeout: 246 seconds]
prsn has joined #ocaml
matason has quit [Ping timeout: 256 seconds]
<Drup>
E.select ?
Simn has quit [Quit: Leaving]
ollehar1 has joined #ocaml
<ollehar1>
long shot, but anyone tried out 1ml yet?
<ollehar1>
I'm trying it now
<ollehar1>
print --> print : int -> ()
<ollehar1>
print 3 --> syntax error
<Denommus>
Drup: ah, yes, that's right
lnr has joined #ocaml
<ollehar1>
hm, have to use "do"
<ollehar1>
do Int.print 3 --> 3
c74d has quit [Remote host closed the connection]
prsn has quit [Ping timeout: 252 seconds]
Guest35112 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
prsn has joined #ocaml
c74d has joined #ocaml
lnr has left #ocaml [#ocaml]
Algebr has joined #ocaml
<Algebr>
Does anyone have a working self contained example of using ocaml-smtp?
BlackMustard has joined #ocaml
prsn has quit [Ping timeout: 252 seconds]
prsn has joined #ocaml
ollehar1 has quit [Quit: ollehar1]
Submarine has quit [Remote host closed the connection]
MrScout_ has quit [Remote host closed the connection]