adrien changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml 4.06.0 release notes: https://caml.inria.fr/pub/distrib/ocaml-4.06/notes/Changes | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
nullifidian has quit [Remote host closed the connection]
incdz has joined #ocaml
shinnya has quit [Ping timeout: 248 seconds]
nullifidian has joined #ocaml
infinity0_ has joined #ocaml
infinity0_ has quit [Changing host]
infinity0 has quit [Killed (verne.freenode.net (Nickname regained by services))]
infinity0 has joined #ocaml
nomicflux has joined #ocaml
mfp has quit [Ping timeout: 260 seconds]
jao has quit [Ping timeout: 248 seconds]
lopex has quit [Quit: Connection closed for inactivity]
ygrek has joined #ocaml
spew has joined #ocaml
letoh has joined #ocaml
incdz has quit [Ping timeout: 240 seconds]
incdz has joined #ocaml
BitPuffin has joined #ocaml
groovy2shoes has quit [Quit: moritura te saluto]
nomicflux has quit [Quit: nomicflux]
govg has joined #ocaml
nomicflux has joined #ocaml
abc has joined #ocaml
<abc> hey guys
<companion_cube> heya
<abc> can someone help me?
<companion_cube> ask, and you'll see if people react
<companion_cube> (but on IRC you need patience)
<abc> i'm trying to traverse a multiway tree buy i get only one row
<abc> sec
<abc> type attribut = | Href of string | Color of string | Size of int
<abc> type html_tree = | Empty | Html of attribut list * html_tree list | Head of attribut list * html_tree list | Body of attribut list * html_tree list | P of attribut list * html_tree list | B of attribut list * html_tree list | I of attribut list * html_tree list | U of attribut list * html_tree list | Font of attribut list * html_tree list | A of attribut list * html_tree list | H1 of attribut list * html_tree list | H2 of attribut
<abc> list * html_tree list | H3 of attribut list * html_tree list | H4 of attribut list * html_tree list | H5 of attribut list * html_tree list | Center of attribut list * html_tree list | Title of attribut list * html_tree list | Word of string
<companion_cube> use pastebin or something like that
pierpa has quit [Quit: Page closed]
mj_ has joined #ocaml
spew has quit [Ping timeout: 256 seconds]
nomicflux has quit [Quit: nomicflux]
mj__ has joined #ocaml
mj__ has quit [Client Quit]
mj_ has quit [Quit: Leaving]
mbuf has joined #ocaml
mj_ has joined #ocaml
groovy2shoes has joined #ocaml
gentauro has quit [Ping timeout: 248 seconds]
gentauro has joined #ocaml
letoh has quit [Ping timeout: 248 seconds]
abc has quit [Ping timeout: 256 seconds]
jmagnusj has quit [Quit: Leaving]
mj_ has quit [Quit: Leaving]
andreas_ has quit [Quit: Connection closed for inactivity]
mk9 has quit [Ping timeout: 256 seconds]
cbot has quit [Quit: Leaving]
MercurialAlchemi has joined #ocaml
freyr has joined #ocaml
argent_smith has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Quit: mk9]
jimmyrcom has quit [Ping timeout: 256 seconds]
cuicui has joined #ocaml
AltGr has joined #ocaml
mfp has joined #ocaml
mk9 has joined #ocaml
flodin has joined #ocaml
lopex has joined #ocaml
mk9 has quit [Ping timeout: 256 seconds]
zolk3ri has joined #ocaml
andreas_ has joined #ocaml
barcabuona has quit [Ping timeout: 260 seconds]
johnelse is now known as johnel_away
johnel_away is now known as johnelse
barcabuona has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
ziyourenxiang has joined #ocaml
zpe has joined #ocaml
MercurialAlchemi has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
Haudegen has joined #ocaml
_andre has joined #ocaml
sapristi has joined #ocaml
abc__ has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Ping timeout: 256 seconds]
jao has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
jao has quit [Ping timeout: 255 seconds]
mk9 has joined #ocaml
nicoo has quit [Ping timeout: 255 seconds]
nicoo has joined #ocaml
ygrek has quit [Ping timeout: 240 seconds]
bartholin has quit [Ping timeout: 264 seconds]
mk9 has quit [Ping timeout: 248 seconds]
nullifidian has quit [Remote host closed the connection]
nullifidian has joined #ocaml
<Leonidas> companion_cube: I like how this vector-data-structure-question from scala links to a paper and the paper is of course written by phil bagwell :)
mk9 has joined #ocaml
<abc__> hey guys
abc__ has left #ocaml ["Leaving"]
mk9 has quit [Quit: mk9]
jbrown has joined #ocaml
kakadu has joined #ocaml
kakadu has quit [Client Quit]
kakadu has joined #ocaml
webshinra has quit [Remote host closed the connection]
webshinra has joined #ocaml
mbuf has quit [Quit: Leaving]
ziyourenxiang has quit [Quit: Leaving]
antismap has quit [Ping timeout: 256 seconds]
antismap has joined #ocaml
gentauro has quit [Ping timeout: 240 seconds]
gentauro has joined #ocaml
nahra has quit [Remote host closed the connection]
nicoo has quit [Ping timeout: 255 seconds]
nicoo has joined #ocaml
mengu has joined #ocaml
Denommus has joined #ocaml
spew has joined #ocaml
spew has quit [Read error: Connection reset by peer]
govg has quit [Ping timeout: 248 seconds]
letoh has joined #ocaml
shinnya has joined #ocaml
<ec> o7 all
<ec> god, I'm still so bad at this
<ec> so I'm using this snippet: https://stackoverflow.com/a/46553717/31897
<ec> basically, `Sexp.pp_hum (Format.formatter_of_out_channel stdout) |> List.iter sexps`, ish
<ec> and I'm getting:
<ec> lib/ocameel.ml|11 col 29 error| This expression has type f:('a -> unit) -> unit but an expression was expected of type (Core.Sexp.t -> unit) -> 'b
<ec> I'm new to typing discipline, but … shouldn't `(Core.Sexp.t -> unit) -> 'b` cover `('a -> unit) -> unit`? :x
<Drup> ec: you forgot the label
<ec> oh.
<ec> 🤣
<ec> I assumed `f:` was a syntax indicating an anonymous function or sommat.
<ec> Hm, can I use |> with a labeled argument?
<Drup> not really
* ec nods
<ec> thanks!
<Drup> Armael: since you have been working on this kind of error message improvements recently, that would be interesting
<ec> so I refactored that to:
<ec> List.iter ~f:(fun (sexp) -> Sexp.pp_hum formatter sexp) sexps ;
<ec> is there a more idiomatic way to do that?
<ec> (hope ambiguous / idiom / practice questions like that are welcome here — lemme know if I'm help-vampiring 😊
<Drup> ec: the chan is generally quiet, so it's fine
<Drup> ec: are you using base or core(_kernel) ?
<ec> at the moment, Core; but I'll be targeting bsb soon, so that'll probably switch to one of the _kernels
<ec> I … think … I'm very confused by all the changes happening re: Core/Base/kernel, jbuild/dune/bsb/esy, so on and so forth
<ec> but I'll take answers for either! I'm here to learn.
<Drup> core, core_kernel and base are successive attempts at shrinking and making jst's library more portable/accessible
<Drup> jbuilder == dune, it's just a renaming
govg has joined #ocaml
<Drup> bsb is a build system specifically for bucklescript, for some reason
<Drup> I have no idea what esy is
<octachron> Drup, esy is ReasonML's secret opam alternative
<Drup> ah, right
<octachron> maybe more alpha/non-publicized than secret
<Drup> I'm going to not say anything on the topic, I will not manage to be polite :D
<Drup> ec: I would do `Fmt.list Sexp.pp_hum formatter sexps`, but I'm not sure what's the equivalent of Fmt in the JaneStreet-verse
<Armael> hello
<Drup> that's the library in question, yes
<Armael> Drup: so a bad error message when the types matches up-to a missing label?
<Drup> Armael: yeah, something like that
<Armael> good idea
<ec> Drup: also, I’d actually plenty appreciate an opinionated rant on build systems, for a variety of reasons; assuming you have the time to elucidate your feelings 😘
<ec> (building languages of my own, and need to design build-systems … new to OCaml / OCaml&JS ecosystem, and in the middle of pondering whether i’m going to work with esy or dune … and general interest in the topic of tooling and people’s experiences therewith)
<ec> (if it’s not appropriate for this channel, feel free to join #ELLIOTTCABLE?)
<ousado> esy aims to provide a more npm-like experience to reasonml users, while (down the road) allowing opam dependecies, too, if I understood that correctly. So far there's no way to directly use opam dependencies with bucklescript
Denommus has quit [Quit: restarting Emacs]
sapristi has quit [Quit: Leaving]
<Drup> dune is usable right now, esy doesn't seem to be. Doesn't that solve the dilema ?
<ousado> hm, dune wasn't even mentioned when I asked in the reasonml channel on how to use pure ocaml/opam libs with the reason-react/BS toolchain
<ousado> esy isn't even written in ocaml/reason, I think
<ousado> I don't really understand the decision to build something else, when opam, of all package managers, is available
<ousado> maybe I should look into dune and see if it bridges that gap, but I had that conversation just like 2-3 weeks ago, so I'd be surprised if there was an alternative that actually allows to tap into both ecosystems via opam
shinnya has quit [Ping timeout: 248 seconds]
<ousado> oh - dune is jbuilder
<ousado> not sure, then..
<ousado> there's also bsb and bsb-native, the latter allows using opam libraries, but only when building "native", not when generating JS via BS
<ousado> so all in all it's quite confusing, and in part deliberately underdocumented, apparently because there so much WIP
<companion_cube> Leonidas: Bagwell? :DD didn't know hobbits would write functioanl code
<ec> ousado: maybe I missed something, but I’m fairly sure both bsb and esy support opam packages? in fact, that’s sort of the point?
<ec> esy just *also* supports, uh, idk, some weird method of “shadowing” a subset of OCaml packages into the npm repository
barcabuona has quit [Ping timeout: 240 seconds]
<ec> presumably, idk, so JS-compatibility patches can exist there?
<ousado> well, I talked to the authors/maintainers of all the relevant projects
<ousado> and initially even between them, there was some confusion, but finally it turned out that nope, there's no opam support yet
<companion_cube> they probably don't care much for ocaml packages anyway
<ousado> esy is supposed to support opam down the road, like I said
<ousado> my goal was to compile irmin to JS and use it from a reason-react app, but as of then, there didn't seem to be a solution apart from copying libraries over into the source tree
nullifidian has quit [Remote host closed the connection]
<ousado> plus dependencies, etc.
<ousado> if esy does support opam packages now, that would be good news
nullifidian has joined #ocaml
<Leonidas> companion_cube: all the Clojure datastructures are based on hobbit data structure papers :)
<companion_cube> ^^
<companion_cube> I'm quite happy with AVLs though
<Leonidas> I solve the confusion by not using bs; jsoo works pretty well with ocaml build systems and ocaml package managers while preserving ocaml semantics
<Drup> ^
<companion_cube> I don't use js, it's simpler this way, but yeah, jsoo seems better
mbuf has joined #ocaml
ziyourenxiang has joined #ocaml
<ec> ousado: yikes — the documentation is either very wrong, or very new, then?
<ec> D:
sh0t has joined #ocaml
demonimin has quit [Ping timeout: 264 seconds]
mengu has quit [Quit: Leaving...]
MercurialAlchemi has quit [Ping timeout: 256 seconds]
abc__ has joined #ocaml
<ousado> ec: it seems there's quite some work going on there
<ousado> I guess I should try again
demonimin has joined #ocaml
demonimin has joined #ocaml
<ousado> and yeah, jsoo is there, of course, I just thought I'd check out how the two compare, how interoperable they are, etc. since that certainly would be useful
freyr has quit [Remote host closed the connection]
mbuf has quit [Quit: Leaving]
<Drup> that's the thing: they don't
abc__ has quit [Read error: Connection reset by peer]
<ousado> I'm a bit astonished that (correct me if I'm wrong) there seems to be not much overlap and very little coordination between those projects and the "core ocaml" communiity
<Drup> so am I
<ousado> yeah, really weird.. why would one not tap into the resources of a community /that/ skilled
<ec> ousado: I brought exactly this up and was rather rebuffed
<ec> -_-
<ousado> really? any explanation given?
<ec> I was/am too much of a newbie
<ec> well, newcomer
<ec> to really have asserted myself on the point.
<ec> but basically, my perception? I think Facebook wants to move fast, and there's Certain People who thought trying to contribute improvements back to, say, jbuilder or oasis or whatever, that were JS-specific, would have taken too long
<ec> or had too much of a chance of failure: "nope sry hahahahaha javascript is dumb who'd want to do that, js_of_ocaml is good enuf anyway" mindset is very perceivable coming *from* that side, over to here.
<ec> idk, from my personal perspective, they got it Hard Wrong.
<ec> 1. jbuilder is amazingly well architected, from what I've seen so far — again speaking as an outsider coming to it for the first time
<ec> (1b. looks like jbuilder has some actively-progressing cross-platform / cross-compilation improvements that would nest sooooo well with BuckleScript, if the Reaosn/Facebook/whoever team had just gotten involved with that instead of reinventing the wheel?)
<ec> 2. the OCaml community is a *lot* more accepting of the JS new-blood than it looks from over the pond. cf. how much effort the Merlin team are putting in to give Reason / bsb first-class support in what was originally OCaml/native-compilation specific tooling, y'know?
<ec> er. wow. oops. a little sleep-deprived. sorry for the rant. D:
<Armael> well facebook effectively hired merlin's main developer to implement support for reason
<ousado> FWIW, whenever I have a question that I think the ocaml folks here might remotely be interested in answering, that's my absolute first choice, and when it's about language design, compilers, tooling, and whatnot /for/ ocaml (I mean reason is not the forst alternative frontend), I feel it'd be outright crazy to not get closely involved with this community
ziyourenxiang has quit [Ping timeout: 276 seconds]
<ec> Armael: Ah. I didn
<ec> gesuiglhirguiruiarhluigteg — didn't* realize that
<ec> learning a new keyboard, sry
<Armael> :)
<ec> ousado: If you join the Reason/OCaml Discord, hit up message-ID 406273596604940298 in #general
<ousado> I will :)
<ec> idk if it's possible to hyperlink that (wtf, Discord? You get so many things right, but not this?)
<ec> they referenced this thread, and general negativity towards JS and/or Reason: https://discuss.ocaml.org/t/reason-general-function-syntax-discussion/537
jao has joined #ocaml
<ec> anyway, re: tooling, I'm really excited for the unified-tooling initiative hinted at in the state-of-ocaml-2017, `bob` and all that
<Drup> ah, yeah, that thread was an interesting clusterfuck :3
zolk3ri_ has joined #ocaml
zolk3ri has quit [Ping timeout: 276 seconds]
zolk3ri_ is now known as zolk3ri
dtornabene has joined #ocaml
cuicui has quit [Remote host closed the connection]
AltGr has left #ocaml [#ocaml]
_andre has quit [Quit: leaving]
Rome has joined #ocaml
RomanZ5 has quit [Ping timeout: 248 seconds]
Denommus has joined #ocaml
nullcatxxx_ has joined #ocaml
nullcatxxx_ has left #ocaml [#ocaml]
objmagic has joined #ocaml
nbuonin has joined #ocaml
nbuonin has quit [Quit: Page closed]
Algebr has joined #ocaml
bartholin has joined #ocaml
sh0t has quit [Remote host closed the connection]
sh0t has joined #ocaml
sh0t has quit [Ping timeout: 276 seconds]
objmagic has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
zpe_ has joined #ocaml
sh0t has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
zpe has quit [Ping timeout: 240 seconds]
objmagic has joined #ocaml
Algebr` has joined #ocaml
shinnya has joined #ocaml
Algebr has quit [Ping timeout: 268 seconds]
jao has quit [Remote host closed the connection]
sh0t has quit [Remote host closed the connection]
jao has joined #ocaml
sh0t has joined #ocaml
kakadu has joined #ocaml
jnavila has joined #ocaml
zpe_ has quit [Remote host closed the connection]
zpe has joined #ocaml
barcabuona has joined #ocaml
jimmyrcom has joined #ocaml
zpe has quit [Ping timeout: 260 seconds]
slash^ has joined #ocaml
BitPuffin has quit [Remote host closed the connection]
<kakadu> I'm trying to run examples for incr_dom but it seems that somebody forgot to do +weak.js to support weak references and ephemerons on Js side. Where should I put this in the context of jbuilder?
<rks`> open annissue on incr_dom's github
<rks`> whether the issue is there, in jbuilder or jsoo the right people will be notified
<kakadu> Yeah, I know...
<kakadu> I thought that maybe jbuilder is so good that I can do this in 1 line...
Algebr`` has joined #ocaml
Algebr` has quit [Ping timeout: 276 seconds]
* smondet[m] sent a long message: smondet[m]_2018-02-05_20:23:16.txt <https://matrix.org/_matrix/media/v1/download/matrix.org/CciJBguMOwkHAOCnPPgoqyUC>
jnavila has quit [Quit: Konversation terminated!]
jnavila has joined #ocaml
<kakadu> btw, what is THE TRICK to install eliom on 4.05 and 4.06 via opam? https://paste.in.ua/3195/
slash^ has quit [Read error: Connection reset by peer]
Algebr`` has quit [Ping timeout: 256 seconds]
<thizanne> I did it by pinning eliom and js_of_ocaml to dev
Denommus has quit [Ping timeout: 240 seconds]
objmagic_ has joined #ocaml
objmagic has quit [Ping timeout: 248 seconds]
mk9 has joined #ocaml
jnavila has quit [Remote host closed the connection]
<rgr[m]> kakadu: this was supposed to be fixed https://github.com/ocaml/dune/issues/92
sh0t has quit [Remote host closed the connection]
pierpa has joined #ocaml
sh0t has joined #ocaml
sh0t has quit [Remote host closed the connection]
jmiven_ has joined #ocaml
jmiven has quit [Ping timeout: 256 seconds]
mk9 has quit [Quit: mk9]
orbifx has joined #ocaml
argent_smith has quit [Quit: Leaving.]
mal`` has quit [Quit: Leaving]
mal`` has joined #ocaml
letoh has quit [Ping timeout: 256 seconds]
bartholin has quit [Remote host closed the connection]
spew has joined #ocaml
groovy2shoes has quit [Quit: moritura te saluto]
spew has quit [Ping timeout: 248 seconds]
kakadu has quit [Remote host closed the connection]
ygrek has joined #ocaml
atchoum has joined #ocaml