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
rgrinberg has quit [Quit: Leaving.]
<CaptainRant> Thank you all. I'll hope ocaml wont suck as much as the other languages while learning it.
<CaptainRant> Have a good night
CaptainRant has left #ocaml ["WeeChat 0.4.3"]
rgrinberg has joined #ocaml
ontologiae_ has quit [Ping timeout: 272 seconds]
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
gustyhopeful has quit [Max SendQ exceeded]
msaegesser has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
rgrinberg has joined #ocaml
hhugo has quit [Quit: Leaving.]
englishm_away is now known as englishm
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
badkins has quit []
q66 has quit [Quit: Leaving]
claudiuc has quit [Remote host closed the connection]
claudiuc has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
msaegesser has quit [Ping timeout: 250 seconds]
englishm is now known as englishm_away
englishm_away is now known as englishm
samrat has joined #ocaml
malo has quit [Remote host closed the connection]
bytbox has quit [Remote host closed the connection]
shinnya has joined #ocaml
ivan\ has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
ivan\ has joined #ocaml
taion809 has joined #ocaml
ygrek has joined #ocaml
bytbox has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
philtom has quit [Ping timeout: 260 seconds]
yacks has joined #ocaml
taion809 has quit [Remote host closed the connection]
manizzle has quit [Ping timeout: 245 seconds]
seangrove has quit [Ping timeout: 258 seconds]
samrat has joined #ocaml
manizzle has joined #ocaml
claudiuc has quit [Remote host closed the connection]
samrat has quit [Ping timeout: 250 seconds]
samrat has joined #ocaml
araujo has quit [Quit: Leaving]
fold has joined #ocaml
<ygrek> _obad_, just create an .mltop file and build it with ocamlbuild
samrat has quit [Quit: Computer has gone to sleep.]
rgrinberg has joined #ocaml
siddharthv_away is now known as siddharthv
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
yacks has quit [Ping timeout: 260 seconds]
yacks has joined #ocaml
sepp2k has joined #ocaml
englishm is now known as englishm_away
rgrinberg has quit [Quit: Leaving.]
axiles has joined #ocaml
iorivur has joined #ocaml
rgrinberg has joined #ocaml
samrat has joined #ocaml
MercurialAlchemi has joined #ocaml
ygrek has quit [Ping timeout: 244 seconds]
zpe has joined #ocaml
keen_ has quit [Read error: Connection reset by peer]
keen_ has joined #ocaml
yacks has quit [Quit: Leaving]
jao has quit [Ping timeout: 245 seconds]
nicoo has quit [Ping timeout: 264 seconds]
oscar_toro has joined #ocaml
hhugo has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
oscar_toro has quit [Ping timeout: 260 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
nicoo has joined #ocaml
Simn has joined #ocaml
oscar_toro has joined #ocaml
ia0 has quit [Quit: leaving]
yacks has joined #ocaml
ia0 has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
ygrek has joined #ocaml
zpe has quit [Ping timeout: 246 seconds]
cago has joined #ocaml
huza has joined #ocaml
rand000 has joined #ocaml
huza has quit [Ping timeout: 260 seconds]
ollehar has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 244 seconds]
MercurialAlchemi has joined #ocaml
Hannibal_Smith has joined #ocaml
sagotch has joined #ocaml
thomasga has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
MercurialAlchemi has joined #ocaml
nicoo has quit [Remote host closed the connection]
cago has quit [Ping timeout: 272 seconds]
eizodo has joined #ocaml
nicoo has joined #ocaml
lordkryss has joined #ocaml
zpe has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
jwatzman|work has joined #ocaml
Kakadu has joined #ocaml
<Kakadu> o/
<Kakadu> let's say we have OCaml program with some Qt
<Kakadu> and with OCaml threads
<Kakadu> should it work the same as custom bytecode and as native executable?
<mrvn> 4 or 5?
<mrvn> and yes, it should.
ontologiae_ has joined #ocaml
<Kakadu> It seems it doesn't
* Kakadu doesn't get what is 4 and 5 about....
<mrvn> Kakadu: qt4 or qt5?
<Kakadu> I have example with qt5 but I think the same with qt4. Initially I was starting testing with qt4
<mrvn> are you writing your own bindings?
jonludlam has joined #ocaml
<Kakadu> yep, but not exactly for Qt
<Kakadu> I have gotten some issue with threads
<mrvn> For bindings you have to be carefull with function taking more than 5 arguments. They need 2 external functions, one for bytecode and one for native.
<Kakadu> I don't have fucntions like that
<mrvn> everything else I think should be identical.
thomasga has quit [Quit: Leaving.]
mort___ has joined #ocaml
CaptainRant has joined #ocaml
cago has joined #ocaml
<CaptainRant> What does OCaml more than typechecking, that contributes to safety ?
<adrien> safe string manipulations
samrat has quit [Quit: Computer has gone to sleep.]
samrat has joined #ocaml
<def`> typechecking is enough :P
octachron has joined #ocaml
shinnya has quit [Ping timeout: 272 seconds]
thomasga has joined #ocaml
Thooms has joined #ocaml
<ebzzry> hi. 'ocamlfind list' shows 'core', but merlin says 'Unbound module Core'. why?
<def`> did you load core package ?
CaptainRant has quit [Quit: WeeChat 0.4.3]
paolooo has joined #ocaml
<ebzzry> def`: in the ml file, as in 'use Core.Std'?
<def`> no, in merlin
octachron has quit [Ping timeout: 272 seconds]
<MercurialAlchemi> adrien: isn't 'string' unicode-unaware, though?
<ebzzry> def`: is it the one in the .merlin file?
<ebzzry> def`: or is it merlin-use?
<def`> whatever you want
<ebzzry> def`: 'merlin-use TAB' doesn't display 'core'
<ebzzry> def`: but i can compile it with: 'ocamlfind ocamlc -linkpkg -thread -package core test.ml -o test.byte'
<adrien> MercurialAlchemi: yes, it is unaware of unicode, that's why it works well
<MercurialAlchemi> adrien: because it's less complicated this way?
<def`> ebzzry: what is your installation of ocaml? is merlin installed from the same opam switch?
<ebzzry> def`: merlin is not installed via opam, because I can't: http://pastebin.com/dzyn4gQc
<MercurialAlchemi> def`: merlin can't be made to see packages from other switches?
<def`> MercurialAlchemi: It can, if the switch is from the same compiler version
dsheets has joined #ocaml
<def`> MercurialAlchemi: it just uses findlib, so whatever config you have from findlib will be used
Thooms has quit [Ping timeout: 246 seconds]
<MercurialAlchemi> def`: right
* MercurialAlchemi adds mentally another piece to the ocaml toolchain
* MercurialAlchemi hopes he provisioned enough space
<def`> :D
<def`> ebzzry: what's wrong with your system :D?
jc1 has joined #ocaml
<def`> what version did you compile merlin with?
jc1 has left #ocaml [#ocaml]
octachron has joined #ocaml
<MercurialAlchemi> def`: comme to think of it, merlin doesn't seem to see the re package in a switch with ocaml 4.02.0 (as downloaded by opam), when merlin is in the system switch (ocaml 4.02.0, but Debian-packaged)
<def`> MercurialAlchemi: man findlib
iorivur has quit [Ping timeout: 260 seconds]
Plazma has quit [Remote host closed the connection]
Plazma has joined #ocaml
<MercurialAlchemi> def`: well, that's the funny thing
samrat has quit [Quit: Computer has gone to sleep.]
<MercurialAlchemi> def`: ocamlfind finds re and re.str
samrat has joined #ocaml
paolooo has quit [Quit: Page closed]
<MercurialAlchemi> def`: at least, the ocamlfind in the current switch, which is the one in the path
<def`> yes, ocamlfind is from the currentlib
<def`> you have to override variables from findlib.conf(5)
<def`> to indicate which to use for merlin
waneck_ has quit [Ping timeout: 240 seconds]
<MercurialAlchemi> ah, I was naively looking in the user's guide
<MercurialAlchemi> I should have gone straight to the reference manual
<MercurialAlchemi> ok, so if I tweak OCAMLPATH it works
<MercurialAlchemi> beautiful
mort___ has quit [Ping timeout: 272 seconds]
thomasga has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 245 seconds]
_andre has joined #ocaml
shinnya has joined #ocaml
CaptainRant has joined #ocaml
dsheets has joined #ocaml
englishm_away is now known as englishm
fold has quit [Ping timeout: 272 seconds]
IbnFirnas has quit [Quit: Connection closed for inactivity]
shinnya has quit [Ping timeout: 250 seconds]
* whitequark exhales
<whitequark> I maybe hope we could get a properly findlib-ized ppx_deriving to work with 4.02.x
<whitequark> the chances seem fairly slim though
<whitequark> it more or less hinges on whether [@@@ocaml.ppx.state] can make it into 4.02.1
<whitequark> I would really not like ppx_deriving that only works in utop and 4.03 topevel...
noam_ has quit [Ping timeout: 260 seconds]
shinnya has joined #ocaml
hhugo has quit [Quit: Leaving.]
dsheets has quit [Ping timeout: 272 seconds]
oriba has joined #ocaml
zpe has joined #ocaml
<ygrek> whitequark, what's that ppx.state?
siddharthv is now known as siddharthv_away
<Kakadu> This line of configure output is very likely wrong, isn't it? http://paste.in.ua/9866/#133
<Kakadu> It seems I needed -aspp switch set correctly
englishm is now known as englishm_away
ygrek has quit [Ping timeout: 272 seconds]
shinnya has quit [Read error: Connection reset by peer]
Thooms has joined #ocaml
shinnya has joined #ocaml
tani has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
thomasga has joined #ocaml
<Drup> whitequark: what's the issue with findlib-ized ppx_deriving ?
samrat has joined #ocaml
samrat has quit [Client Quit]
<whitequark> Drup: toplevel, mainly
hhugo has joined #ocaml
<Drup> ah, right
<Drup> ok, that's not the worst
<Drup> it's bad, but it's not unusable in applications, so it's ok
<whitequark> uhhh, I don't think I can release it if it doesn't work in toplevel.
<Drup> what doesn't work exactly ? no #ppx, right ?
<whitequark> can't communicate #require'd package to some other #require'd package that provides a ppx = "./foo"
<Drup> I see
<whitequark> and, more importantly, can't save any state between ppx extension invocations
<whitequark> the former can be fixed with a findlib patch. the latter, not
<Drup> to be honest, It's okay to say "It doesn't work in the toplevel until this patch (which is already integrated in ocaml trunk) makes his way into a relase"
<Drup> I think.
<companion_cube> did camlp4 work with the vanilla toplevel ?
<Drup> did camlp4 work at some point ? :]
<whitequark> Drup: well, I would need a findlib patch even for batch compilation
<whitequark> companion_cube: I think that's because -pp loads the cma into the toplevel
<whitequark> and then findlib, which is also inside toplevel, can trivially communicate new extensions to it
dsheets has joined #ocaml
hhugo has quit [Quit: Leaving.]
lumikuuro has joined #ocaml
avsm has joined #ocaml
<ebzzry> orbitz: ping
NoNNaN has quit [Remote host closed the connection]
bytbox has quit [Remote host closed the connection]
BitPuffin has joined #ocaml
BitPuffin has quit [Client Quit]
BitPuffin has joined #ocaml
englishm_away is now known as englishm
sepp2k has quit [Quit: Konversation terminated!]
badkins has joined #ocaml
ggole has joined #ocaml
bytbox has joined #ocaml
oscar_toro has quit [Ping timeout: 250 seconds]
bytbox has quit [Remote host closed the connection]
samrat has joined #ocaml
darkf has quit [Quit: Leaving]
ontologiae_ has quit [Ping timeout: 260 seconds]
msaegesser has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
steshaw has quit [Ping timeout: 272 seconds]
mcclurmc has joined #ocaml
yomimono has joined #ocaml
puzza007__ has joined #ocaml
puzza007_ has quit [Ping timeout: 272 seconds]
puzza007__ is now known as puzza007_
steshaw has joined #ocaml
slash^ has joined #ocaml
ygrek has joined #ocaml
puzza007_ is now known as puzza007
oscar_toro has joined #ocaml
Thooms has quit [Ping timeout: 245 seconds]
hhugo has joined #ocaml
SethTIsue has joined #ocaml
<orbitz> ebzzry: pong
<dmbaturin> Does the Graphics module still exist? Which package is it in?
<ebzzry> orbitz: i was about to ask about http://pastebin.com/dzyn4gQc, but then i found the fix myself.
<orbitz> ebzzry: swell
<orbitz> ebzzry: what was it?
<ggole> dmbaturin: yes, "graphics"
<ggole> It's very deprecated though :)
<ebzzry> orbitz: /bin/sh was complaining that i couldn't find 'which'. when i assumed that i actually have it, what i have was the built-in from my shell. /bin/sh, of course, wants the system version, which is what i installed.
<dmbaturin> ggole: #load "graphics.cma" says it's not found for me.
<ggole> It does here, maybe you are missing some environment var or something
<dmbaturin> ~/.opam/4.01.0/lib/ocaml/ dir doesn't have it.
ollehar has quit [Ping timeout: 245 seconds]
WraithM has quit [Quit: leaving]
<ggole> It's there for me (4.02.0)
<ggole> I don't know why that would be different.
<hcarty_> Is it safe to "opam switch install ..." a new compiler while using the current default switch in another terminal?
hcarty_ is now known as hcarty
SethTIsue has quit [Quit: SethTIsue]
iorivur has joined #ocaml
<ggole> Yeah, I think so
<ggole> The env vars will keep the bits separate
rgrinberg has joined #ocaml
Thooms has joined #ocaml
eizodo has quit [Ping timeout: 246 seconds]
Hannibal_Smith has quit [Quit: Sto andando via]
cago has left #ocaml [#ocaml]
bytbox has joined #ocaml
<dmbaturin> How do I avoid having to use ";;" after open statements?
ollehar has joined #ocaml
Thooms has quit [Quit: WeeChat 0.4.3]
pminten has joined #ocaml
bytbox has quit [Remote host closed the connection]
<dmbaturin> Hhm, wait, it's not the problem.
oscar_toro has quit [Ping timeout: 260 seconds]
ygrek has quit [Ping timeout: 244 seconds]
bytbox has joined #ocaml
<CaptainRant> Does anyone use the object system ?
rand000 has quit [Ping timeout: 272 seconds]
<smondet> CaptainRant: yes, it happens
bytbox has quit [Remote host closed the connection]
<Drup> hcarty: sort of, but there is no need
<Drup> hcarty: see the mail "opam local switch" in the mailing list
<kaustuv> I use the object system (even inheritance) regularly, by choice, and I am glad OCaml gives me the option to use OO where it makes sense
<Drup> there are various solution, depending of what you want
shinnya has quit [Ping timeout: 245 seconds]
lordkryss has joined #ocaml
WraithM has joined #ocaml
<whitequark> CaptainRant: in general, objects are hardly needed in OCaml apart from few select use cases.
<Drup> but they are very useful for type trickery
<whitequark> I've seen them being used to handle UI concerns. ocamlopt uses them for its code generator. there are also a few cases where you need them for various type system tricks.
<whitequark> but I think it's not really a case for objects rather than row types...
<Drup> indeed
<Drup> for widget systems, they are nice
<kaustuv> Objects are almost always the right choice for AST walkers
<kaustuv> Which is where open recursion is needed
<Drup> kaustuv: that's the "open recursion" thing
<whitequark> Drup: hmm, I just realized OCaml has row sums but not row products
<whitequark> except for objects, of course
<Drup> whitequark: the main thing is that you can't access the row variable
<whitequark> or rather, I just realized what the theoretical basis for these constructs is
<Drup> =)
<whitequark> and a whole lot of things makes more sense now
<kaustuv> That being said, I think Objects have poor interaction with parallelism, since both Oo.copy and Oo.id need to be atomic
<Drup> object's performances are bad to begin with anyway :/
<kaustuv> Methods are slower than function calls, sure, but vtable lookups are cached and anyhow you sacrifice speed for flexibilty
<kaustuv> But I wouldn't recommend creating a large number of objects at runtime
bytbox has joined #ocaml
ollehar has quit [Quit: ollehar]
SethTIsue has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
CaptainRant has quit [Quit: WeeChat 0.4.3]
rand000 has joined #ocaml
morphles has joined #ocaml
octachron has quit [Quit: Leaving]
SethTIsue has quit [Client Quit]
SethTIsue has joined #ocaml
SethTIsue has quit [Client Quit]
SethTIsue has joined #ocaml
avsm has quit [Quit: Leaving.]
kaustuv has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
thomasga has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
<Drup> whitequark: is it me, or ocp-indent is completly broken with extension nodes ?
bytbox has quit [Remote host closed the connection]
samrat has quit [Quit: Computer has gone to sleep.]
<whitequark> Drup: never used ocp-indent
<Drup> ok
<dmbaturin> Is there a way to make Arg print help if no arguments given?
<whitequark> see Arg.usage
<dmbaturin> Thanks, let me see.
avsm has joined #ocaml
thomasga has joined #ocaml
jonludlam has quit [Quit: Coyote finally caught me]
SethTIsue_ has joined #ocaml
SethTIsue has quit [Ping timeout: 244 seconds]
SethTIsue_ is now known as SethTIsue
q66 has joined #ocaml
yomimono has quit [Ping timeout: 272 seconds]
SethTIsue has quit [Ping timeout: 244 seconds]
samrat has joined #ocaml
hhugo has quit [Quit: Leaving.]
<Drup> whitequark: If if get something like "((try%lwt[@bla] ... with .. ) [%finally ...])[@blo]"
<Drup> Do i concatenate the list of attributes ?
<Drup> (yeah I know, stupid corner cases ...)
<whitequark> what do you mean?
<whitequark> there are two ast nodes there, try and apply
<Drup> I know
<Drup> but I'm going to transform it
<Drup> and return one ast node
<Drup> (almost)
<Drup> hence : where do I put the attributes
<whitequark> oh.
<whitequark> oooh.
<Drup> :D
<whitequark> concatenate them, yes, and put them on outer node.
<Drup> that's my opinion too
oscar_toro has joined #ocaml
<Drup> (btw, I think we have the issue on some other construct)
<Drup> typically, [%lwt ...] will have the issue, I think we may loose the attributes currently
<whitequark> we do
sagotch has quit [Ping timeout: 272 seconds]
oscar_toro has quit [Ping timeout: 258 seconds]
sagotch has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
<Drup> ok, I'm gonna patch that after
<Drup> whitequark: should I detect (and transform) usages like " f x [%finally ...]" ?
<whitequark> [%lwt.finally], but yes
<Drup> for now, I detect both and treat them strictly the same.
<whitequark> although
<whitequark> this is consistent to what ppx_deriving and such do.
<whitequark> I think you can keep it as it is, in fact.
<whitequark> should be enough.
<whitequark> (given every other extension implements this scoping thing as well, it's enough to disambiguate)
<Drup> about the application, I'm not very fond of it
<Drup> it's a function applied to two arguments and finally happen to be the last one
<Drup> I would prefer to ask people to say "(f x)[%finally ...]"
pminten has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<Drup> (that's what I do currently)
sagotch has quit [Remote host closed the connection]
Kakadu has quit [Quit: Page closed]
rand000 has quit [Ping timeout: 258 seconds]
<dmbaturin> https://github.com/dmbaturin/cfgen Got the string generator to work, sort of. Grammar checking is not included yet, need to put it together.
<whitequark> Drup: uh.
<whitequark> isn't that still application?
<whitequark> I think you can't attach extension nodes like that, only attributes
<Drup> it's still application, that's not the point
rand000 has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
<Drup> whitequark: the point is that it's single application versus multiple application where the [%finally ..] is the last one
<whitequark> oh.
<Drup> for now, I only catch application where [%finally ...] is the only argument
samrat has quit [Ping timeout: 260 seconds]
Submarine has joined #ocaml
Submarine has quit [Changing host]
Submarine has joined #ocaml
CaptainRant has joined #ocaml
hhugo has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
dsheets has quit [Ping timeout: 244 seconds]
BitPuffin has quit [Ping timeout: 260 seconds]
<whitequark> Drup: how do you pronounce "INRIA"?
<Drup> ask google translate in french, it's the right one, iirc
<whitequark> oh, so almost the same as I would
manizzle has quit [Read error: Connection reset by peer]
libertas has quit [Ping timeout: 272 seconds]
libertas has joined #ocaml
BitPuffin has joined #ocaml
BitPuffin has quit [Ping timeout: 246 seconds]
<Drup> whitequark: review is welcome
<nicoo> whitequark: in ria
<nicoo> :>
<nicoo> Drup: Review of ?
<Drup> ppx lwt, last version
<whitequark> Drup: link?
englishm is now known as englishm_away
samrat has joined #ocaml
oscar_toro has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
<Drup> lol, ocamldoc is crashing on {| [%lwt.finally ...] |}
bytbox has joined #ocaml
hhugo has quit [Quit: Leaving.]
coolguy6699 has joined #ocaml
<whitequark> Drup: okay, I'll review it tomorrow
coolguy6699 has quit [Remote host closed the connection]
hhugo has joined #ocaml
malo has joined #ocaml
zpe has quit [Remote host closed the connection]
<Drup> k
englishm_away is now known as englishm
manizzle has joined #ocaml
oscar_toro has quit [Ping timeout: 246 seconds]
oscar_toro has joined #ocaml
oriba_ has joined #ocaml
oriba has quit [Ping timeout: 258 seconds]
hhugo has quit [Quit: Leaving.]
NoNNaN has joined #ocaml
oscar_toro has quit [Ping timeout: 258 seconds]
hhugo has joined #ocaml
englishm is now known as englishm_away
hugomg has joined #ocaml
lordkryss has quit [Quit: Connection closed for inactivity]
Anarchos has joined #ocaml
oriba_ has quit [Quit: oriba_]
SethTIsue has joined #ocaml
hhugo has quit [Ping timeout: 260 seconds]
Kailyn_Quitzon has joined #ocaml
Kailyn_Quitzon has quit [Remote host closed the connection]
macdice has joined #ocaml
bezirg has joined #ocaml
thomasga has quit [Quit: Leaving.]
SethTIsue has quit [Quit: SethTIsue]
zpe has joined #ocaml
zpe has quit [Ping timeout: 272 seconds]
morphles has quit [Ping timeout: 260 seconds]
WraithM has quit [Quit: Lost terminal]
zpe has joined #ocaml
bezirg has quit [Quit: Leaving.]
Anarchos has quit [Quit: Vision[0.9.7-H-20140108]: i've been blurred!]
SethTIsue has joined #ocaml
SethTIsue has quit [Client Quit]
jrw has joined #ocaml
SethTIsue has joined #ocaml
jrw has quit [Client Quit]
jrw has joined #ocaml
jrw has left #ocaml [#ocaml]
Hannibal_Smith has joined #ocaml
thomasga has joined #ocaml
SethTIsue has quit [Ping timeout: 244 seconds]
SethTIsue has joined #ocaml
englishm_away is now known as englishm
rgrinberg has quit [Quit: Leaving.]
<dmbaturin> Anyone remembers a project that uses oasis and menhir? I need an example of how to specify those dependencies.
rand000 has quit [Ping timeout: 250 seconds]
jonludlam has joined #ocaml
<CaptainRant> Why do we have ;; and let rec ?
rand000 has joined #ocaml
yomimono has joined #ocaml
rgrinberg has joined #ocaml
<bernardofpc> CaptainRant: ;; makes clear separation, and is needed in toplevel
_andre has quit [Quit: leaving]
<CaptainRant> Not always, as im reading now
<bernardofpc> as for let rec, it states explicitly a recursion, which saves people reading the code time
<dmbaturin> CaptainRant: In top level, you always need it.
SethTIsue_ has joined #ocaml
SethTIsue has quit [Ping timeout: 244 seconds]
SethTIsue_ is now known as SethTIsue
<CaptainRant> dmbaturin: The tutorial says, at the end of a file or before let/open/type/... it can be omittet
rgrinberg has quit [Client Quit]
<dmbaturin> CaptainRant: Hence "in top level". In source files it's never _needed_ (even though you may use it).
<CaptainRant> Ah, you mean the repl with toplevel ?
<dmbaturin> Yep.
<bernardofpc> CaptainRant: toplevel is the ocaml name for repl
<bernardofpc> utop is just one toplevel
<CaptainRant> All this language specific phrases :P This has confused me back then when using .NET
<bernardofpc> yep
<bernardofpc> tbh, "toplevel" is confusing, because it can mix with "toplevel expression", the stuff that is in no block of your .ml file
<CaptainRant> Like its called in scheme
<bernardofpc> maybe
<bernardofpc> anyway, ;; is cool for "bissection debugging"
<bernardofpc> (I, for one, like the verbosity of C's ';')
<CaptainRant> The ; and ;; rules are somehow strange. I hope it pays of later and earns conciseness
<bernardofpc> well, OCaml's ';' is a totally different beast (and is needed even in files)
<dmbaturin> CaptainRant: ";" is essentially a pseudo-operator that evaluated both arguments and returns the second.
<dmbaturin> * evaluates
<bernardofpc> (well, not technically, "a ; b" == "let _ = a in b"
<bernardofpc> dmbaturin: with ordering (that's the "ordering operator", if you like)
* CaptainRant reads the 4 rules of ;; and ;
<dmbaturin> Well, that was the simplest explanation I could think of, despite the correctnes problems. :)
<dmbaturin> Don't use ;; in source files. If you want to ignore the result of evaluating an expressions, you can use "let () = ...".
<dmbaturin> If it evaluated to unit. With "ignore ..." you can make unit of anything.
<CaptainRant> Im not jet at the unit section
nicoo has quit [Remote host closed the connection]
nicoo has joined #ocaml
<dmbaturin> # print_endline "evaluates to unit" ;;
<dmbaturin> evaluates to unit
<dmbaturin> - : unit = ()
zpe has quit [Remote host closed the connection]
WraithM has joined #ocaml
Submarine has quit [Quit: Leaving]
MercurialAlchemi has quit [Ping timeout: 272 seconds]
<Drup> CaptainRant: yeah, the correct rule about ";;" outside of the repl is "Don't use it"
<Drup> CaptainRant: about let rec, well, this is an ocaml idiom :
<Drup> let foo = create_some_raw_foo () in
<Drup> let foo = modify_the_foo_slightly foo in
<Drup> ...
<Drup> (I did that in haskell by habit, the explosion was violent)
rand000 has quit [Ping timeout: 260 seconds]
<CaptainRant> So let _ = is equal to let () =
<Drup> No, it's not
<Drup> "let _ = 3" is valid, "let () = 3" is not
<Drup> the second version ensure that the return type is unit
rand000 has joined #ocaml
<Drup> It's what you want in most cases, if you are doing stuff by side effects, it should return unit.
axiles has quit [Remote host closed the connection]
<dmbaturin> Drup: So there's no direct way to do it in oasis and you need to write _tags by hand? Also, where does the "# DO NOT EDIT (digest: d41d8cd98f00b204e9800998ecf8427e)" part come from?
<CaptainRant> And i use modules when i seperate files to compilation units ? Simmiliar like a .h + .c file in C produces a .o ?
<Drup> dmbaturin: It's oasis's part, oasis fills it by itself
<Drup> I could actually remove the "DO NOT EDIT", I think. I never bothered
<Drup> dmbaturin: and yes, you need the _tags
<Drup> CaptainRant: yes
<dmbaturin> CaptainRant: ocamlc -i file.ml will produce a .mli for it.
<Drup> well, there is two concepts, compilation units, aka files, that define a module, and module defined literally inside a file, you can use both.
<dmbaturin> Drup: Thanks, let me try.
G4143 has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
G4143 has quit [Client Quit]
SethTIsue has quit [Quit: SethTIsue]
rgrinberg has joined #ocaml
zpe has joined #ocaml
ggole has quit []
parcs has quit [Remote host closed the connection]
zpe has quit [Remote host closed the connection]
hhugo has joined #ocaml
gerard has joined #ocaml
gerard is now known as g4143
g4143 has quit [Client Quit]
ontologiae_ has joined #ocaml
parcs has joined #ocaml
fantazo has joined #ocaml
<fantazo> Hi, does anybody know how Wojciech Meyer also known as Daniel or on github danmey died? I knew him, but we lost contact and then I today found out that he died.
<adrien> I've never asked and it's probably not something to put out in public if it hasn't already been don
<adrien> e
tani has quit [Quit: Verlassend]
<adrien> you can try asking the author of the email which was sent to the caml-list about his death last year
g4143 has joined #ocaml
g4143 has quit [Client Quit]
<dmbaturin> Drup: For manual build, I use "use-menhir -menhir "menhir -v --external-tokens Lexer"". How do I specify the external tokens in ocamlbuild or oasis configs?
<Drup> no idea.
rgrinberg has quit [Quit: Leaving.]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
<fantazo> adrien, thx for the tip.
Hannibal_Smith has quit [Quit: Sto andando via]
avsm has quit [Quit: Leaving.]
fantazo has quit [Quit: Verlassend]
hhugo has quit [Quit: Leaving.]
rand000 has quit [Ping timeout: 246 seconds]
avsm has joined #ocaml
rand000 has joined #ocaml
<dmbaturin> Drup: Managed to do that with some flags in myocamlbuild.ml
CaptainRant has quit [Quit: WeeChat 0.4.3]
<Denommus> hm, does Array and List share a common sig?
<dmbaturin> Well, list and array functions sure can't have the same type. Or you mean something else?
gabemc has joined #ocaml
zpe has joined #ocaml
<Denommus> dmbaturin: I mean if they have a common sig that I can use in a functor
<mrvn> Like an AbstractContainer type?
<mrvn> YOu can declare one.
thomasga has quit [Ping timeout: 260 seconds]
zpe has quit [Ping timeout: 245 seconds]
<Denommus> hm, ok
avsm has quit [Quit: Leaving.]
Thooms has joined #ocaml
rand000 has quit [Quit: leaving]
rgrinberg has joined #ocaml
gabemc has quit [Ping timeout: 240 seconds]
msaegesser has quit [Ping timeout: 240 seconds]
gabemc has joined #ocaml
gabemc has quit [Client Quit]
yomimono has quit [Ping timeout: 246 seconds]
gabemc has joined #ocaml
gabemc has quit [Client Quit]
gabemc has joined #ocaml
<gabemc> Hello, I am having a very basic compilation problem that I can't seem to sort out. I have an opam repository here: https://github.com/gabemc/ocaml-ntp . I'm using the cstruct library, and I believe that the parser is encountering an error because the caml4p syntax extension for the cstruct library is correctly being set by ocamlbuild. I'm basically copying the _oasis configuration file from https://github.com/avsm/ocaml-dns/blob/master/
<gabemc> It says that the parse error is essentially at the start of this line: https://github.com/gabemc/ocaml-ntp/blob/master/lib/packets.ml#L13
mrvn has quit [Ping timeout: 245 seconds]
Unhammer has quit [Ping timeout: 272 seconds]
hugomg has quit [Ping timeout: 246 seconds]
Unhammer has joined #ocaml
darkf has joined #ocaml
Plazma has quit [Remote host closed the connection]
<Drup> gabemc: just so you know, oasis can generate a configure and a makefile, and they are better than yours :p
Plazma has joined #ocaml
<gabemc> I was unaware.
madroach has quit [Ping timeout: 250 seconds]
<Drup> put "Plugins: DevFiles (0.3)" in your _oasis file
<Drup> it will basically replicate the setup.exe commands
<Drup> cstruct doesn't build under 4.02.0, let met switch back and see your error
madroach has joined #ocaml
<Drup> gabemc: you forgot to puch the module "Operator"
<Drup> Operators* even
darkf has quit [Read error: Connection reset by peer]
englishm is now known as englishm_away
<gabemc> "puch"?
englishm_away is now known as englishm
darkf has joined #ocaml
<Drup> ahah
<Drup> push
<Drup> =)
<Drup> blame the fact that it's 2AM here
NoNNaN has quit [Remote host closed the connection]
<gabemc> I still don't understand. What do you mean by 'push the module "Operator"'?
<Drup> in the github repository
<Drup> you forgot it, when I try to compile your code, I get "Error: Unbound module Operators"
<gabemc> We must be using different compilers. I get different output. Deleting all of the open's except 'open Cstruct' still doesn't fix my issue.
<Drup> ok, just paste your exact error somewhere
Lelia_McKenzie47 has joined #ocaml
Thooms has quit [Quit: WeeChat 0.4.3]
<Drup> how did you even install cstruct under 4.02 ? ocplib-endian don't seem to compile for me
<Drup> anyway
<Drup> does it work in 4.01.0 ?
<gabemc> I'll try and check.
<gabemc> Gotta compile everything from scratch. Going to be a while.