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
<companion_cube> or which just prints markdown as is
<companion_cube> I already use `foo` when I write code anyway
spew has quit [Quit: Connection closed for inactivity]
Fare has joined #ocaml
sh0t has joined #ocaml
eagleflo has quit [Read error: Connection reset by peer]
eagleflo has joined #ocaml
caltelt has quit [Quit: Leaving]
caltelt has joined #ocaml
noitakomentaja has quit [Remote host closed the connection]
noitakomentaja has joined #ocaml
Fare has quit [Ping timeout: 268 seconds]
sh0t has quit [Remote host closed the connection]
sh0t has joined #ocaml
nomicflux has joined #ocaml
pierpa has quit [Quit: Page closed]
nomicflux has quit [Client Quit]
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
ratsch has quit [Remote host closed the connection]
ratsch has joined #ocaml
pierpa has joined #ocaml
pierpal has joined #ocaml
isd has quit [Quit: Leaving.]
silver has quit [Read error: Connection reset by peer]
mfp has quit [Ping timeout: 264 seconds]
zv has quit [Ping timeout: 264 seconds]
feihong has joined #ocaml
feihong has quit [Client Quit]
feihong has joined #ocaml
hdon has quit [Ping timeout: 268 seconds]
hdon has joined #ocaml
<discord1> <Bluddy> I don't know why the markdown thing happens. I'll look at the code some more when I get a chance.
<discord1> <Bluddy> We could potentially improve things on the irc end if we ask freenode to let us do hundreds of connections from our one IP.
hdon has quit [Ping timeout: 260 seconds]
bartholin has quit [Ping timeout: 260 seconds]
Fare has joined #ocaml
bartholin has joined #ocaml
feihong has quit [Ping timeout: 260 seconds]
cbot has quit [Ping timeout: 248 seconds]
tormen_ has joined #ocaml
<keep_learning> Hi Everyone,
<keep_learning> I have OCaml file https://github.com/mukeshtiwari/EncryptionSchulze/blob/master/code/javaocamlbinding.ml which is right now standalone file and depends on https://github.com/Julow/ocaml-java
<keep_learning> Now I am trying to use it as a library and call it from OCaml files https://github.com/mukeshtiwari/EncryptionSchulze/blob/master/code/lib.ml#L1
tormen has quit [Ping timeout: 256 seconds]
<keep_learning> So could some please tell me how to change the make file https://github.com/mukeshtiwari/EncryptionSchulze/blob/master/code/Makefile#L50 to generate javaocamlbinding as library
gtrak has quit [Ping timeout: 264 seconds]
Fare has quit [Ping timeout: 260 seconds]
gtrak has joined #ocaml
ygrek has quit [Ping timeout: 264 seconds]
Fare has joined #ocaml
moolc has joined #ocaml
zv has joined #ocaml
Fare has quit [Ping timeout: 256 seconds]
Fare has joined #ocaml
jbrown has quit [Ping timeout: 255 seconds]
<keep_learning> I just realized that makefile is replaced jbuild https://github.com/Julow/ocaml-java/commit/5027ba639d7958f96674e8d435d049245c1c0dfa
<keep_learning> I have cloned it, but when I am running it according to jbuilder build camljava then I am getting "Don't know how to build camljava. Did you mean camljava.a"
cbot has joined #ocaml
sh0t has quit [Remote host closed the connection]
zv has quit [Ping timeout: 248 seconds]
jimmyrcom has quit [Ping timeout: 248 seconds]
pierpa has quit [Quit: Page closed]
Fare has quit [Ping timeout: 256 seconds]
Fare has joined #ocaml
<keep_learning> Anyone please
<Fare> keep_learning, yes?
<Fare> I have a Makefile that invokes jbuild with the correct options.
hdon has joined #ocaml
hdon has quit [Ping timeout: 260 seconds]
<keep_learning> Fare Hi
<keep_learning> From the library github page https://github.com/Julow/ocaml-java, I can run my javaocamlbinding.ml as standalone application, but now I want to call the functions defined in it from lib.ml
<keep_learning> I am wondering how to do this (I have just basic idea of build system in OCaml)
noitakomentaja has quit [Remote host closed the connection]
noitakomentaja has joined #ocaml
MercurialAlchemi has joined #ocaml
gtrak has quit [Ping timeout: 260 seconds]
gtrak has joined #ocaml
exarkun has quit [Read error: Connection reset by peer]
hdon has joined #ocaml
rfv has quit [*.net *.split]
nore has quit [*.net *.split]
spion has quit [*.net *.split]
sonologico has quit [*.net *.split]
ianconnolly has quit [*.net *.split]
jmct has quit [*.net *.split]
hdon has joined #ocaml
hdon has quit [Changing host]
ianconnolly has joined #ocaml
sonologico has joined #ocaml
nore has joined #ocaml
jmct has joined #ocaml
rfv has joined #ocaml
spion_ has joined #ocaml
pierpal has quit [Ping timeout: 260 seconds]
octachron has quit [Ping timeout: 240 seconds]
octachron has joined #ocaml
exarkun has joined #ocaml
noitakomentaja has quit [Ping timeout: 255 seconds]
<keep_learning> I have made some progress, and I assume I need ocamlopt -a to generate library ftp://mirrors.ircam.fr/pub/planetccrma/man/man1/ocamlopt.1.html
mbuf has joined #ocaml
micro has joined #ocaml
muelleme has joined #ocaml
orbifx has joined #ocaml
muelleme has quit [Ping timeout: 268 seconds]
noitakomentaja has joined #ocaml
orbifx has quit [Ping timeout: 256 seconds]
cbot has quit [Quit: Leaving]
Fare has quit [Ping timeout: 268 seconds]
Haudegen has joined #ocaml
tarptaeya has joined #ocaml
muelleme has joined #ocaml
muelleme has quit [Ping timeout: 240 seconds]
Haudegen has quit [Remote host closed the connection]
Haudegen has joined #ocaml
hdon has quit [Ping timeout: 240 seconds]
govg has quit [Ping timeout: 264 seconds]
<keep_learning> Any build system expert. I am trying this for whole day and could not make it run :(
<Leonidas> keep_learning: unfortunately there is hardly anyone using OCaml to run on JVM, so that explains the lack of responses
<Leonidas> keep_learning: but you could try posting on the ocaml-discuss, because the author of ocamljava, xleclerc seems to frequent it
pierpal has joined #ocaml
argent_smith has joined #ocaml
<keep_learning> Leonidas Thank you.
Haudegen has quit [Remote host closed the connection]
Fare has joined #ocaml
<discord1> <loxs> My editor (spacemacs with merlin) displays the type of my modules like this: Parser__.Ast while I write this in my code and it works Parser.Ast. Does this have something to do with jbuilder's "wrapped true" or is it something else that's going on?
jimmyrcom_ has quit [Ping timeout: 260 seconds]
<discord1> <khady> yes it's linked to wrapped modules and module aliases
<discord1> <khady> please use Parser.Ast
<discord1> <loxs> thanks
pierpal has quit [Ping timeout: 268 seconds]
dhil has joined #ocaml
<Leonidas> hmm, this discord binding is sort-of bad, I wonder why they don't do it the matrix way
zolk3ri has joined #ocaml
mk9 has joined #ocaml
<flux[m]> harder to implement, requires access to an irc server or an agreement of basically unlimited number of connections
<Leonidas> flux[m]: I think Discord Inc. could come into an agreement with Freenode, by e.g. sponsoring a server or something.
Fare has quit [Ping timeout: 240 seconds]
<flux[m]> sounds like it would cost money, then.. :)
<Leonidas> and we all know web startups are only allowed to spend money on t-shirts and stickers :p
govg has joined #ocaml
freyr has joined #ocaml
mfp has joined #ocaml
<freyr> is there any iconv binding in opam?
<freyr> or anything with similar functionality
dhil has quit [Ping timeout: 256 seconds]
moolc has left #ocaml ["ERC (IRC client for Emacs 27.0.50)"]
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 256 seconds]
pierpal has joined #ocaml
dhil has joined #ocaml
mk9 has quit [Quit: mk9]
maker has joined #ocaml
muelleme has joined #ocaml
muelleme has quit [Ping timeout: 268 seconds]
mk9 has joined #ocaml
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
kakadu has joined #ocaml
mk9 has quit [Quit: mk9]
<freyr> Leonidas: yeah, that's it, thanks. Seems a bit abandoned though, but works.
gtrak has quit [Ping timeout: 265 seconds]
silver has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
govg has joined #ocaml
mk9 has joined #ocaml
<Leonidas> freyr: yes, looks like vbmithr picked it up from somewhere and does a little maintenance to not let it bitrot completely
jbrown has joined #ocaml
hdon has joined #ocaml
hdon has quit [Ping timeout: 248 seconds]
dhil has quit [Ping timeout: 264 seconds]
freusque has quit [Ping timeout: 256 seconds]
spew has joined #ocaml
mbuf has quit [Quit: Leaving]
_andre has joined #ocaml
arthur_rainbow has joined #ocaml
sh0t has joined #ocaml
<arthur_rainbow> Hi. I have a question; I fear that what I want to do is impossible in oCaml, but I'm not sure.
<arthur_rainbow> I have a signature in a file W.mli. And I want to create multiple module W1.ml W2.ml... In my Main, I want to use each W1,... Wn modules in a place where signature W is expected. Is it possible to do so ?
<arthur_rainbow> I have thought about using objects, but I have the same problem, how to have one class by file, and a single type/signature
<arthur_rainbow> (And I'm really not used to ocaml's object)
<Drup> It should be fine to do that in OCaml, what have you tried ?
<arthur_rainbow> Nothing yet, because I have no idea of how to do it
<arthur_rainbow> I don't know which syntax to use when the modules correspond to a whole file, and is not declared using the module syntax in a part of af ile
<Drup> do the Wn have some differences that you want to expose, like their main types, or do you really want to force them to exactly have the W signature ?
<steenuil> arthur_rainbow: do you want to use just one of them or all of them?
<arthur_rainbow> Exactly the same signature
<arthur_rainbow> I want to use all of them
<steenuil> maybe you should take a look at this want to use all of them
<steenuil> whoops, wrong clipboard
<Drup> no, no need for first class anything
<arthur_rainbow> I have a functor F, taking as argument of signature W. I want to apply F to each Wi
<Drup> arthur_rainbow: ah, that's different
<arthur_rainbow> Sorry, then I guess I was not clear
<Drup> arthur_rainbow: module typing in OCaml is structural
<freyr> arthur_rainbow: Just define a module type instead of mli
<Drup> so you don't have to say "Wn respect W" right from the start
<Drup> you can just apply the functor, and that's it.
<Drup> the typechecker will verify it
<steenuil> you can have a list of modules like `let ls : (module W) list = [(module W1); ...; (module (Wn)]`
<arthur_rainbow> In java, W would be an abstract class, Wi an implementation, and my functor a class with as template an element of type W. That's the main idea of what I want. I hope it is clearer
<arthur_rainbow> Drup: oh, I didn't know that
<arthur_rainbow> thanks, I'll give it a try
<Drup> arthur_rainbow: yeah, as I said, just write all the Wi.ml that you want, your functor, and apply it
<Drup> no need for any ceremony about interfaces and names
sh0t has quit [Remote host closed the connection]
<Drup> steenuil: first class modules are similar to an industrial grade laser cuter. It's a precision tool that is not suited if you simply need to bash a nail in. :p
<Drup> (they are also almost as easy to use)
sh0t has joined #ocaml
<Drup> (they are similar awesomely cool, though :D)
sh0t has quit [Remote host closed the connection]
<steenuil> yeah, I assumed this was just an experiment
gtrak has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
jbrown has quit [Ping timeout: 248 seconds]
pierpal has joined #ocaml
BitPuffin has joined #ocaml
MercurialAlchemi has quit [Ping timeout: 240 seconds]
freusque has joined #ocaml
noitakomentaja has quit [Ping timeout: 255 seconds]
pierpal has quit [Read error: Connection reset by peer]
<companion_cube> pmetzger[m]: just to say, I hope there are no google fonts in the new CSS
<discord1> <khady> otherwise chinese student won't be able to open the doc
<companion_cube> otherwise I will probably have a bad font too
dhil has joined #ocaml
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
igitoor has quit [Ping timeout: 256 seconds]
mk9 has quit [Quit: mk9]
igitoor has joined #ocaml
pierpal has quit [Ping timeout: 264 seconds]
igitoor has joined #ocaml
igitoor has quit [Changing host]
pierpal has joined #ocaml
mk9 has joined #ocaml
sh0t has joined #ocaml
noitakomentaja has joined #ocaml
<freyr> I want to call a C function and then read errno using Ctypes
<freyr> errno is thread local and I use -threads
<freyr> is it fine to read it or should I use some sort of critical section?
malina has quit [Ping timeout: 256 seconds]
al-damiri has joined #ocaml
noitakomentaja has quit [Ping timeout: 255 seconds]
mk9 has quit [Quit: mk9]
<discord1> <Perry> They can still open the doc.
<discord1> <Perry> There will be a fallback font.
<discord1> <Perry> The way the CSS is structured, if you can't get to google fonts (which isn't censored in China BTW, at least I don't think it is, it's a separate site), you fall back to system fonts.
pierpal has quit [Ping timeout: 256 seconds]
<discord1> <Perry> So here's a question: can hevea generate SVG arrows for the top and bottom of the manual pages? I posted a small hack to do it with Lambda Soup postprocessing but doing it in hevea itself is obviously cleaner.
<Drup> It's probably a 3-change line in Hevea's code base ...
<Drup> 3-lines change*
mk9 has joined #ocaml
<octachron> Drup, 6-lines: 3 in cut.mll for linking the arrow themselves and 3 in hacha.ml for copying the default files to the generated doc folder
<Drup> :3
freyr has quit [Remote host closed the connection]
<discord1> <Perry> So here's the thing, it's a three line change, but I don't know anything about hevea and hacha. It would first take me a while to figure out how to use them, and then take me a while to figure out what three lines to change. Working with someone who can do the change immediately is easier by a lot.
<companion_cube> I find it really sad that google succeeded in making themselves pervasive in fonts as well as spying^W analytics
<discord1> <Perry> companion_cube: They're not actually. If you want, you can just download those fonts.
<discord1> <Perry> It's just a CDN for open source fonts, but you can download them freely.
<companion_cube> doesn't the webpage point to google?
<discord1> <Perry> But it's faster to let them serve them because they have a good CDN. But we don't have to.
<discord1> <Perry> It points to google but it doesn't need to as such.
<companion_cube> but that's the issue, right? in theory you could point somewhere else, yet many pages use google fonts
<discord1> <Perry> The deal is that Google has a nice CDN for open source web fonts, and people tend to use it, but you can literally just download the woff files and serve them yourself if you prefer.
<discord1> <Perry> People use them because Google provides it as a nice free service. You get a CDN for something you don't have to burn bandwidth on yourself.
<discord1> <Perry> But if you object strongly we can serve them on our own.
<discord1> <Perry> There's totally no problem doing that other than speed.
<companion_cube> how big are these fonts‽
<discord1> <Perry> Not too big. But they're bigger than the pages they're on. That's one reason people prefer Google's CDN. Oh and repeating, if you view the pages locally without internet, you'll just get the fallback fonts which are supplied by the system.
<discord1> <Perry> You can still view the pages.
<discord1> <Perry> Let me find out how big they are, one second.
<companion_cube> on the web too, anyway, since I block google fonts by default (thanks umatrix)
<discord1> <Perry> Like the Fira Sans file is 54032 bytes.
<discord1> <Perry> Why block google fonts? It will make many pages look much less pretty, and they're not really harming you?
<zozozo> @Perry about offline access, I had a small pb with that recently where pages had a good 10~20s delay because of the query tiemout for fonts
<zozozo> when trying to serve pages locally without internet access
<discord1> <Perry> If your network is down why does it take 20s?
<discord1> <Perry> it should fall back instantly.
<discord1> <Perry> did you have your network up but not connected?
<companion_cube> I dislike any kind of pervasive tracking by google, thank you very much ;-)
<zozozo> well, strangely it didn't: tablets were connected to a local LAN by wifi, and a laptop served the website
<discord1> <Perry> if the tablets were connected to the LAN but the LAN couldn't get further it would have timed out.
<discord1> <Perry> slowly.
<discord1> <Perry> if you're on an airplane that won't happen.
<zozozo> yeah, that's waht happenned
<zozozo> and it was quite annoying
<discord1> <Perry> companion_cube: if you want, we can serve the fonts. It's not a big deal. It's just less efficient.
<companion_cube> 54kb, cached? it should be fine, right?
<discord1> <Perry> It should be, it's just not necessary. But I won't fight hard over it. If the consensus is that google is too evil to touch we can put Fira Sans and EB Garamond and Source Code Pro onto our own site.
<discord1> <Perry> They'll also be local for people who browse locally.
<discord1> <Perry> I don't think it's necessary but it also isn't horrible to do it.
<discord1> <Perry> Also, if we eventually put CloudFlare in front of the site, it will be even less of a big deal, and we probably should eventually.
<companion_cube> it's certainly not a consensus, it's just my own paranoia
<discord1> <Perry> BTW, companion_cube, note that I won't fight to put them locally, you will have to advocate for that, but I won't say "no, we mustn't do that" if people agree with you.
<discord1> <Perry> BTW, for what it's worth, the Racket people serve their own fonts, though they have added a few that Google doesn't have like "Cooper Hewitt"
jbrown has joined #ocaml
<discord1> <Perry> BTW, one can also do a hack with multiple URLs and sources.
<discord1> <Perry> For example, the Google css that gets served does:
<discord1> <Perry> @font-face { font-family: 'Fira Sans'; font-style: normal; font-weight: 400; src: local('Fira Sans Regular'), local('FiraSans-Regular'), url(https://fonts.gstatic.com/s/firasans/v8/va9E4kDNxMZdWfMOD5Vvl4jO.ttf) format('truetype'); }
<discord1> <Perry> That means it looks locally for the font first, then goes to a google static site to grab a .ttf file for it.
<discord1> <Perry> So you could load Fira Sans, EB Garamond and Source Code Pro onto your machine and then it would get them locally rather than remotely.
<companion_cube> sounds good
<companion_cube> especially since I already have fira installed, I think
<discord1> <Perry> So if that will do it for you, it eliminates a bunch of the problem.
<companion_cube> sure, anyway there should be a fallback font in the worst case
jimmyrcom_ has joined #ocaml
<companion_cube> the rest is mostly me, as a grumpy old man, ranting against the state of the web
<Drup> old, bwarf
<companion_cube> :D
<companion_cube> mentally old
jimmyrcom has joined #ocaml
<discord1> <Perry> I'm actually old (well, middle aged) and I pick what I complain about. 😃
<discord1> <Perry> Okay, so given that you can just load the fonts you're happy?
<companion_cube> yeah
<companion_cube> (for the record I think google is a true problem in general, but well)
<discord1> <Perry> I don't entirely disagree. I just prefer to pick my battles.
<companion_cube> I guess it's why you're on discord and I'm still on IRC ^^
<discord1> <Perry> Honestly I go back and forth. I was on IRC directly all of yesterday.
<discord1> <Perry> The one advantage I've found here is Discord shows me the history in the IRC channel and it lets me do markdown.
<discord1> <Perry> But if someone did an open and good chat system (Matrix doesn't really seem to be it, at least Riot is a hot mess), I'd probably prefer that over discord.
<companion_cube> sadly that would only lead to more fragmentation, I'm afraid :/
<discord1> <Perry> Well, what's nice about this setup is that we can chat back and forth pretty freely.
<discord1> <Perry> and it unifies the two groups so that there's only one OCaml chat channel.
<companion_cube> indded, that's nice
<discord1> <Perry> Anyway, is someone willing to help me do the arrow fix for the manual without a postprocessor? If it is left to me I'll use the postprocessor because it's trivial.
<discord1> <Perry> I get the impression there are Strong Opinions on this.
<Drup> honestly, from the IRC point of view, it looks really terrible
<Drup> It's more a bandaid than a solution
<discord1> <Perry> It can be made better.
<Armael> there's also xmpp :^)
<discord1> <Perry> I liked XMPP but it seems to have died.
<emias> Development on clients such as Conversations and ChatSecure and servers such as ejabberd and Prosody is still quite alive.
<emias> (... and also on the standard itself.)
<companion_cube> sadly there is no good plugin for weechat
<emias> True.
<emias> Poezio is nice as a command-line client, but I see how having multiple chat clients is meh.
<discord1> <Perry> People are using XMPP a lot. For example, WhatsApp is all XMPP internally.
<discord1> <Perry> But in terms of XMPP users, I used to have dozens of friends using XMPP and when the last one stopped I turned off my client.
<emias> Yeah it's niche of course. Like everything except WhatsApp/Slack.
<discord1> <Perry> So, I'll ask again: if people are really against using postprocessors, who is going to help me fix Hevea so it generates SVG arrows. I have a postprocessor that does it just fine. Is anyone so upset by this that they'll insist on helping? 😃
<Drup> doesn't octachron just said what you need to do above .. ?
<discord1> <Perry> In the abstract, sure. I don't know what to do concretely.
<discord1> <Perry> And if someone knows already, I don't want to spend hours on it when in five minutes I easily made Lambda Soup do it. But other people seem very offended by that. 😃
muelleme has joined #ocaml
<exarkun> Given `Some a` where `a` is a record with a field `b : Some 'b` can I do a single pattern match that gives me either None or the value of the field?
<arthur_rainbow> Hi, another question. I have this error message
<arthur_rainbow> I guess it should not be an error, since, when ?empty is ignored, both type are equal. How do I tell ocaml that ?empty should be ignored
<arthur_rainbow> but an expression was expected of type Format.formatter -> 'e -> unit
<arthur_rainbow> Error: This expression has type ?empty:'a -> 'b -> 'c -> 'd
<Drup> discord1: people are not offended by lambda soup, they don't want to add yet another thing to the documentation building pipeline
<discord1> <Bluddy> I messaged freenode about letting us have many connections for our bot. We'll see what they say.
<exarkun> like `| Some { Some b }`?
<discord1> <Perry> Drup: you mean "perry". And yah, I get that, but I also don't want to learn the insides of those tools. 😃
<Drup> I mean, come on, you are replacing 3 pictures
<Drup> you are not changing the code
<Drup> you don't need to learn anything about it, just replace pictures
<discord1> <Perry> @Bluddy so we'll be things like "perry[d]" on IRC?
<discord1> <Bluddy> Yeah if they're ok with it, and I can get the bot to do what I want.
<Drup> it would have been quicker to pick the code, grep it until you find the pictures, replace them and submit the patch that the time you spent complaining about it
<discord1> <Perry> Drup: How can I submit a patch? Hevea isn't in github etc.
<discord1> <Perry> I'm not even clear where it is maintained.
<Drup> Apparently, Luc maranget is the author, so I guess you send him the patch by email, KML style
<Drup> aren't you old school ? that should be fine with you :p
<discord1> <Perry> Right. And then when and if he has a new release my change might be in it. Meanwhile, it was a few lines of Lambda Soup and I was done. You see the issue. One way gives me more control etc.
<Drup> and make the life of all the subsequent maintaner strictly more painful
<discord1> <Perry> I mean, yes, in theory, if I had commit access to both, and there were regular releases, and I knew the code base...
muelleme has quit [Ping timeout: 268 seconds]
<discord1> <Perry> Given how complicated that build pipeline is this isn't very hard. I also have no idea if Luc Maranget will agree. I don't know him. Perhaps some of you do.
noitakomentaja has joined #ocaml
<Armael> ..I work in the same team
<Drup> His code is disguting, but he's nice
<Armael> yea
<Drup> You are making a really big fuss of this, and I don't understand why
<discord1> <Perry> Because I have very little time. I have a small child, I have another one on the way. I have a consulting business, and I am also a doctoral student. If things have too high a barrier to accomplishing them I'm not going to do them.
<discord1> <Perry> Does that explain it?
<discord1> <Perry> Things that take me 20 minutes to do are easy. Something I have to track over weeks while I get the maintainer of a piece of software that isn't in a public repo etc. to maybe fix, well, it starts getting less and less likely I have mental bandwidth for it. BTW, this is true for many people. The harder it is for them to fix something, the more likely they are to give up.
<Drup> So you offload it to the OCaml maintaners, who don't have more time than you do ;)
<Drup> Stop arguing, go hacking (and I'll do the same) :p
<Drup> arthur_rainbow: "foo ?empty:None"
<arthur_rainbow> Drup: thanks
<Drup> (or `fun x -> foo x`)
<discord1> <Perry> But I did hack. I hacked a nice little postprocessor yesterday and the day before in Lambda Soup. 😃
<discord1> <Perry> But I get that you think it isn't the cleanest solution.
pierpal has joined #ocaml
<octachron> Perry, people are legitimely complaining that the build process of the manual is complicated and far too many-layered
<octachron> (and also that it is using old tools and not the last-fancy document generators)
<octachron> adding one more layer strikes me as very problematic
jxv has joined #ocaml
<octachron> and I agree with gasche relying on the idea that someone at a later date will simplify the mess is not a sensible policy
<octachron> at least not when manpower is scarce
hdon has joined #ocaml
<discord1> <Perry> Okay, so if you help me by assisting me in doing it correctly (giving advice, helping me figure out the hevea code, helping me get the hevea maintainer to take it if he won't answer me, etc.) then I will try to do it.
<discord1> <Perry> Note that I'm doing the work, I just don't want to be doing it without resources to turn to if I get stuck.
<octachron> (I got a bit fancy and added a new option)
<discord1> <Perry> We probably don't want separate svg files. (The code to link to the URL will be 60% as long as the arrows themselves, which are only about 100 bytes.)
<discord1> <Perry> It makes more sense to inline them I think. (Or do you strongly prefer separate files?)
<octachron> and if you wait a bit, hevea's author is thinking about putting hevea on github or gitlab
<discord1> <Perry> Okay, that would be a big help. 😃
<discord1> <Perry> But honestly, your patch here looks Damn Good.
FreeBirdLjj has joined #ocaml
<discord1> <Perry> I suppose one big advantage of the separate .svg files is it would permit someone to edit them to their tastes. Having it hardcoded in hevea seems bad.
freusque has quit [Quit: WeeChat 2.0]
<exarkun> How do I resolve this identifier - `Chain_id.Table.create`? https://gitlab.com/tezos/tezos/blob/master/src/lib_shell/distributed_db.ml#L658
<discord1> <Perry> In fact, Octachron, simply substituting the SVG files here for the gifs from before is probably minimal and sufficient. I take it back about inlining them. That would be sweeter but it isn't as such necessary.
Haudegen has joined #ocaml
dedgrant has quit [Ping timeout: 264 seconds]
<discord1> <Perry> BTW, it would have taken me a long time to write this patch. I really know nothing about the code here. I'd have had to learn about the config module etc.
<discord1> <Perry> And I'm not even clear on what hacha is.
<discord1> <Perry> Thank you for doing this.
<discord1> <Perry> exarkun: what do you mean by "resolve this identifier"?
pmetzger has joined #ocaml
<exarkun> I mean where and how is that function defined
<discord1> <Perry> what are you using as an editor or IDE?
<discord1> <Perry> but of course, grepping for Chain_id will work. 😃
<exarkun> no it won't. I tried the obvious stuff already.
<exarkun> I found chain_id.ml and .mli but they don't include an obvious definition
<discord1> <Perry> chain_id.mli is the definition for anything in the chain_id module
<discord1> <Perry> Do you have a link to the file chain_id.mli I can look at?
hdon has quit [Changing host]
hdon has joined #ocaml
<exarkun> oops that's the ml but mli is right next to it
<exarkun> I guess
<exarkun> with a `module Table` that doesn't define create
<discord1> <Perry> but it includes Hashtbl
<discord1> <Perry> or rather Hashtbl.S
<discord1> <Perry> which probably is where it comes from.
<exarkun> Hm
<exarkun> I ... see
<exarkun> okay I guess I do see, thanks.
<discord1> <Perry> how are you studying ocaml? do you have a good reference for modules and functors and the like?
hdon has quit [Ping timeout: 260 seconds]
<exarkun> just reading random material google finds for me
<exarkun> I think Hashtbl being in the stdlib is where I got stuck there. I was following a bunch of references through this code itself, which doesn't use the stdlib much, and then I couldn't find hashtbl in this code and forgot to look in the stdlib too.
<discord1> <Perry> I think you might want to read the OCaml manual end to end, it will be helpful.
<discord1> <Perry> or Real World OCaml or the like.
<discord1> <Perry> It will make it easier/less frustrating.
<exarkun> thanks
FreeBirdLjj has quit [Remote host closed the connection]
<discord1> <Perry> Understanding how modules etc. work is key to understanding more sophisticated programs in the language. I think I probably need to re-read that stuff myself, I still don't get all the subtleties.
slash^ has joined #ocaml
jxv has left #ocaml ["string can snapped"]
dedgrant has joined #ocaml
Jesin has joined #ocaml
hdon has joined #ocaml
dhil has quit [Ping timeout: 264 seconds]
jnavila has joined #ocaml
_andre has quit [Ping timeout: 240 seconds]
_andre has joined #ocaml
Jesin has quit [Remote host closed the connection]
ChristopheT has joined #ocaml
jnavila has quit [Ping timeout: 240 seconds]
pyx has joined #ocaml
pyx has quit [Client Quit]
pierpal has quit [Ping timeout: 256 seconds]
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
ctrlsbstr has joined #ocaml
pierpal has joined #ocaml
arthur_rainbow has quit [Ping timeout: 276 seconds]
ChristopheT has left #ocaml ["ERC (IRC client for Emacs 25.2.2)"]
ygrek has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
jao has joined #ocaml
govg has quit [Ping timeout: 240 seconds]
<exarkun> where do I get 'a Lwt.t list -> 'a list Lwt.t ?
<discord1> <Perry> You mean a function that transforms the one to the other?
<exarkun> yes
<exarkun> (I think I just wrote it but it seems like something Lwt might have provided.)
kakadu has quit [Quit: Konversation terminated!]
<discord1> <Perry> The .mli files for Lwt will show you that pretty quickly.
<exarkun> certainly that's where I looked first
<discord1> <Perry> Unfortunately I know of no way to query for functions implementing types (the way that Coq will let you) but with Emacs and a few moments one should be able to find it.
<exarkun> and when I didn't find it, I asked here
<discord1> <Perry> I don't know Lwt well, but the Lwt maintainers read discuss.ocaml.org
<exarkun> ok, thanks
jao has quit [Remote host closed the connection]
jao has joined #ocaml
jnavila has joined #ocaml
pierpal has joined #ocaml
jnavila has quit [Ping timeout: 256 seconds]
pierpal has quit [Ping timeout: 256 seconds]
ratsch has quit [Quit: Leaving]
rostero has joined #ocaml
jnavila has joined #ocaml
jnavila has quit [Ping timeout: 240 seconds]
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Haudegen has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
noitakomentaja has quit [Ping timeout: 255 seconds]
pierpal has quit [Read error: Connection reset by peer]
jack5638 has quit [Ping timeout: 268 seconds]
pierpal has joined #ocaml
jack5638 has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
kakadu has joined #ocaml
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 240 seconds]
Haudegen has joined #ocaml
slash^ has quit [Read error: Connection reset by peer]
<exarkun> Can I make the ocaml runtime single threaded? With some compiler flag or something?
spew has quit []
pmetzger has quit [Remote host closed the connection]
jbrown has quit [Read error: Connection reset by peer]
BitPuffin has quit [Remote host closed the connection]
jnavila has joined #ocaml
pmetzger has joined #ocaml
<discord1> <Perry> What do you mean? It's already single tasking. There's a great deal of work being put in right now to allow multicore in fact.
muelleme has joined #ocaml
zolk3ri has quit [Quit: leaving]
jnavila has quit [Remote host closed the connection]
zolk3ri has joined #ocaml
kalio has quit [Ping timeout: 260 seconds]
kakadu has quit [Ping timeout: 240 seconds]
kakadu has joined #ocaml
muelleme has quit [Ping timeout: 240 seconds]
_andre has quit [Quit: leaving]
pmetzger has quit []
zolk3ri has quit [Ping timeout: 260 seconds]
zolk3ri has joined #ocaml
argent_smith has quit [Quit: Leaving.]
bartholin has quit [Ping timeout: 240 seconds]
bartholin has joined #ocaml
exarkun has quit [Read error: Connection reset by peer]
malina has joined #ocaml
arthur_rainbow has joined #ocaml
rostero has quit [Quit: Connection closed for inactivity]
exarkun has joined #ocaml
jimmyrcom_ has quit [Ping timeout: 276 seconds]
tarptaeya has quit [Quit: Konversation terminated!]
gtrak has quit [Ping timeout: 256 seconds]
zolk3ri has quit [Quit: Lost terminal]
jbrown has joined #ocaml
pierpa has joined #ocaml
pierpal has joined #ocaml
sh0t has quit [Remote host closed the connection]
zv has joined #ocaml
kalio has joined #ocaml
kakadu has quit [Remote host closed the connection]
mk9 has quit [Quit: mk9]
jimmyrcom_ has joined #ocaml
pmetzger has joined #ocaml
cbot has joined #ocaml
caltelt_ has joined #ocaml
cbot has quit [Quit: Leaving]
jimmyrcom_ has quit [Ping timeout: 256 seconds]
jimmyrcom_ has joined #ocaml
<steenuil> @Perry: since you seem to be concerned about the manual, I think I can get hevea to generate some better code that's easier to style
Haudegen has quit [Remote host closed the connection]
<steenuil> I started cleaning up the macros file for starters, but I wanted to ask octachron whether he had other plans for the manual so my efforts don't go to waste
<steenuil> I was a bit concerned when I saw a perl file in the manual/tools directory but it seems to have been superseded by an OCaml version