flux changed the topic of #ocaml to: Discussions about the OCaml programming language | http://www.ocaml.org | OCaml MOOC http://1149.fr/ocaml-mooc | OCaml 4.03.0 announced http://ocaml.org/releases/4.03.html | Try OCaml in your browser: http://try.ocamlpro.com | Public channel logs at http://irclog.whitequark.org/ocaml
nivek has joined #ocaml
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
benwbooth has quit [Ping timeout: 250 seconds]
<Algebr`> aantron: ping
Orion3k has joined #ocaml
<ygrek_> copy`, Obj.is_block @@ Obj.repr 0l
<copy`> Oh, huh
<copy`> Well, that's good to know. Cheers
pyon has quit [Ping timeout: 252 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
nivek has joined #ocaml
demonimin has quit [Remote host closed the connection]
demonimin has joined #ocaml
demonimin has quit [Changing host]
demonimin has joined #ocaml
rgrinberg has joined #ocaml
FreeBirdLjj has joined #ocaml
rgrinberg has quit [Ping timeout: 250 seconds]
kushal has quit [Quit: Leaving]
pyon has joined #ocaml
d0nn1e has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
d0nn1e has joined #ocaml
FreeBirdLjj has joined #ocaml
kushal has joined #ocaml
kushal has quit [Changing host]
kushal has joined #ocaml
tmtwd has joined #ocaml
rgrinberg has joined #ocaml
pierpa has quit [Ping timeout: 246 seconds]
rgrinberg has quit [Client Quit]
rgrinberg has joined #ocaml
sdothum has quit [Quit: ZNC - 1.6.0 - http://znc.in]
ygrek_ has quit [Ping timeout: 264 seconds]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
struk|desk has joined #ocaml
M-pesterhazy has quit [Remote host closed the connection]
M-Illandan has quit [Read error: Connection reset by peer]
M-martinklepsch has quit [Remote host closed the connection]
M-jimt has quit [Remote host closed the connection]
regnat[m] has quit [Remote host closed the connection]
MercurialAlchemi has joined #ocaml
<Algebr`> Any advantage for using one of these over the other? type system = <exit : 'a. ?code:int -> string -> 'a> type 'a system_ = <exit : ?code:int -> string -> 'a>
<Algebr`>
<Algebr`> And is the first one then a locally abstract type?
FreeBirdLjj has quit [Remote host closed the connection]
regnat[m] has joined #ocaml
travula has joined #ocaml
fluter has quit [Ping timeout: 250 seconds]
larhat has quit [Quit: Leaving.]
jonasen has joined #ocaml
M-martinklepsch has joined #ocaml
M-jimt has joined #ocaml
M-pesterhazy has joined #ocaml
M-Illandan has joined #ocaml
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tmtwd has quit [Ping timeout: 272 seconds]
rgrinberg has quit [Ping timeout: 252 seconds]
MercurialAlchemi has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 244 seconds]
fluter has joined #ocaml
sz0 has joined #ocaml
copy` has quit [Quit: Connection closed for inactivity]
jonasen has joined #ocaml
MercurialAlchemi has joined #ocaml
AlexRussia has quit [Ping timeout: 260 seconds]
<bruce_r> Is there a way to make 'sudo' use my opam setup?
<bruce_r> when I run an opam command (like ocsigenserver) as sudo, it doesn't find it
<Algebr`> make try like: sudo $(which ocsigenserver)
<bruce_r> I added my opam path to the sudo path, but now it cannot find some packages to run
<Algebr`> maybe
<bruce_r> that would solve the first part yes
<bruce_r> except for the fact that the command I actually type is just 'make' :)
<bruce_r> or 'sudo make' here
<bruce_r> Fatal error: cannot load shared library dllssl_threads_stubs
<bruce_r> but it works if I run it without sudo
FreeBirdLjj has joined #ocaml
AlexRussia has joined #ocaml
<flux> algebr`, the latter has the benefit of perhaps being more easily inferred by the compiler
<flux> though I guess the optional argument already destroys that, so maybe not that great a benefit :)
<flux> bruce_r, did you do eval $(opam config env) as root?
Simn has joined #ocaml
<bruce_r> flux: I can't, opam is not installed as root
<bruce_r> opam is installed for me
<bruce_r> the opam root is in my home directory
<bruce_r> in ~/.opam
<struk|desk> vbmithr: ping
<bruce_r> you guys know if #opam is an actual irc room?
<struk|desk> vbmithr: do I need to downgrade to 4.02.3 to test your stuff out?
AlexRussia has quit [Ping timeout: 260 seconds]
<struk|desk> bruce_r: sudo -E ?
rand__ has joined #ocaml
<bruce_r> very cool struk
<bruce_r> thanks!
<bruce_r> that worked
<bruce_r> but now, can I have this same trick as root?
<bruce_r> can I tell root to use my env?
<bruce_r> (going to bed, will check for answers tomorrow). But thanks, that helped a lot already.
<struk|desk> np, good night. not sure how to do that as root...why do you even need to though?
<struk|desk> just guessing here, but maybe something like sudo -u your_ocaml_user
<struk|desk> (as root)
kushal has quit [Quit: Leaving]
Algebr` has quit [Ping timeout: 250 seconds]
wolfcore has quit [Ping timeout: 276 seconds]
wolfcore has joined #ocaml
AlexRussia has joined #ocaml
<pitastrudl> hello
<pitastrudl> if anyone might know, in pattern matching, is it possible to have more conditions in one "when" guard
<pitastrudl> for example "Kralj when o2!=Kralj && Kralj!=5 -> true"
<struk|desk> of course, when expects a boolean expression, so you can compose as you wish
<pitastrudl> oh, so the AND can be only used with bools?
<pitastrudl> okay
<pitastrudl> thank you :)
<vbmithr> struk|desk: hi
<vbmithr> struk|desk: yeah,
travula has quit [Ping timeout: 244 seconds]
<struk|desk> argh, I may have to try it tomm then. pushing my east coast luck right now :)
<vbmithr> np
<vbmithr> :)
<companion_cube> pitastrudl: careful with !=, it's generally <> that you want
<pitastrudl> oh ok
<struk|desk> pitastrudl: this would compile for instance: let f o2 = function kralj when o2!=kralj && kralj!=5 -> true | _ -> false
<pitastrudl> i used != so far and it worked fine, didnt do much with <> yet
AlexRussia has quit [Ping timeout: 260 seconds]
<pitastrudl> I tried reading about it but didnt really understand, one is for deeper equality and the other set for "shallow" equality
jackweirdy has joined #ocaml
<Leonidas> pitastrudl: no, the one is structural inequality (<>) and (!=) is "physical inequality" which I suppose means referential inequality in other languages
<pitastrudl> i see
<pitastrudl> that makes a bit more sense
<pitastrudl> any ideas why im getting a syntax error where the second pattern is being matched https://gist.github.com/pitastrudl/e8269257fba0927dd18d6591d9dab290
<MercurialAlchemi> I wish ocaml used the 'is' operator from Python, this would (IMHO) remove the ambiguity
<pitastrudl> if i try "Papez (_,_,_)" instead of "Papez _ " it expects an operator instead
<Leonidas> MercurialAlchemi: even in python people do it wrong sometimes
<Leonidas> Coupled with the bizarre small-int behaviour of older python 2.x versions
<Leonidas> disaster in the making
<Leonidas> pitastrudl: Papez _ is not a valid expression
<pitastrudl> But what could i use instead that it would match a type with any kind of arguments?
<Leonidas> pitastrudl: you have to move the condition into the match condition
<pitastrudl> match condition? i cant use it within the guard?
<Leonidas> pitastrudl: for example (Papez(_,_,_),Kralj) -> False
<pitastrudl> or what do you mean
<pitastrudl> i see
<Leonidas> pitastrudl: yes, because in guards you have to write expressions
<Leonidas> like, ocaml expressions.
<pitastrudl> im struggling still what exactly is an ocaml expression
<Leonidas> and in match foo with | THISTHING when condition -> result, THISTHING is not really an ocaml expression, it's a pattern
<pitastrudl> i see
<Leonidas> pitastrudl: think of ocaml expressions as things that evaluate to a value
<Leonidas> pitastrudl: What would the value of Papez _ be?
<pitastrudl> any kind of string?
<Leonidas> pitastrudl: no, it has to be one specific value.
<pitastrudl> oh
<Leonidas> what value?
<pitastrudl> can be any string
<Leonidas> yes, but "any string" is not a value
<Leonidas> you also probably have a specific first name
<Leonidas> not "well, any string" in the first name field of your id
<Leonidas> although the type of the field is string, you have to specify one specific value
freusque has joined #ocaml
<Leonidas> same with ocaml expressions, they need to evaluate to some value
<pitastrudl> what could this value be? or where would i specify it?
<pitastrudl> do you mean i have to put a variable in the pattern so i can use it in the guard?
<Leonidas> pitastrudl: Papez ("hello", "pitastrudl", 42) is one such value
<pitastrudl> yes
<Leonidas> (also, I greatly enjoy the name of both your types and constructors :D)
<pitastrudl> haha :D
<pitastrudl> are you Slavic?
<Leonidas> pitastrudl: if I understand you correctly, you want to make sure in line 7 that o2 is not any of Kralj or Papez
<pitastrudl> yes
<Leonidas> pitastrudl: I am, though these words mean nothing in polish, they just sound amusing.
SIGILL has quit [Quit: reboot]
<pitastrudl> haha :D
<pitastrudl> It's Slovene
<pitastrudl> it's suppsoed to be a hiearchy function
<Leonidas> I would have guessed Serbian :)
<pitastrudl> Kralj?king, Papez=pope, vitez=knight,kmet=farmer
<pitastrudl> and im trying to write a function that will tell me if o1 has greater power than o2 figurativly speaking
<pitastrudl> but yeah, that's what im trying to do and im not sure why it's not working
<pitastrudl> Im not sure how i would split that condition in two seperate matches
<Leonidas> pitastrudl: then in any case, you could say | (Papez _, Kralj _) | (Papez _, Papez _) -> false or something like that
infinity0 has quit [Ping timeout: 264 seconds]
<pitastrudl> oh, you can do that?
<Leonidas> the great thing is that you already match o1 and o2, so you don't need guards at all, you can just use the pattern syntax
<pitastrudl> but if i use guards i can make the code smaller?
<Leonidas> yeah. in that case this could work. sometimes there are issues when you bind submatches to values then you can't share branches.
<Leonidas> pitastrudl: not really, no.
<pitastrudl> ohh
<Leonidas> especially since Constructors are not really in the "value" domain
larhat has joined #ocaml
fold4 has quit [Ping timeout: 246 seconds]
<Leonidas> there is no value 'Kmet' that you could pass around, so you also can't compare Kmet to Vitez for example.
<Leonidas> sorry, that sounds a bit confusing and coming from OOP languages it seems very foreign
infinity0 has joined #ocaml
SIGILL has joined #ocaml
<pitastrudl> yep
<pitastrudl> i mean i do grasp some concepts of ocaml, but it's still hard, and im not that deep into programming yet, first year CS atm
<Leonidas> using OCaml @ university?
ia0 has quit [Quit: reboot]
<pitastrudl> yes
<Leonidas> I can attest it does get easier with more practice, as with most things :)
<pitastrudl> yeah i did quite some practice already
<Leonidas> So did I. Ended up writing both my bachelor and masters thesis with ocaml
<pitastrudl> nice
sz0 has quit [Quit: Connection closed for inactivity]
ia0 has joined #ocaml
<pitastrudl> at the start i didnt have a clue why stuff didnt work and how certain stuff works
<pitastrudl> now im just less clueless, but the code works somehow :D
fluter has quit [Ping timeout: 258 seconds]
<Leonidas> yeah, sometimes it takes time to understand why things work and why they don't.
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
infinity0 has quit [Remote host closed the connection]
fluter has joined #ocaml
fold4 has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
jackweirdy has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jackweirdy has joined #ocaml
infinity0 has joined #ocaml
A1977494 has joined #ocaml
fold4 has quit [Ping timeout: 244 seconds]
FreeBirdLjj has joined #ocaml
infinity0 has quit [Ping timeout: 276 seconds]
infinity0 has joined #ocaml
fold4 has joined #ocaml
struk|desk is now known as struk|desk|away
struk|desk|away is now known as struk|desk
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
jwatzman|work has joined #ocaml
infinity0 has quit [Remote host closed the connection]
kdas_ has joined #ocaml
travula has joined #ocaml
infinity0 has joined #ocaml
sz0 has joined #ocaml
kdas_ is now known as kushal
kushal has quit [Changing host]
kushal has joined #ocaml
StatelessCat has quit [Quit: WeeChat 1.5]
A19774941 has joined #ocaml
A1977494 has quit [Ping timeout: 276 seconds]
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
FreeBirdLjj has joined #ocaml
kdas_ has joined #ocaml
kushal has quit [Ping timeout: 240 seconds]
kdas_ has quit [Read error: Connection reset by peer]
silver has joined #ocaml
tane has joined #ocaml
beginner has joined #ocaml
jackweirdy has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
fedjo has quit [Read error: Connection reset by peer]
fedjo has joined #ocaml
StatelessCat has joined #ocaml
jackweirdy has joined #ocaml
jonasen has joined #ocaml
kdas_ has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
dario2 has joined #ocaml
kdas_ is now known as kushal
kushal has quit [Changing host]
kushal has joined #ocaml
StatelessCat has quit [Quit: WeeChat 1.5]
StatelessCat has joined #ocaml
StatelessCat has quit [Client Quit]
FreeBirdLjj has joined #ocaml
StatelessCat has joined #ocaml
StatelessCat has joined #ocaml
StatelessCat has quit [Changing host]
Kakadu has joined #ocaml
sdothum has joined #ocaml
A19774941 has quit [Ping timeout: 276 seconds]
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jonasen has joined #ocaml
kushal has quit [Quit: Leaving]
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
rossberg_ has quit [Ping timeout: 264 seconds]
jonasen has joined #ocaml
regnat has joined #ocaml
rossberg_ has joined #ocaml
kushal has joined #ocaml
jackweirdy has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
A1977494 has joined #ocaml
jackweirdy has joined #ocaml
dhil has joined #ocaml
nivek has joined #ocaml
agarwal1975 has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
<beginner> is someone here using the ocaml bindings for llvm
Algebr` has joined #ocaml
<Drup> beginner: what's your question ?
<beginner> the opt tool from llvm allows to set the optimization pass nvtpx sched4reg and other nvtpx specific optimizations. I was wondering if it would be possible to set them from the OCaml bindings as well
<Drup> you can call passes manually in the ocaml bindings
Algebr` has quit [Ping timeout: 250 seconds]
<beginner> Drup: do you know which api call to use_
<beginner> ?
AltGr has joined #ocaml
<beginner> Drup: thanks, but i have used this part once and dont really know how i can just tell llvm to apply this specific pass sched4reg for nvptx
<dario2> Hey Drup! I've come across another puzzling aspect of Eliom6: https://github.com/ocsigen/eliom/issues/322
<dario2> Maybe the API is still in flux and the issue will go away...
<Drup> dario2: I must say, I didn't really worked on the new eliom stuff, you will have to wait for vasilisp :)
lostman has joined #ocaml
<dario2> Fair enough...
<Drup> beginner: hum, maybe that's specific pass is not exposed in the OCaml API ? You could try to bind it yourself
sepp2k has joined #ocaml
rgrinberg has joined #ocaml
FreeBirdLjj has joined #ocaml
<beginner> Drup: I would do that via the llvm_passmgr_builder?
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
rand__ has quit [Quit: leaving]
sz0 has quit [Quit: Connection closed for inactivity]
kushal has quit [Quit: Leaving]
hcarty has joined #ocaml
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
shinnya has joined #ocaml
crass has joined #ocaml
hcarty has quit [Ping timeout: 244 seconds]
AltGr has left #ocaml [#ocaml]
AllanDaemon has quit [Ping timeout: 264 seconds]
baroud has joined #ocaml
<baroud> Hi,
<companion_cube> hi
kushal has joined #ocaml
NingaLeaf has joined #ocaml
jonasen has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 250 seconds]
walter|r has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
darkf has quit [Quit: Leaving]
copy` has joined #ocaml
pierpa has joined #ocaml
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
AltGr has joined #ocaml
NingaLeaf has quit [Quit: Leaving]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
dario2 has quit [Quit: Konversation terminated!]
sh0t has joined #ocaml
travula has quit [Remote host closed the connection]
Algebr` has joined #ocaml
tane has quit [Quit: Leaving]
hcarty has joined #ocaml
NingaLeaf has joined #ocaml
jonasen has joined #ocaml
baroud has quit [Ping timeout: 250 seconds]
ygrek_ has joined #ocaml
MercurialAlchemi has joined #ocaml
sh0t has quit [Remote host closed the connection]
jackweirdy has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
jackweirdy has joined #ocaml
sh0t has joined #ocaml
sh0t has quit [Remote host closed the connection]
slash^ has joined #ocaml
sh0t has joined #ocaml
<seliopou> hcarty thanks for sending that pr
AltGr has left #ocaml [#ocaml]
<hcarty> seliopou: You're welcome - thanks for the suggestion. I should have done that in the first place
<seliopou> how is your msgpack parser coming along? I'm curious if the latest PRs have improved performance for you
jeroldhaas has joined #ocaml
jeroldhaas has quit [Client Quit]
SIGILL has quit [Ping timeout: 260 seconds]
jwatzman|work has joined #ocaml
SIGILL has joined #ocaml
AllanDaemon has joined #ocaml
<hcarty> I need to add benchmarks and proper tests, do a writeup and then it'll be ready to release
<hcarty> There's an outer layer that maps the precise msgpack representation type to a more usable user-focused type
<seliopou> cool! I see a few opportunities for performance improvement.
<seliopou> YMMV, benchmark, IANAL, etc etc, but in general minimizing choices is a good heuristic for making efficient parsers
<seliopou> looks like you could consume the tag immediately for all these types and then "dispatch" to the appropriate parser for the type the tag represents
<seliopou> that'll reduce backtracking and also ensure that you don't accumulate a huge failure continuation on a successful parse
<seliopou> when are you looking to release? angstrom's getting pretty mature so I was thinking of releasing sometime this week or next
kushal has quit [Read error: Connection reset by peer]
<companion_cube> if there is a `try` and `<|>` it should be doable to minimize backtrack
<seliopou> `<|>` is backtracking by default
<seliopou> so as of now there is no way to do non-backtracking choice
<seliopou> the closest thing is the `commit` combinator, which will commit to the given parse, allowing the caller to free up memory in the input buffer
<seliopou> unfortunately it does not free failure continuations at this time
<companion_cube> hmmm
<seliopou> for network/serialization stuff, this should not be a problem
<companion_cube> I experimented a bit with backtracking by default (in oasis-parser)
<companion_cube> but then I found it easier and simpler to have nonbacktracking <|>, and backtracking `try`
<seliopou> it may be a bit more of a burden for full-blown languages
<seliopou> companion_cube: for the implementation or for the user?
<companion_cube> the implementation was along the parser
<companion_cube> anyway, re in 1h
kushal has joined #ocaml
silver_ has joined #ocaml
A1977494 has quit [Quit: Leaving.]
nivek has joined #ocaml
silver has quit [Ping timeout: 276 seconds]
silver_ is now known as silver
larhat has quit [Quit: Leaving.]
malc_ has joined #ocaml
wiredsister has joined #ocaml
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nivek has joined #ocaml
jwatzman|work has quit [Quit: jwatzman|work]
d0nn1e has quit [Ping timeout: 260 seconds]
d0nn1e has joined #ocaml
<AllanDaemon> how can I declare a function with explicit Unit type? this gives syntax error: `let f (a:int) : () = () ;;`, but this don't: `let f (a:int) : int = a+10;;`
<AllanDaemon> *explicit return type Unit
<Algebr`> let foo (a:int): unit = ()
<Algebr`> simple way to think it: type unit = ()
dwillems has joined #ocaml
<bruce_r> struck: you're right, I don't think I need to do it as root.
<bruce_r> Allan: () is a value of the type ()
<bruce_r> no
<bruce_r> () is a value of the type 'unit'
<bruce_r> () is not a type, it's a value, like 3 or 4
<bruce_r> it's like if you type let f (a:int) : 4 = a + 10
dhil has quit [Ping timeout: 240 seconds]
<AllanDaemon> thanks
tizoc has quit [Changing host]
tizoc has joined #ocaml
<hcarty> seliopou: Thanks for taking a look and for the suggestions! I'll make those changes before release.
<hcarty> seliopou: I'm hoping to be able to make a release in the next few weeks - depends on work time availability mainly
jackweirdy has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<seliopou> hcarty: glad to help!
<seliopou> I'll keep you updated about my plans for release. I'm on an optimization binge right now so i figure once that dries up I'll be ready.
dwillems has quit [Ping timeout: 260 seconds]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
sz0 has joined #ocaml
nojb_ has quit [Ping timeout: 244 seconds]
nojb_ has joined #ocaml
dwillems has joined #ocaml
<aantron> Algebr`: pong!
<aantron> Algebr: Algebr`: i mean
<Algebr`> aantron: ah, I had this stackoverflow question wanted to you take a look at: http://stackoverflow.com/questions/38062386/using-either-a-block-or-c-lambda-for-a-c-function-pointer-api was hoping some c++ magic could solve it
<aantron> lets talk in PM as this is ocaml :)
tane has joined #ocaml
dwillems has quit [Ping timeout: 260 seconds]
ygrek_ has quit [Ping timeout: 276 seconds]
<flux> cool, does this https://github.com/ocaml/ocaml/pull/608 mean ocaml will get smallish binaries?
<flux> well, for release bilds
<Drup> flux: that's the goal
<Drup> (it's not only about size, it does optim too)
jeffmo has joined #ocaml
<flux> there was also this dynamic library loader for ocaml.. I guess it remains unmaintained.
<flux> though as long as ocaml programs compose such small parts of computer systems it isn't really that useful
<Drup> dynamic library loader ?
<Drup> There is dynlink, but I suppose that's not what you mean
<flux> basically a way to use cmts without modifying code
<flux> oops I meant cmxs
A1977494 has joined #ocaml
jackweirdy has joined #ocaml
ygrek_ has joined #ocaml
sfri has quit [Remote host closed the connection]
NingaLeaf_ has joined #ocaml
NingaLeaf has quit [Ping timeout: 258 seconds]
TheLemonMan has joined #ocaml
tane has quit [Quit: Leaving]
Algebr` has quit [Read error: Connection reset by peer]
Algebr` has joined #ocaml
Kakadu has quit [Quit: Page closed]
sfri has joined #ocaml
tane has joined #ocaml
jonasen has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<gasche> the opam documentation is really frustrating; whenever I look for something in it, I can't find it
<gasche> (today's question: how do I test a change to my local clone of opam-repository?)
<gasche> (pretty basic, right? I cannot find any discussion of this in the documentation)
<gasche> (the answer is to "opam repo add local <your-local-clone>", then "opam install package", then "opam repo remove local")
nivek has joined #ocaml
Kakadu has joined #ocaml
walter|r has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 258 seconds]
<hcarty> gasche: Submit a PR! Or a bug report
<hcarty> It would be nice to have a one-step way to tell opam "try to install my new package(s) from this repo"
<hcarty> Which did the setup, test and cleanup automatically
<gasche> hcarty: of course: https://github.com/ocaml/opam/issues/2594
slash^ has quit [Remote host closed the connection]
<gasche> I think we should consider crowd-funding the development of better opam documentation
<gasche> because obviously Louis is super-busy developing OPAM features, and has no time for documentation love
<gasche> would people be ready to help fund this?
<gasche> (for example, the money could go to someone hired by OCamlpro to work on this)
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
nivek has joined #ocaml
nivek has quit [Client Quit]
demonimin has quit [Ping timeout: 276 seconds]
demonimin has joined #ocaml
dwillems has joined #ocaml
demonimin has quit [Ping timeout: 246 seconds]
demonimin has joined #ocaml
rgrinberg has quit [Ping timeout: 264 seconds]
nivek has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 272 seconds]
MercurialAlchemi has joined #ocaml
<Algebr`> I would throw down
crass_ has joined #ocaml
crass has quit [Read error: Connection reset by peer]
AlexRussia has joined #ocaml
rgrinberg has joined #ocaml
<bruce_r> Can someone tell me what this 'with' syntax means:
<bruce_r> type error_code = | Uninstantiable_creds with sexp
octachron has joined #ocaml
<Algebr`> it auto generating some functions to serialize to sexpressions
<octachron> bruce_r, it is a syntax extension, and not a part of vanilla OCaml
<rgrinberg> bruce_r: the source of it is an old way to extend the language called camlp4. The specific plugin here is type_conv
MercurialAlchemi has quit [Ping timeout: 276 seconds]
<bruce_r> ok, thanks guys
<rgrinberg> you shouldn't use it, prefer ppx equivalents instead. In this case you're looking for ppx_sexp_conv and ppx_deriving
<bruce_r> It's in a library that I'm trying to use
<rgrinberg> which library is it?
<bruce_r> aws_async
<rgrinberg> Oh. Porting to ppx should be very easy however.
<bruce_r> there's no documentation whatsoever, so I don't really know how to deal with it
<rgrinberg> bruce_r: personally I would recommend seliopou's https://github.com/inhabitedtype/ocaml-aws
<rgrinberg> Although i don't know if it's on opam yet
<seliopou> It's on OPAM
<seliopou> not all the libraries are though
<seliopou> gotta extend the generator for complete coverage
<bruce_r> the doc seems much better
<bruce_r> ok I think I'll use that
<bruce_r> thanks!
<seliopou> bruce_r if you come across anything let me know either here or via an issue
<seliopou> i've neglected the library in the past couple months and have been meaning to get back to it, so a nudge here or there may help
<bruce_r> ok it's your thing
<bruce_r> all I need is a simple API to read and write to DDB
<bruce_r> should that be easy?
crass_ has quit [Remote host closed the connection]
<seliopou> hmmm looks like i'm not generating bindings for that yet 1 sec
<seliopou> i haven't implemented codgen for the map type yet so it's not supported at this time :/
Denommus has joined #ocaml
<bruce_r> I only need string for now
<bruce_r> string for keys and string for values
<hcarty> seliopou: Nudge for S3 support in ocaml-aws :-)
sh0t has quit [Ping timeout: 240 seconds]
<hcarty> No rush though as I have a simple internal library that does the few pieces I need
<hcarty> s/pieces/things/
<seliopou> oh boy, i opened up a can of worms
<seliopou> once angstrom is released I will switch back
<seliopou> to aws
<seliopou> and get S3 support out the door, along with dynamo
<seliopou> actually if those two work, then I think all of them will
octachron has quit [Quit: Leaving]
<hcarty> Really no rush on my side. I'm just happy the bindings are there, helps spread the OCaml use around here
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
TheLemonMan has quit [Quit: "It's now safe to turn off your computer."]
malc_ has quit [Remote host closed the connection]
nivek has joined #ocaml
gpietro has joined #ocaml
<gpietro> hi guys i am trying to remove why3 with opam remove
<rgrinberg> seliopou: \o/ the aws lib is awesome
<gpietro> it says it s not installed but if on the terminal i type why3 it doesn't say it's an unknown command
tane has quit [Quit: Leaving]
<seliopou> rgrinberg thanks :) I just wish it were more complete
<seliopou> sort of built it for my use-case, now gotta wrap it up
Denommus has quit [Quit: going home]
<gasche> gpietro: what does $(whereis why) say?
<gasche> could you be talking to a system-installed why3, instead of an opam-installed why3?
<gpietro> gasche, tahts' what I thought but: http://paste.ubuntu.com/18057703/
<gasche> indeed
<gasche> (I would try to "opam install why3" then "opam remove why3" again)
<gasche> there is a chance that the "remove" instructions are faulty in the package
<gasche> oh wait
<gasche> did you also remove why3-base?
<rgrinberg> seliopou: I like how it's cohttp agnostic, i'm playing around with some curl bindings now and would like to see how well that would work with your lib
<gpietro> ahhh
<gpietro> gasche, why3-base...
<gpietro> wait let me try
<gpietro> mm nah it's noth there it says
<seliopou> rgrinberg: yeah a design principle is like to adhere to is to keep the data repr as separate from the systems stuff as is reasonably possible
<gpietro> ok gasche i try to install it again and remove it
<seliopou> gasche: i duno about crowdfunding the opam docs, but perhaps there is a financial institution that could cover it :P
<seliopou> or OCaml Labs
<gpietro> gasche, this is what i get now if i launch why3: http://paste.ubuntu.com/18058140/
<gpietro> (after installing it)
<gpietro> (again)
<gasche> it seems to work, apart from the weird failures
<gasche> I wonder if why3 has been well-tested on 4.03
<gpietro> mmm
Algebr` has quit [Read error: Connection reset by peer]
Algebr` has joined #ocaml
rgrinberg has quit [Ping timeout: 260 seconds]
jackweirdy has quit [Quit: Textual IRC Client: www.textualapp.com]
<gpietro> gasche, is it possible that even in 4.02.1 why3 has a problem if iremove it the binary is still there the only way seems to remove it by hand
<gpietro> ?
<gasche> yes, sounds possible
<gasche> (I mean people usually test the installation instructions well, not so well removal)
<gasche> you should report your issue to why3 maintainers
<gasche> hm wait
silver has quit [Quit: rakede]
<gasche> I just looked at the package, there seems to be no "remove" action
swistak35 has joined #ocaml
<hcarty> gasche: Maybe funding for such a project should go through something like OCaml Labs? If it's not going to be handled/implemented by the core OCaml team
<gasche> I think that adding remove: ["make uninstall"] to the opam description should be enough
<gasche> hcarty: the OCaml maintainers are responsible for the compiler distribution, not opam
<gasche> opam is maintained by Louis Gesbert, an OcamlPro employee
<gasche> (well maintained and actively developed)
<gasche> (which means that OCamlPro has been funding OPAM's development for years with no monetary reward)
<gasche> I would of course be happy if Ocaml Labs decided to fund opam documentation out of the blue, but I don't feel legitimate in requesting it from them
<gasche> on the other hand, I would be glad to pay €50/€100 out of my pocket to make this happen, and I was wondering whether others would
<gpietro> mmm i see
sepp2k has quit [Quit: Leaving.]
nivek has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<Drup> well, it would certainly be good to have someone like steve labnik for OCaml
<Algebr`> who is that
<hcarty> Algebr`: A member of the Rust community (and team maybe?)
<Drup> AFAIU, he's basically payed by mozilla to work on documentations and community-stuff in rust
<Algebr`> dope
<gasche> but who would apply for such a position?
<Drup> gasche: if there is no position, it's certain that nobody is going to apply
<hcarty> gasche: I suspect someone would if there were a paycheck attached
<gasche> it seems hard to me to motivate someone to do that full-time; on the other hand, a time-limited effort could work
<gasche> (as in: three months on OPAM documentation)
<gasche> well Drup it's hard to convince someone to open a position when nobody knows whether there are candidates
<gasche> I mean can you name someone that would be interested in such a position?
<gpietro> gasche, for this project i am trying to compile i need why3-base 0.86 so i donwgraded but then it gives me problem with mehir: do you know how i can fix this "hygiene problems"? http://pastebin.com/icLYCP5r
<gasche> I, for example, am happy doing ocaml-community stuff in small doses, but I would not take this as a full-time job
<hcarty> gasche: That's part of the challenge of growing a programming language community, and part of why a position like that can be so effective
<gasche> gpietro: I know this bug, it has been fixed in recent menhir versions
<gasche> again, you should contact why3 maintainers to ask if the menhir dependency could be relaxed to use the fixed version
<gasche> (do mention the missing "remove" as well)
<gasche> hcarty: sure, I'm just saying it's not necessarily easy to find someone interested
<gasche> (because we all have other valuable/important stuff to do as well)
<gasche> (afk now)
<Drup> of course I can't name you anyone out of the blue, there are however several people who took a lot of their time to write stuff about OCaml, like technical documentations and books.
<gasche> hm
<gasche> maybe John Whitington
<gasche> I don't see Anil or Yaron doing that
<Drup> yes, that's one of the people I had in mind
<hcarty> gasche: Anil and Yaron have jobs already
<hcarty> This doesn't need to be someone who has 10+ years of experience with the langauge and community
<seliopou> gasche if i didn't have so many libraries to write i'd do it :/
gpietro has quit [Ping timeout: 250 seconds]
agarwal1975 has quit [Ping timeout: 260 seconds]
<Drup> hcarty: on the contrary, I would tend to think it's better if it's not done by a complete expert
<Algebr`> I'm unemployed at the moment, could do it part time.
<Algebr`> maybe
<seliopou> really, people just need to blog more
<seliopou> i have about 5 ocaml-related blog posts that have been on the back burner for months
<Drup> seliopou: that's a completely different kind of job
<seliopou> Drup: it's very much a requirement of the job
<Drup> not really
hcarty has quit [Ping timeout: 240 seconds]
<seliopou> i assure you, it is
<seliopou> communitiy activity requires visibility
<seliopou> otherwise the community doesn't expand
<seliopou> steve's job is not just to engage with the community, it's to get the community's message out to a broader audience
<seliopou> Hence talks at places such as the NY Linux User's Group.
<seliopou> I was there for his talk, and have since started to help organize NYLUG, which enabled me to get Amir up on a stage in front of a bunch of linux folks to talk about Mirage and containers.
<Algebr`> that's a good group, ny linux
<Algebr`> great talks hosted
<seliopou> the holiday party's not bad either
<Algebr`> indeed
<seliopou> :P
<seliopou> the point is, there's doing stuff and talking about stuff. both are necessary.
sh0t has joined #ocaml
<sh0t> sorry gasche i had some connectivity problem
<sh0t> is there away to solve that?
wiredsister has quit [Ping timeout: 244 seconds]
Simn has quit [Quit: Leaving]
dwillems has quit [Ping timeout: 260 seconds]
jeffmo has quit [Quit: jeffmo]
wolfcore has quit [Ping timeout: 244 seconds]
darkf has joined #ocaml
wolfcore has joined #ocaml
wiredsister has joined #ocaml
sh0t has quit [Remote host closed the connection]
fraggle_ has quit [Ping timeout: 260 seconds]
fraggle_ has joined #ocaml
madroach has quit [Ping timeout: 244 seconds]
madroach has joined #ocaml
fraggle_ has quit [Ping timeout: 260 seconds]
vishesh is now known as vishesmch
fraggle_ has joined #ocaml
Kakadu has quit [Remote host closed the connection]