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
lifeng has joined #ocaml
jwatzman|work has joined #ocaml
tobiasBora has quit [Quit: Konversation terminated!]
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
englishm has joined #ocaml
samrat has joined #ocaml
samrat has quit [Ping timeout: 240 seconds]
jwatzman|work has quit [Quit: jwatzman|work]
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
BitPuffin has quit [Ping timeout: 276 seconds]
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
q66 has quit [Quit: Leaving]
dsheets has quit [Ping timeout: 245 seconds]
boogie has quit [Remote host closed the connection]
tautologico has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fold has joined #ocaml
philtom has quit [Ping timeout: 246 seconds]
rand000 has quit [Quit: leaving]
shinnya has quit [Ping timeout: 245 seconds]
tautologico has joined #ocaml
oriba has quit [Quit: oriba]
msaegesser has joined #ocaml
claudiuc has quit [Remote host closed the connection]
claudiuc has joined #ocaml
xiaolin has joined #ocaml
claudiuc has quit [Ping timeout: 268 seconds]
englishm_ has joined #ocaml
englishm has quit [Ping timeout: 246 seconds]
sheijk has quit [Ping timeout: 260 seconds]
yomimono has quit [Quit: Leaving]
englishm_ has quit [Remote host closed the connection]
englishm has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
sheijk has joined #ocaml
sheijk has quit [Ping timeout: 245 seconds]
samrat has joined #ocaml
johnf has joined #ocaml
tautologico has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
cesar_ has joined #ocaml
cesar_ is now known as Guest83516
boogie has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
fold has quit [Ping timeout: 246 seconds]
samrat has joined #ocaml
jao has quit [Ping timeout: 272 seconds]
siddharthv_away is now known as siddharthv
sheijk has joined #ocaml
tac_ has joined #ocaml
sheijk has quit [Ping timeout: 276 seconds]
<tac_> What is the preferred method of installing Ocaml nowadays?
<tac_> Is sudo apt-get install for Ubuntu all you need? Are there any supplements you need to get started?
<boogie> tac_: OPAM is the recommended way to install it now. http://ocaml.org/docs/install.html
<tac_> thanks
axiles has joined #ocaml
Guest83516 has quit [Remote host closed the connection]
oscar_toro has joined #ocaml
samrat has quit [Quit: Computer has gone to sleep.]
koderok has joined #ocaml
koderok has quit [Client Quit]
arquebus has joined #ocaml
boogie has quit [Remote host closed the connection]
arquebus has quit [Quit: Konversation terminated!]
MercurialAlchemi has joined #ocaml
WraithM has quit [Quit: leaving]
WraithM has joined #ocaml
samrat has joined #ocaml
sheijk has joined #ocaml
lifeng has quit [Quit: Ex-Chat]
sheijk has quit [Ping timeout: 260 seconds]
paolooo has joined #ocaml
paolooo has left #ocaml [#ocaml]
cesar_ has joined #ocaml
cesar_ is now known as Guest91356
<flux> I just kickstarted an opam-installation by first using the system compiler, then switching to opam one with opam switch
<flux> twas nice, no tar xzvf was hurt in the process ;)
hhugo has joined #ocaml
WraithM has quit [Ping timeout: 246 seconds]
Guest91356 has quit [Remote host closed the connection]
tac_ has quit [Ping timeout: 272 seconds]
oscar_toro has quit [Quit: oscar_toro]
englishm has quit [Remote host closed the connection]
sharady has joined #ocaml
englishm has joined #ocaml
BitPuffin has joined #ocaml
sheijk has joined #ocaml
sheijk has quit [Ping timeout: 246 seconds]
rgrinberg has joined #ocaml
avsm has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
rgrinberg has quit [Quit: Leaving.]
ygrek has joined #ocaml
AltGr has joined #ocaml
cago has joined #ocaml
oscar_toro has joined #ocaml
avsm has quit [Quit: Leaving.]
_0xAX has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
mal`` has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
<kaustuv> def`: in the modular-implicits branch, is there a way to get some feedback on which implicit arguments were inferred? It's enough if this were a toplevel-only feature, such as #show_implicits
<flux> surely it should work (in the future) with the type query mechanisms editors use :)
<kaustuv> that would be even better
<Drup> kaustuv: you can also pass the implicit argument explicitely
<kaustuv> Yes, but that rather defeats the purpose of "implicit"
<kaustuv> Also, in the toplevel it would be useful if there were a way to say "stop using this module as an implicit"
mal`` has joined #ocaml
sheijk has joined #ocaml
Simn has joined #ocaml
sheijk has quit [Ping timeout: 240 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest4295
<whitequark> there's no way to unopen a module either
<whitequark> (which should maybe added too)
Guest4295 has quit [Ping timeout: 260 seconds]
<kaustuv> After playing with it a bit more, I wonder if it wouldn't make more sense to separate the definition of a module with the declaration that it be used to infer implicit arguments
<adrien> whitequark: let open Module in :P
<whitequark> adrien: that has different semantics.
<Drup> kaustuv: it is separated
<adrien> yeah but similar usecases
<kaustuv> Drup: the only way I can see to separate them right now feels unnatural to me: http://pastebin.com/YTXVgSZ2
<kaustuv> Maybe I missed something
ebzzry has quit [Ping timeout: 245 seconds]
_0xAX has left #ocaml ["ERC Version 5.3 (IRC client for Emacs)"]
chambart has joined #ocaml
avsm has joined #ocaml
<kaustuv> I'm not sure how implicits interact with recursion. Any ideas? http://pastebin.com/yvrQDtL3
seliopou has quit [Ping timeout: 245 seconds]
seliopou has joined #ocaml
chambart has quit [Ping timeout: 260 seconds]
<def`> kaustuv: you need to provide full type annotations for polymorphic use of recursive functions
<kaustuv> Ah
<kaustuv> right, I forgot about that quirk. Thanks
<def`> (=> granted, error message could be better :P)
<def`> some heuristics can be added, but for the general case, no inference can be expected
ebzzry has joined #ocaml
<flux> heuristics is unpredictable :(
<def`> flux: depends.
<kaustuv> Here's an odd corner case for you: http://pastebin.com/9uYq6WKe
<def`> it might be possible to provide an easy characterization of the working cases
<whitequark> def`: I still really want (implicit M : Show + Eq) or something to that end
<def`> kaustuv: you shouldn't mix universal variable with implicits
<whitequark> your current syntax for that is incredibly verbose.
<def`> let rec grow_pairs2: (implicit Show : SHOW) -> Show.t -> 'b = …
<companion_cube> whitequark: looks like rust :>
<def`> whitequark: maybe. In any case you'll have to wait a few month (or write a proper proposal :P)
<whitequark> companion_cube: sure
<kaustuv> def`: Not sure I understand your comment, but this is not a high priority and I have to do other things now.
<def`> kaustuv: just use the grow_pairs signature I gave you
<kaustuv> I expected this to work -- it's the first thing I tried:
<kaustuv> let rec grow1 : (implicit Show : SHOW) -> Show.t -> 'a =
<kaustuv> fun (implicit Show : SHOW) x -> grow1 (x, x)
<kaustuv> the error message there led me to believe I needed an explicit quantifier
sharady has quit [Quit: Lost terminal]
<def`> it works here :'
<def`> … but I might not have the same source and just written what I wanted to, wait :)
<kaustuv> This is what I see from the version of the branch from OPAM this morning: http://pastebin.com/kg3pkbkg
<def`> this is a bug
<MercurialAlchemi> how do you specify multiple implicits?
sheijk has joined #ocaml
Kakadu has joined #ocaml
<def`> kaustuv: report here if possible, https://github.com/ocamllabs/ocaml-modular-implicits/issues
<kaustuv> will do
<def`> thx
<def`> MercurialAlchemi: just put multiple implicit arguments
<MercurialAlchemi> def`: right
<MercurialAlchemi> def`: but you can't say that two arguments should implement the same implicit without repeating the constraint, right?
<def`> not sure what you mean by should implement the same implicit?
sheijk has quit [Ping timeout: 246 seconds]
<MercurialAlchemi> well, something like S:Show => S -> S -> int
<def`> (implicit S : Show) -> S.t -> S.t -> int
<MercurialAlchemi> ah, nice
<MercurialAlchemi> is there some kind of doc on implicits?
tane has joined #ocaml
<def`> Not yet.
<MercurialAlchemi> ok
<MercurialAlchemi> well, it's fine since I have no free time to try them out
<kaustuv> def`: is there any easy way to find out the git commit from which the opam patch was derived?
<kaustuv> I'm guessing it just picks the HEAD, whatever it is
<companion_cube> def`: do you think there will be some sugar to make signatures shorter?
<def`> thx
<Drup> "The type variable 'a occurs inside 'a" <3
<whitequark> Drup: can't really argue
<Drup> indeed :p
rwmjones is now known as rwmjones_afk
<kaustuv> By the way, I should say (in case it isn't obvious) that I am very glad that you're doing this. I've wanted MixML-y things in OCaml for such a long time.
<kaustuv> And Merlin has basically changed my life.
<kaustuv> So, thanks a bunch!
ontologiae_ has joined #ocaml
<companion_cube> same thing here, basically
<def`> \o/
<whitequark> indeed
paolooo has joined #ocaml
oscar_toro has quit [Remote host closed the connection]
eizodo has joined #ocaml
zpe has joined #ocaml
chambart has joined #ocaml
rand000 has joined #ocaml
* avsm lifts def` onto his shoulders and runs around irc cheering
<Drup> =)
* companion_cube runs around irc too, but counterclockwise
* adrien_oww wonders why people from #ocaml are trying to reproduce the LHC on IRC
lpw25 has joined #ocaml
* companion_cube turns into a rare boson
chambart has quit [Read error: Connection reset by peer]
chambart has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest44410
tane has quit [Quit: Verlassend]
sheijk has joined #ocaml
Guest44410 has quit [Ping timeout: 264 seconds]
<kaustuv> What ever happened to the ephemerons proposal?
<Drup> it got merged in 4.02
<Drup> iirc
<adrien> yeah, I think I've seen something about it too
<adrien> but that sounds too good to be true
<adrien> :P
<adrien> I mean, what are maintainers good for if they don't bluntly reject proposals
<Drup> =')
<companion_cube> Drup: I don't think so
<kaustuv> ^F "ephe" on this page returns nothing: http://caml.inria.fr/mantis/changelog_page.php
sheijk has quit [Ping timeout: 245 seconds]
<companion_cube> it might be in the current trunk, but not in 4.02
<Drup> ah, maybe it's only the trunk, yes
sagotch has joined #ocaml
<Drup> then maybe I'm saying bullshit =')
<lpw25> It is not in trunk or 4.02
ggole has joined #ocaml
rand000 has quit [Quit: leaving]
rand000 has joined #ocaml
sheijk has joined #ocaml
ygrek has quit [Ping timeout: 252 seconds]
BitPuffin has quit [Read error: Connection reset by peer]
BitPuffin has joined #ocaml
sheijk has quit [Ping timeout: 246 seconds]
Sizur has quit [Read error: Connection reset by peer]
CaptainRant has joined #ocaml
_andre has joined #ocaml
AltGr has left #ocaml [#ocaml]
jonludlam has joined #ocaml
rwmjones_afk is now known as rwmjones
SHODAN has quit [Remote host closed the connection]
Kakadu has quit [Quit: Page closed]
eizodo has quit [Ping timeout: 246 seconds]
cesar_ has joined #ocaml
cesar_ is now known as Guest68691
AltGr has joined #ocaml
Guest68691 has quit [Ping timeout: 264 seconds]
rand000 has quit [Quit: leaving]
avsm has quit [Quit: Leaving.]
rand000 has joined #ocaml
fraggle_ has quit [Remote host closed the connection]
englishm has quit [Ping timeout: 276 seconds]
lpw25 has quit [Remote host closed the connection]
lpw25 has joined #ocaml
paolooo has quit [Ping timeout: 246 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
fold has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
tty57 has joined #ocaml
yacks has quit [Read error: Connection reset by peer]
sheijk has joined #ocaml
fraggle_ has joined #ocaml
fold has quit [Ping timeout: 276 seconds]
huza has joined #ocaml
siddharthv is now known as siddharthv_away
dsheets has joined #ocaml
fdsdff has joined #ocaml
msaegesser has quit [Ping timeout: 255 seconds]
msaegesser has joined #ocaml
mads- has left #ocaml [#ocaml]
tty57 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Submarine has quit [Quit: Leaving]
samrat has joined #ocaml
tty57 has joined #ocaml
fdsdff has quit [Remote host closed the connection]
lpw25 has quit [Remote host closed the connection]
darkf has quit [Quit: Leaving]
ontologiae_ has quit [Ping timeout: 240 seconds]
ontologiae_ has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest13494
jc1 has joined #ocaml
charpi has joined #ocaml
Guest13494 has quit [Ping timeout: 246 seconds]
samrat has quit [Quit: Computer has gone to sleep.]
toolslive has joined #ocaml
samrat has joined #ocaml
englishm has joined #ocaml
bytbox has quit [Remote host closed the connection]
<charpi> Hi
<charpi> Does anybody know cohttp ?
englishm has quit [Remote host closed the connection]
yacks has joined #ocaml
englishm has joined #ocaml
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
<johnelse> charpi: if you hang around long enough then the author (avsm) will probably show up :)
<charpi> cool
<charpi> just have a question regarding the build of cohttp
<Drup> but you can still ask your question :)
<charpi> Some context: I'm quite new to ocaml and I'm developing with a Mac.
<charpi> Is the build suppose to work on Mac ?
<Drup> it should
<Drup> do you use opam ?
NoNNaN has joined #ocaml
<charpi> yes
arj has joined #ocaml
<charpi> apparently there is a problem resolving conduit.lwt-unix
<johnelse> I've noticed some weirdness with optional dependencies if you install a load of libraries at once - it may be better to install lwt, then install conduit in a separate "opam install"
eizodo has joined #ocaml
<charpi> I will try, thanks. However I have a file called lwt_unix_conduit.cmx in my opam subdirectory
shinnya has joined #ocaml
englishm has quit [Quit: Leaving...]
rand000 has quit [Ping timeout: 268 seconds]
mort___ has joined #ocaml
tane has joined #ocaml
ontologiae_ has quit [Ping timeout: 276 seconds]
rand000 has joined #ocaml
arj has left #ocaml [#ocaml]
englishm has joined #ocaml
fraggle-boate has joined #ocaml
thomasga has joined #ocaml
huza has quit [Quit: WeeChat 0.3.8]
cago has quit [Quit: cago]
sagotch has quit [Remote host closed the connection]
lpw25 has joined #ocaml
jc1 has quit [Quit: Leaving.]
arj has joined #ocaml
msaegesser has quit [Ping timeout: 268 seconds]
chris______ has joined #ocaml
doctorm has joined #ocaml
<doctorm> I’m trying to install batsh, and am getting an error https://www.refheap.com/90153
<doctorm> Can’t find ocp-build binary anywhere
<doctorm> Not familiar with the build or packaging system, so a nudge in the right direction would be appreciated
ebzzry has quit []
ebzzry_ has joined #ocaml
arj has quit [Quit: Leaving.]
<chris______> is the package installed? Are you using opam?
<doctorm> Yes, it’s installed. Do I need to add something to my path?
<doctorm> [NOTE] Package ocp-build is already installed (current version is 1.99.8-beta).
<chris______> which ocp-build ? It should be on your path if you’ve configured opam
<doctorm> I ran the opam setup as instructed, let it modify my zshrc
<doctorm> Huh, it found it, I ran ocp-build init, and am still getting the same error
cesar_ has joined #ocaml
cesar_ is now known as Guest99458
<doctorm> It’s probably just some system configuration issue I’ll have to troubleshoot myself, thank you for your help chris
ollehar has joined #ocaml
<chris______> I am getting the same error when I install it
<doctorm> Oh! Weird
MercurialAlchemi has quit [Remote host closed the connection]
Guest99458 has quit [Ping timeout: 245 seconds]
<doctorm> Looks like a similar issue has already been reported - https://github.com/BYVoid/Batsh/issues/31
<doctorm> I’ll try compiling from source
<smondet> doctorm: which version of ocp-build got installed?
zpe has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
<doctorm> smondet: 1.99.8-beta
zpe has joined #ocaml
<smondet> ok try to pin it to `1.99.6-beta`
<doctorm> smondet: What’s the command for install a specific package?
<doctorm> I mean, a specific version
<smondet> opam 1.1 ?
<smondet> opam remove ocp-build
<smondet> opam pin ocp-build 1.99.6-beta
<smondet> opam install batsh
<doctorm> Thanks, missed the removing step
<smondet> (opam pin 1.2 is more clever about all of that)
zpe has quit [Ping timeout: 246 seconds]
<doctorm> Yeah, on 1.1.2 looks like
<doctorm> Now I’m getting an error compiling dlist. I think my mistake may have been installing the dependencies first, I will remove them all.
MercurialAlchemi has quit [Remote host closed the connection]
ygrek has joined #ocaml
MercurialAlchemi has joined #ocaml
<doctorm> Hrm, still says [ERROR] The compilation of dlist.0.1.0 failed.
<doctorm> From opam install batsh after doing an opam remove on every package I had installed
<doctorm> Should I upgrade opam?
<smondet> hmmm
bytbox has joined #ocaml
<smondet> dlist does not work for me either …
<doctorm> Welp, guess I’ll just have to write my own language that compiles to bash
<smondet> :)
<doctorm> Thanks for trying :) I’ll give it a another shot after they resolve some of the issues.
<smondet> all of that because of ocp-build
avsm has joined #ocaml
eizodo has quit [Ping timeout: 246 seconds]
zpe has joined #ocaml
pminten has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
bytbox has quit [Remote host closed the connection]
zpe has quit [Ping timeout: 268 seconds]
charpi has quit [Read error: Connection reset by peer]
charpi has joined #ocaml
ygrek_ has joined #ocaml
ygrek has quit [Remote host closed the connection]
fraggle-boate has quit [Ping timeout: 252 seconds]
<chris______> which build system should I be using to deal with multi file projects?
def` has quit [Ping timeout: 252 seconds]
def` has joined #ocaml
seliopou has quit [Ping timeout: 252 seconds]
philtom has joined #ocaml
seliopou has joined #ocaml
samebchase has quit [Ping timeout: 252 seconds]
samebchase has joined #ocaml
johnf has quit [Remote host closed the connection]
rand000 has quit [Quit: leaving]
fraggle-boate has joined #ocaml
pminten has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
boegel|work is now known as boegel|work|afk
charpi has quit [Ping timeout: 260 seconds]
ontologiae_ has joined #ocaml
<dmbaturin> If I define "let (|>) f g = g f" in say 3.12, will it be the same to |> operator in 4.x?
ontologiae_ has quit [Ping timeout: 260 seconds]
tty57 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
chambart has quit [Ping timeout: 260 seconds]
boogie has joined #ocaml
<chris______> I beileve that is how it is defined. Have you tried it in a interactive top level?
ygrek_ has quit [Ping timeout: 245 seconds]
<chris______> should give you a function with type ‘a -> (‘a -> ‘b) -> ‘b
avsm has quit [Ping timeout: 272 seconds]
<dmbaturin> chris______: Yeah, it has expected type signature and works fine, I'm just wondering if the built-in one doesn't have any implementation details not replicated by that definition.
<companion_cube> chris______: I suggest ocamlbuild
<chris______> Like something implemented in c? Yeah, I don’t know. AFAIK it should effectively be the same though
<chris______> thank you companion_cube
charpi has joined #ocaml
CaptainRant has quit [Quit: WeeChat 0.4.3]
morphles has joined #ocaml
ollehar has quit [Ping timeout: 272 seconds]
WraithM has joined #ocaml
hhugo has quit [Quit: Leaving.]
bytbox has joined #ocaml
rgrinberg has joined #ocaml
avsm has joined #ocaml
jwatzman|work has joined #ocaml
<whitequark> dmbaturin: the builtin one is defined like
<whitequark> external (|>) : whatever = "%revapply"
<Drup> which is pretty much equivalent for almost any purposes.
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
ollehar has joined #ocaml
msaegesser has joined #ocaml
q66 has joined #ocaml
q66[lap] has quit [Quit: Textual IRC Client: www.textualapp.com]
q66[lap] has joined #ocaml
jonludlam has quit [Quit: Coyote finally caught me]
cesar_ has joined #ocaml
koderok has joined #ocaml
cesar_ is now known as Guest1533
Guest1533 has quit [Ping timeout: 245 seconds]
koderok has quit [Quit: koderok]
mort___ has quit [Ping timeout: 240 seconds]
shinnya has quit [Ping timeout: 264 seconds]
chris______ has quit [Quit: chris______]
troutwine_away is now known as troutwine
thomasga has quit [Quit: Leaving.]
charpi has quit [Remote host closed the connection]
englishm has quit [Remote host closed the connection]
englishm has joined #ocaml
tty57 has joined #ocaml
boogie has quit [Remote host closed the connection]
AdmWiggin has joined #ocaml
Plazma_ has joined #ocaml
jerith_ has joined #ocaml
milosn_ has joined #ocaml
AltGr has left #ocaml [#ocaml]
troutwine is now known as troutwine_away
paolooo has joined #ocaml
zpe has joined #ocaml
topher_b has joined #ocaml
def` has quit [Write error: Broken pipe]
milosn has quit [Write error: Broken pipe]
tianon has quit [Remote host closed the connection]
jerith has quit [Remote host closed the connection]
Plazma has quit [Remote host closed the connection]
def` has joined #ocaml
tty57 has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rgrinberg has quit [Quit: Leaving.]
tac_ has joined #ocaml
tty57 has joined #ocaml
ontologiae_ has joined #ocaml
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Read error: Connection reset by peer]
zpe has joined #ocaml
boogie has joined #ocaml
topher_b has quit [Remote host closed the connection]
troutwine_away is now known as troutwine
paolooo has quit [Ping timeout: 246 seconds]
zpe has quit [Remote host closed the connection]
zpe has joined #ocaml
zpe has quit [Ping timeout: 268 seconds]
typedlambda has quit [Ping timeout: 250 seconds]
typedlambda has joined #ocaml
morphles has quit [Ping timeout: 252 seconds]
<tac_> What opam package do you need to get access to Core.Std?
sheijk has quit [Ping timeout: 246 seconds]
jerith_ is now known as jerith
<companion_cube> core
<tac_> that was my guess
<tac_> and I have that installed
<tac_> but the error persists :(
<companion_cube> you need to lin to it
<companion_cube> link*
<tac_> for the record, I'm using utop
<tac_> Do I have to link before entering the REPL? Or can I do it inside the REPL?
<companion_cube> #require "core";;
<Drup> tac_: #require "core" ;;
<Drup> !
* Drup stares at companion_cube
* companion_cube stares back
<tac_> ah that did it
<tac_> thank you
<tac_> how long does it usually take before you remember to end your commands in ;; ?
topher_b has joined #ocaml
<Drup> well, it's only usefull in the REPL anyway ...
<dmbaturin> tac_: Roughly O(1).
<adrien> does the toplevel evaluate what I want it to evaluate?
<adrien> no?
<adrien> add ;;
<tac_> So same rule as SQL
<dmbaturin> May not help if it evaluates, but now what you want to evaluate. :)
AdmWiggin is now known as tianon
rgrinberg has joined #ocaml
claudiuc has joined #ocaml
jao has joined #ocaml
jao has quit [Changing host]
jao has joined #ocaml
<tac_> also, not strictly Ocaml, but maybe you guys could offer your advice on this
<tac_> If you want to pick up a new language, are there any good websites of exercises to go through?
<tane> depends on what "a language" is
<tac_> instantiate however you prefer to
<tane> you mean language-specific exercises, right? :)
<tane> i'd guess there are enough books on languages, including exercises, if found online you could consider those "websites"
<tac_> ah, no. I mean more general things
<tane> something like online judges?
<tac_> If I want to be well-rounded, I should be able to try writing a dozen or so small programs I've written a dozen times before
<tac_> and nail the syntax and basic semantics of a new language
<tane> well, online judges host a lot of common problems and some support a huge amount of different languages
<topher_b> you could try following along with one of the learn the hard way books
tty57 has quit [Quit: Textual IRC Client: www.textualapp.com]
<Drup> tac_: euler project ? roseta ? 99 problems in X ?
<tac_> Yeah. Those sound like the kind of thing I might be interested in.
ollehar has quit [Quit: ollehar]
<Drup> for 99 problems, you can look at ocaml.org and eventually do pull request to give answers that are not yet done, that would be pedagogic *and* helpful :)
<tac_> neat
bytbox has quit [Ping timeout: 252 seconds]
ygrek_ has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest63000
rgrinberg has quit [Quit: Leaving.]
avsm has quit [Quit: Leaving.]
Guest63000 has quit [Ping timeout: 245 seconds]
sheijk has joined #ocaml
rgrinberg has joined #ocaml
zpe has joined #ocaml
lpw25 has quit [Remote host closed the connection]
sheijk has quit [Ping timeout: 272 seconds]
zpe has quit [Ping timeout: 245 seconds]
MercurialAlchemi has quit [Ping timeout: 245 seconds]
sheijk has joined #ocaml
MercurialAlchemi has joined #ocaml
bytbox has joined #ocaml
samrat has quit [Ping timeout: 246 seconds]
MercurialAlchemi has quit [Ping timeout: 252 seconds]
MercurialAlchemi has joined #ocaml
bytbox has quit [Remote host closed the connection]
Plazma_ is now known as Plazma
jwatzman|work has quit [Quit: jwatzman|work]
claudiuc_ has joined #ocaml
claudiuc has quit [Ping timeout: 272 seconds]
_andre has quit [Quit: leaving]
topher_b has quit [Quit: topher_b]
oriba has joined #ocaml
Submarine has joined #ocaml
Submarine has joined #ocaml
Submarine has quit [Changing host]
cesar_ has joined #ocaml
cesar_ is now known as Guest11610
philtom has quit [Ping timeout: 268 seconds]
omqal has joined #ocaml
claudiuc_ has quit [Remote host closed the connection]
rgrinberg has quit [Quit: Leaving.]
Guest11610 has quit [Ping timeout: 255 seconds]
<tac_> do people here typically use utop over the default ocaml interpreter?
<tac_> It seems obnoxiously noisy to me
<Drup> you can reduce the noise
<Drup> look at utop's home page
<def`> #utop_prompt_simple;;
zorun has joined #ocaml
<tac_> thanks
axiles has quit [Remote host closed the connection]
<tac_> is there a way to automatically start utop with certain directives?
<tac_> It would be nice to link to core and change the prompt to simple at the start of every run of utop
Arsenik has joined #ocaml
<Drup> tac_: add them to .ocamlinit
Arsenik has quit [Ping timeout: 260 seconds]
<tac_> thanks
<ggole> Note that non-utop toplevels will barf a bit if you add #utop_prompt_simple;;
<tac_> bahh
<ggole> You can probably work around that if you care enough
<tac_> in due time, I'm sure
<tac_> strings are mutable, right?
<ggole> Unless you use -safe-string, yes.
zorun has left #ocaml [#ocaml]
<tac_> are they unicode-y strings? Or are they more like byte arrays?
<Drup> the later
<ggole> They're actually used as byte arrays in places, sigh
<toolslive> there used to be no real viable alternative for IO.
<Drup> tac_: there are multiple libraries for utf8 strings
claudiuc has joined #ocaml
claudiuc has quit [Remote host closed the connection]
<tac_> toolslive: what do you mean by that?
claudiuc has joined #ocaml
<toolslive> well, the channels provided by the standard lib are only suitable for toy io problems.
<toolslive> as soon as you outgrow them, you tend to use file descriptors and read data into strings (or these days called Bytes.t)
<companion_cube> or even lwt :)
<tac_> lwt?
<toolslive> yes. but Lwt also reads stuff into strings ....
<companion_cube> tac_: opam info lwt
<companion_cube> toolslive: indeed
<tac_> is .t a naming convention when you have a module which primarily acts on a single type
<tac_> ?
<companion_cube> it's just not exactly the same channels
<companion_cube> tac_: yes
<toolslive> also strings are simple interfaces so they play well with the FFI.
<tac_> oo the info command is kind of nice
<tac_> btw, this is probably more of a linux-y question but what library do you typically use to get colors in the output of commands?
<toolslive> if you need more control over concurrency + IO then Lwt or Async are quite nice.
<toolslive> hm, you can do it with a simple print....
<tac_> also, does utop support tab-complete?
<tac_> I mean, it doesn't, because tab doesn't do anything... but it looks like it wants to support some kind of auto-completion because of the box at the bottom with suggestions :)
<toolslive> here's an example for the colors: https://realworldocaml.org/v1/en/html/variants.html
<Drup> tac_: alt arrows to browse suggestions, alt + arrow down to complete
toolslive has quit [Quit: Leaving]
<tac_> thanks Drup
<companion_cube> tab completion in utop is weird
<Drup> for the colors, there are two libraries, ANSITerminal which is small and just do simple things, and lambda-term, which is the fully featured library to do complex terminal UIs
<Drup> there is also a binding to curses, but curses is so shitty you don't want to use it
<tac_> it seems colors in terminal apps are the latest cool thing to do
<tac_> I love them to death in git
<tac_> and Idris, too, has a pretty nice coloring mechanism in its REPL
<Drup> latest cool thing ?
<Drup> I don't feel like it's new or something
<tac_> Maybe it's just that the applications I've personally come across recently put it to better-than-usual use
<tac_> is there a way to print out an expressions type in utop without evaluation?
<Drup> no
MercurialAlchemi has quit [Ping timeout: 255 seconds]
<tac_> sad
<tac_> oh well
jwatzman|work has joined #ocaml
<tac_> tuples don't require parens? hmm
charpi has joined #ocaml
charpi has quit [Remote host closed the connection]
<ggole> Wrap it in a function and look at the return type, maybe
Submarine has quit [Quit: Leaving]
<tac_> Is it required in Ocaml to order your top-level decls so that each is defined before it's referenced?
<tac_> And if not, is it possible to forward-declare top-level names?
sheijk has quit [Ping timeout: 276 seconds]
<companion_cube> you need to order them
<companion_cube> there is no declaring things ahead
<ggole> You can use 'and' if you need mutual recursion between things
<tac_> Haskell spoils me.
<tac_> :)
bytbox has joined #ocaml
fold has joined #ocaml
Kakadu has joined #ocaml
ggole has quit []
englishm has quit [Read error: Connection reset by peer]
englishm has joined #ocaml
ousado_ has joined #ocaml
srcerer has quit [Ping timeout: 268 seconds]
jzelinskie has quit [Ping timeout: 268 seconds]
Sim_n has joined #ocaml
keen________ has quit [Ping timeout: 240 seconds]
lopex has quit [Ping timeout: 268 seconds]
zapu has quit [Ping timeout: 268 seconds]
srcerer_ has joined #ocaml
jzelinskie has joined #ocaml
chris2 has quit [Ping timeout: 268 seconds]
zapu has joined #ocaml
Leonidas has quit [Ping timeout: 268 seconds]
Leonidas has joined #ocaml
ousado has quit [Remote host closed the connection]
Guest43929 has joined #ocaml
xaimus has quit [Ping timeout: 276 seconds]
chris2 has joined #ocaml
xaimus has joined #ocaml
thizanne has quit [Ping timeout: 268 seconds]
ousado_ is now known as ousado
ousado has quit [Changing host]
ousado has joined #ocaml
tane has quit [Excess Flood]
tane has joined #ocaml
Simn has quit [Ping timeout: 268 seconds]
ggherdov has quit [Ping timeout: 268 seconds]
adrien has quit [Ping timeout: 268 seconds]
adrien has joined #ocaml
kandu_ has joined #ocaml
charpi has joined #ocaml
thizanne has joined #ocaml
kandu has quit [Ping timeout: 276 seconds]
<tac_> are the fields in a record type ordered?
<tac_> I see an example in the RWO book where they do pattern-matching.. but they use the same names as the fields in the variables they bind to
nifty_ has quit [Ping timeout: 268 seconds]
<Drup> no, they are not
<companion_cube> tac_: {x; y} is short for {x=x; y=y; }
nifty_ has joined #ocaml
<tac_> ah
<tac_> so if I wanted to pattern match on two objects of the same record type, I would need that extended syntax
<companion_cube> yes
<tac_> in x=x there, which is the field name and which is the binding variable :)
<companion_cube> well you can still write match a,b with {x}, {y} -> ...
<companion_cube> but not if you get fields from both :)
charpi has quit [Ping timeout: 245 seconds]
<tac_> and unit is the type name, () is the canonical inhabitant?
<Drup> yes
tane has quit [Quit: Verlassend]
ggherdov has joined #ocaml
sheijk has joined #ocaml
<tac_> Where do you usually go for docs? I'm looking at List.iter and I'd like to know what it does. Where would I go to look that kind of thing up :)
Kakadu has quit [Quit: Konversation terminated!]
Guest43929 is now known as lopex
<tac_> thank you
<companion_cube> man List
<companion_cube> :>
<tac_> huh... I suppose that works too
Sim_n has quit [Quit: Leaving]
<tac_> ah, so List.iter is effectively forM_
charpi has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest71500
charpi has quit [Remote host closed the connection]
charpi has joined #ocaml
thomasga has joined #ocaml
testcocoon has quit [Ping timeout: 260 seconds]
j0sh_ has joined #ocaml
jerith_ has joined #ocaml
sivoais_ has joined #ocaml
Guest71500 has quit [Ping timeout: 276 seconds]
Khady has joined #ocaml
Khady has joined #ocaml
tautologico has joined #ocaml
Valda has joined #ocaml
strmpnk has quit [Ping timeout: 240 seconds]
pollux__ has joined #ocaml
emmanueloga_ has joined #ocaml
misv has joined #ocaml
pollux has quit [Ping timeout: 260 seconds]
pollux__ is now known as pollux
ggherdov has quit [*.net *.split]
boogie has quit [*.net *.split]
msaegesser has quit [*.net *.split]
fraggle_ has quit [*.net *.split]
Valdo has quit [*.net *.split]
emmanueloga has quit [*.net *.split]
_tca has quit [*.net *.split]
sivoais has quit [*.net *.split]
toroidalcode_ has quit [*.net *.split]
tov_ has quit [*.net *.split]
SethTisue_______ has quit [*.net *.split]
wormphle1m has quit [*.net *.split]
__marius_____ has quit [*.net *.split]
msch has quit [*.net *.split]
rfv has quit [*.net *.split]
strmpnk has joined #ocaml
Valda is now known as Valdo
SethTisue_______ has joined #ocaml
testcocoon has joined #ocaml
sivoais_ is now known as sivoais
bcuccioli has joined #ocaml
sivoais has quit [Changing host]
sivoais has joined #ocaml
rfv has joined #ocaml
msaegesser has joined #ocaml
emmanueloga_ is now known as emmanueloga
toroidalcode has joined #ocaml
__marius_____ has joined #ocaml
hcarty_ has joined #ocaml
fold has quit [Ping timeout: 246 seconds]
inr has quit [*.net *.split]
averell has quit [*.net *.split]
majoh has quit [*.net *.split]
mcclurmc_ has joined #ocaml
msch has joined #ocaml
charpi` has joined #ocaml
jao has quit [Ping timeout: 255 seconds]
jpdeplaix has quit [Ping timeout: 255 seconds]
hcarty_ has quit [Ping timeout: 255 seconds]
Khady has quit [Ping timeout: 255 seconds]
jerith_ has quit [Ping timeout: 255 seconds]
thizanne has quit [Ping timeout: 255 seconds]
ontologiae_ has quit [Ping timeout: 255 seconds]
bjorkintosh has quit [Ping timeout: 255 seconds]
spacebat has quit [Ping timeout: 255 seconds]
mcclurmc has quit [Ping timeout: 255 seconds]
Ptishell has quit [Ping timeout: 255 seconds]
jpdeplaix has joined #ocaml
ontologiae_ has joined #ocaml
toroidalcode has quit [Ping timeout: 255 seconds]
charpi has quit [Ping timeout: 255 seconds]
WraithM has quit [Ping timeout: 255 seconds]
milosn has joined #ocaml
binarybi1me has joined #ocaml
ygrek_ has quit [Ping timeout: 240 seconds]
_tca has joined #ocaml
boogie has joined #ocaml
doctorm has quit [*.net *.split]
thizanne has joined #ocaml
mfp has quit [*.net *.split]
n0v has quit [*.net *.split]
IbnFirnas has quit [*.net *.split]
toroidalcode has joined #ocaml
Derander_ has joined #ocaml
omqal has quit [*.net *.split]
milosn_ has quit [*.net *.split]
jerith has quit [*.net *.split]
Khady_ has quit [*.net *.split]
brendan has quit [*.net *.split]
misv_ has quit [*.net *.split]
binarybitme has quit [*.net *.split]
j0sh has quit [*.net *.split]
gargawel has quit [*.net *.split]
alex-abreu has quit [*.net *.split]
ohama has quit [*.net *.split]
rks`_ has quit [*.net *.split]
bcucciol1 has quit [*.net *.split]
hcarty has quit [*.net *.split]
NoNNaN has quit [*.net *.split]
def`_ has joined #ocaml
adrien_ has joined #ocaml
msaegess1r has joined #ocaml
charpi` has quit [Ping timeout: 245 seconds]
oriba has quit [Quit: oriba]
bcuccioli has quit [*.net *.split]
msaegesser has quit [*.net *.split]
SethTisue_______ has quit [*.net *.split]
thomasga has quit [*.net *.split]
j0sh_ has quit [*.net *.split]
nifty_ has quit [*.net *.split]
kandu_ has quit [*.net *.split]
adrien has quit [*.net *.split]
lopex has quit [*.net *.split]
jzelinskie has quit [*.net *.split]
srcerer_ has quit [*.net *.split]
jwatzman|work has quit [*.net *.split]
claudiuc has quit [*.net *.split]
def` has quit [*.net *.split]
fraggle-boate has quit [*.net *.split]
samebchase has quit [*.net *.split]
malo has quit [*.net *.split]
cdidd has quit [*.net *.split]
Derander has quit [*.net *.split]
olasd has quit [*.net *.split]
rwmjones has quit [*.net *.split]
thomasga has joined #ocaml
ontologiae has joined #ocaml
nicoo_ has joined #ocaml
bcucciol1 has joined #ocaml
_5kg has quit [Ping timeout: 246 seconds]
alinab has quit [Ping timeout: 246 seconds]
thizanne has quit [Ping timeout: 246 seconds]
kerneis has quit [Ping timeout: 246 seconds]
tg has quit [Ping timeout: 246 seconds]
Mandus has quit [Ping timeout: 246 seconds]
thizanne has joined #ocaml
EClaesson has quit [Ping timeout: 246 seconds]
bjorkintosh has joined #ocaml
spacebat has joined #ocaml
Ptishell has joined #ocaml
gasche__ has joined #ocaml
Intensity has quit [Ping timeout: 246 seconds]
mk270 has quit [Ping timeout: 246 seconds]
EClaesson has joined #ocaml
boogie has quit [*.net *.split]
Khady has joined #ocaml
Khady has joined #ocaml
Khady has quit [Changing host]
nifty_ has joined #ocaml
mcclurmc has joined #ocaml
jzelinskie has joined #ocaml
teiresias has quit [Ping timeout: 246 seconds]
Snark has quit [Ping timeout: 246 seconds]
Mandus has joined #ocaml
srcerer has joined #ocaml
libertas has quit [Ping timeout: 246 seconds]
WanderingGlitch has quit [Ping timeout: 246 seconds]
sh1ken has quit [Ping timeout: 246 seconds]
ohama has joined #ocaml
boogie has joined #ocaml
msaegesser has joined #ocaml
ddosia has quit [Ping timeout: 246 seconds]
claudiuc has joined #ocaml
alex-abreu has joined #ocaml
bcucciol1 has quit [Ping timeout: 246 seconds]
adrien_ has quit [Ping timeout: 246 seconds]
mk270 has joined #ocaml
mcclurmc_ has quit [Ping timeout: 246 seconds]
rs0 has quit [Ping timeout: 246 seconds]
SethTisue_______ has joined #ocaml
rks` has joined #ocaml
ontologiae_ has quit [Ping timeout: 276 seconds]
bernardofpc has quit [Ping timeout: 276 seconds]
gasche has quit [Ping timeout: 276 seconds]
msaegess1r has quit [Ping timeout: 276 seconds]
jpdeplaix has quit [Ping timeout: 276 seconds]
johnelse has quit [Ping timeout: 276 seconds]
nicoo has quit [Ping timeout: 276 seconds]
nickmeha1ry has quit [Remote host closed the connection]
thomasga has quit [Quit: Leaving.]
jpdeplaix has joined #ocaml
gargawel has joined #ocaml
<tac_> In regards to let vs letrec, there's a passage in the RWO book that goes
<tac_> "... and for reasons that don't apply to a pure language like Haskell, these have to be marked explicitly by the programmer."
<tac_> What does this reference, exactly? How does purity help let vs letrec?
<tac_> (It also mentions type inference in the same paragraph)
WanderingGlitch has joined #ocaml
nickmeharry has joined #ocaml
bernardofpc has joined #ocaml
majoh has joined #ocaml
ggherdov_ has joined #ocaml
rs0 has joined #ocaml
<sheijk> tac_: they might mean lazyness, which makes a difference for circular data structures
alinab has joined #ocaml
<tac_> hmm
<sheijk> requiring let rec makes circular data structures illegal by default. so i guess in ocaml it's a design decision to make it harder to shoot yourself in the foot
nicoo_ is now known as nicoo
_5kg has joined #ocaml
<tac_> that much I can appreciate
<tac_> (I really wish haskell made the distinction)
<tac_> but I'm just curious why it might be a forced design decision, as the book makes it sound
kerneis has joined #ocaml
fraggle-boate has joined #ocaml
jwatzman|work has joined #ocaml
seliopou has quit [Ping timeout: 252 seconds]
ddosia has joined #ocaml
EClaesson has quit [Ping timeout: 252 seconds]
teiresias has joined #ocaml
teiresias has joined #ocaml
teiresias has quit [Changing host]
Ptishell has quit [Ping timeout: 252 seconds]
seliopou has joined #ocaml
majoh has quit [Ping timeout: 260 seconds]
j0sh has joined #ocaml
sheijk has quit [Ping timeout: 240 seconds]
fraggle_ has joined #ocaml
sivoais has quit [Ping timeout: 252 seconds]
zapu has quit [Ping timeout: 252 seconds]
srcerer has quit [Ping timeout: 252 seconds]
teiresias has quit [Ping timeout: 252 seconds]
tov has joined #ocaml
shinnya has joined #ocaml
gargawel has quit [Ping timeout: 252 seconds]
Khady has quit [Ping timeout: 252 seconds]
gargawel has joined #ocaml
EClaesson has joined #ocaml
msaegesser has quit [Ping timeout: 252 seconds]
WraithM has joined #ocaml
pollux has quit [Ping timeout: 252 seconds]
kerneis has quit [Ping timeout: 252 seconds]
thomasga has joined #ocaml
brendan has joined #ocaml
libertas has joined #ocaml
hcarty has joined #ocaml
pollux has joined #ocaml
msaegesser has joined #ocaml
sheijk has joined #ocaml
kandu has joined #ocaml
samebchase has joined #ocaml
majoh has joined #ocaml
bcuccioli has joined #ocaml
Ptishell has joined #ocaml
madroach has quit [Ping timeout: 250 seconds]
madroach has joined #ocaml
majoh has quit [Ping timeout: 260 seconds]
johnelse has joined #ocaml
thomasga has quit [Quit: Leaving.]
lopex has joined #ocaml
jerith has joined #ocaml
6JTAAFVQQ has joined #ocaml
Khady has joined #ocaml
teiresias has joined #ocaml
6JTAAFVQQ has quit [Ping timeout: 268 seconds]
Khady has quit [Changing host]
Khady has joined #ocaml
teiresias has quit [Changing host]
teiresias has joined #ocaml
johnelse is now known as 6JTAAFTUQ
Khady is now known as 6JTAAFV5E
majoh has joined #ocaml
kerneis has joined #ocaml
teiresias is now known as 6JTAAFWI7
lopex is now known as Guest87111
kandu is now known as Guest34141
6JTAAFWI7 is now known as teiresias
rwmjones has joined #ocaml
adrien has joined #ocaml
cdidd has joined #ocaml
malo has joined #ocaml
olasd has joined #ocaml
adrien is now known as Guest32997
mfp has joined #ocaml
zapu has joined #ocaml
darkf has joined #ocaml
darkf has quit [Changing host]
darkf has joined #ocaml
n0v has joined #ocaml
Snark has joined #ocaml
sh1ken has joined #ocaml
sivoais has joined #ocaml
rgrinberg has joined #ocaml
tg has joined #ocaml
sivoais has quit [Max SendQ exceeded]
tg has quit [Max SendQ exceeded]
6JTAAFV5E is now known as Khady
shinnya has quit [Ping timeout: 240 seconds]
sivoais has joined #ocaml
NoNNaN has joined #ocaml
tg has joined #ocaml
emmanueloga has quit [Changing host]
emmanueloga has joined #ocaml
strmpnk has joined #ocaml
strmpnk has quit [Changing host]
rfv has joined #ocaml
rfv has quit [Changing host]
__marius_____ has quit [Changing host]
__marius_____ has joined #ocaml
msch has quit [Changing host]
msch has joined #ocaml
_tca has quit [Changing host]
_tca has joined #ocaml
cesar_ has joined #ocaml
cesar_ is now known as Guest32674
ggherdov_ has joined #ocaml
ggherdov_ has quit [Changing host]
nifty_ has joined #ocaml
nifty_ has quit [Changing host]
jzelinskie has quit [Changing host]
jzelinskie has joined #ocaml
SethTisue_______ has joined #ocaml
SethTisue_______ has quit [Changing host]