ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ctrlsbstr has joined #ocaml
ctrlsbstr has quit [Client Quit]
ChristopheT has quit [Ping timeout: 276 seconds]
ctrlsbstr has joined #ocaml
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 252 seconds]
spew has joined #ocaml
Guest69810 is now known as tsani
tsani is now known as Guest11839
clog has quit [Ping timeout: 260 seconds]
isd has quit [Ping timeout: 264 seconds]
FreeBirdLjj has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
jack5638 has quit [Ping timeout: 264 seconds]
keep_away is now known as keep_learning
tormen has joined #ocaml
tormen_ has quit [Ping timeout: 256 seconds]
jack5638 has joined #ocaml
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ctrlsbstr has joined #ocaml
sh0t has quit [Remote host closed the connection]
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
marxS has joined #ocaml
clog has joined #ocaml
letoh has quit [Ping timeout: 245 seconds]
spew has quit [Quit: Leaving]
jbrown has quit [Ping timeout: 245 seconds]
jbrown has joined #ocaml
JimmyRcom_ has quit [Ping timeout: 268 seconds]
mbuf has joined #ocaml
govg has joined #ocaml
tarptaeya has joined #ocaml
freusque has joined #ocaml
freusque has quit [Quit: WeeChat 2.0]
jaar has joined #ocaml
ChristopheT has joined #ocaml
Haudegen has joined #ocaml
argent_smith has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
marxS has quit [Remote host closed the connection]
freusque has joined #ocaml
pierpal has joined #ocaml
hdon has joined #ocaml
keep_learning has quit [Remote host closed the connection]
keep_learning has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
hdon has quit [Ping timeout: 256 seconds]
kakadu has joined #ocaml
mfp has joined #ocaml
kakadu has quit [Remote host closed the connection]
kakadu has joined #ocaml
zolk3ri has joined #ocaml
pierpal has joined #ocaml
mk9 has joined #ocaml
zolk3ri_ has joined #ocaml
hdon has joined #ocaml
rwmjones has joined #ocaml
zolk3ri has quit [*.net *.split]
loxs[m] has quit [*.net *.split]
bli[m] has quit [*.net *.split]
multiocracy[m] has quit [*.net *.split]
rgr[m] has quit [*.net *.split]
M-martinklepsch has quit [*.net *.split]
copy` has quit [*.net *.split]
reynir has quit [*.net *.split]
rwmjones|hols has quit [*.net *.split]
mk9 has quit [Quit: mk9]
reynir has joined #ocaml
bli[m] has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
rgr[m] has joined #ocaml
loxs[m] has joined #ocaml
multiocracy[m] has joined #ocaml
copy` has joined #ocaml
M-martinklepsch has joined #ocaml
pierpal has joined #ocaml
Haudegen has quit [Remote host closed the connection]
stux|RC-- has quit [Quit: Aloha!]
stux|RC has joined #ocaml
pierpal has quit [Ping timeout: 260 seconds]
shakalaka has quit [Ping timeout: 264 seconds]
shakalaka has joined #ocaml
ziyourenxiang has joined #ocaml
hdon has quit [Ping timeout: 248 seconds]
hdon has joined #ocaml
ChristopheT has left #ocaml ["ERC (IRC client for Emacs 25.2.2)"]
Haudegen has joined #ocaml
hdon has quit [Ping timeout: 240 seconds]
mbuf has quit [Remote host closed the connection]
mbuf has joined #ocaml
hdon has joined #ocaml
mbuf has quit [Quit: Leaving]
pierpal has joined #ocaml
pierpal has quit [Client Quit]
pierpal has joined #ocaml
hdon has quit [Ping timeout: 256 seconds]
hdon has joined #ocaml
<chindy>
I compile this file https://pastebin.com/KvYs49Ss with : ocamlbuild(and corebuild) -use-ocamlfind -package re2 -package core test.native and in both cases i got: Unbound value Re2.matches. Can anyone help ?
<chindy>
I can use Re2 in the repl with #require "re2"
pierpal has quit [Read error: Connection reset by peer]
shinnya has joined #ocaml
<octachron>
chindy, this looks like a version mismatch: there is no Re2 module in recent versions of re2
<chindy>
octachron: so i dont have to open it? and dont use Re2. as prefix?
<chindy>
ahh
<chindy>
its Re2.Std.Re2.matches
<chindy>
so open Re2.Std
reynir has quit [Ping timeout: 265 seconds]
<discord2>
<loxs> is there a "built-in" way to measure how much time has elapsed since program start? I mean, something that doesn't require me to propagate timestamp references through my whole stack, as I only want to use this for debugging.
<adrien>
make it a global variable :>
reynir has joined #ocaml
jaar has quit [Remote host closed the connection]
<steenuil>
let execution_start = Sys.time ()
<steenuil>
that should run at program start, no?
jaar has joined #ocaml
<discord2>
<Perry> Octachron? Can you help me writing the correct language for this PR?
<discord2>
<Perry> My goal is to convey that a character is not a unicode codepoint, which means to a new naive user of the language the name is unfortunate but it is what it is. I seem to be angering everyone with the language I've used, but one needs some way to say it that has what people would consider the "correct" phrasing.
<steenuil>
some systems used to call unicode characters "runes"
<discord2>
<Perry> Indeed, but that's not the text issue right now.
<discord2>
<Perry> (Generally, I think there is a problem that chars are neither fish nor fowl. They are not integers, and they are not codepoints in the modern character set. Generally I think in a strongly typed language they're now a bit of an anachronism.)
<discord2>
<Perry> mrvn: see that PR for the context, which is purely a documentation issue.
letoh has joined #ocaml
<discord2>
<Perry> Anyway, Octachron, help in figuring out a way to phrase "no, you can't assign '⊆' to an OCaml char even though you can assign the literal "⊆" to a string" would be valued. That's basically all I'm trying to convey and I'm at a loss for how to do it given that people are irritated with my old phrasing.
<mrvn>
I think the problem is that you are interpreting the source file as UTF-8. That does not mesh with char being byte.
<discord2>
<Perry> This is the case in many languages that started before Unicode. It's not unusual. It's just unfortunate.
<mrvn>
let foo = 'UFT-8 codepoint' only is a problem in UTF-8. In plain C locale it would be let foo = '<byte1><byte2><maybe byte3>'
spew has joined #ocaml
<discord2>
<Perry> mrvn: please let Octachron answer, I'm soliciting his help specifically, and you're not interpreting the situation correctly.
<discord2>
<Perry> I wouldn't mind an opinion from Drup or Steenuil either...
<octachron>
Perry, the problem is that char type is really a 8-bit integer, let c = '\210' works perfectly fine
<steenuil>
I guess the problem is more with the char literals than with the char type
<octachron>
Perry, and your documentation implicitely assume that unicode characters ought to be literals
<def`>
Yes, char really means byte. Uchar.t really is a codepoint, no?!
<octachron>
the problem is that unicode characters are not human-friendly
<mrvn>
octachron: yes, unicode characters are not (except ascii basically) ocaml chars.
<octachron>
sure on some charsets, there is a mapping from unicode character to a nice graphical glyph
<octachron>
but it is not a general rule, you should try to consider "let c = '🏿'" (dark skin tone modifier) or the right-to-left mark as examples
<octachron>
(or the regional code indicator symbol letters)
<octachron>
or maybe even better: let c = '한'
<octachron>
^ this is an hangeul decomposed into three jamos, but it maps to only one unicode character; and text renderers will display between 1 to 3 graphical glyphs
hdon has quit [Ping timeout: 256 seconds]
<mrvn>
octachron: that's a syntax error
<discord2>
<Perry> octachron: so anyway, I'm looking for language to put in the manual to indicate "please don't put things between single quote marks that aren't representable in a byte". That's all I'm trying to do. Language tweaks solicited. I fixed your other complaint by the way.
<mrvn>
What I fear is that "let c = '<0x80>'" will be interpreted as "let c = '<u0x8027>" by the editor.
<mrvn>
perry: Why not simply say byte?
Haudegen has quit [Read error: Connection reset by peer]
<discord2>
<Perry> Because it isn't a byte.
<discord2>
<Perry> OCaml is a strongly typed language.
<mrvn>
it's not an int but it is a byte
<discord2>
<Perry> "char" is often used in place of an int8 value, but it isn't an int8.
<discord2>
<Perry> And it isn't a "byte", a "byte" is a raw untyped thing.
<discord2>
<Perry> Anyway, Octachron, I'm interested in alternative phrasing.
<mrvn>
Using byte would also explain why the writable type is called Bytes
<octachron>
Perry, but the description of character literals already precise the right syntax
<discord2>
<Perry> Yes, but I just want to re-emphasize that '∂' is not a valid piece of syntax, since I'm explicitly mentioning that strings like "hello ∂" are valid.
<Enjolras>
But in ocaml, a char is just a byte, by legacy, unless i'm mistaken
<discord2>
<Perry> Otherwise beginners will get confused. Not everyone understands the history of this stuff. There are people who are now programming who were born long after Unicode was invented.
<discord2>
<Perry> a char is stored in a byte. It is not a byte, any more than an int is four bytes.
<Enjolras>
the string/bytes split was already painful enough but it didn't introduce any encoding specification ?
<discord2>
<Perry> OCaml is strongly typed.
<steenuil>
maybe it would be useful to replace the error that comes up when you write that
<steenuil>
error: character literal may only contain one codepoint: 'é'
<octachron>
Perry, this is another point of disagreement, the char/byte type is useful in itself; it is not an historical accident
<discord2>
<Perry> It is indeed useful in itself.
<discord2>
<Perry> No doubt about that.
<Enjolras>
also my understanding is that the uchar type was introduced to correct the fact that a char is a byte
<discord2>
<Perry> But the fact that you can't store a single arbitrary character in a "char" is a historical accident.
<discord2>
<Perry> I'm getting quite frustrated here. I'm not trying to fix loads of stuff. I'm trying to note a small important thing to the users, which is that '∂' is not a legal literal of type char.
<discord2>
<Perry> It is slightly redundant to mention it in this new section, but as this section covers what is and isn't valid input syntax for the language it seems useful to mention it.
<discord2>
<Perry> I'm going to try a rephrase and see how people feel.
<Drup>
I'm not sure why you are so alergic to saying char is a byte. :>
gtrak has joined #ocaml
<octachron>
Perry, I perfectly understand your frustration, but the point is that from the point of view that the type "char" is the 8-bit width integer type, which is a valid point of view, the idea that " let c = ' 山' " is valid sounds simply absurd
<discord2>
<Perry> Imagine you're an intro to CS student. You're getting your intro class in OCaml, which happens sometimes at Penn and other places. You don't know what a byte is, really. You don't know that it's useful to store random network buffers in arrays of char. You're still trying to figure out what is going on.
<discord2>
<Perry> You're not like us, you haven't been doing this stuff for 20 or 30 or 40 years.
<discord2>
<Perry> Anyway, I'm going to change the language and we'll see if people like the new language more.
<Drup>
people that are in intro to CS as no idea what the fuck encoding and utf8 and codepoints are either
<Drup>
actually, they have more chance of nowing what a byte is, because they had a course on C before
<Drup>
knowing*
<discord2>
<Perry> They haven't, actually.
<discord2>
<Perry> C isn't taught at Penn until you get to the first computer architecture class.
<discord2>
<Perry> Don't ask me why.
<Enjolras>
this is actually a good thing
<discord2>
<Perry> Anyway, I'm going to try to rephrase things to be less controversial.
gtrak has quit [Ping timeout: 240 seconds]
Armael has joined #ocaml
gtrak has joined #ocaml
<discord2>
<Perry> What's the right manual environment for a short example? caml_example?
<octachron>
Perry, for an inline example it would be "let x = f y", otherwise caml_example but you would need to add lex.etex to the list of files processed by caml-tex2
<discord2>
<Perry> I want it set in monospace. Quote marks on their own will do that here?
<discord2>
<Perry> Actually they can't since the example has quotemarks.
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
<octachron>
" " are translated to verbatim, so you should just need to escape '"' with '\"'
<discord2>
<Perry> so "let s = ""αβγδ""" will work? (Not sure I get the right syntax.)
<steenuil>
I think it's "let s = \"αβγδ\""
<discord2>
<Perry> How does it then know the αβγδ aren't outside the verbatim?
pierpal has joined #ocaml
<steenuil>
wait, do you not see the backslashes on discord?
<discord2>
<Perry> nope.
<discord2>
<Perry> gah.
<discord2>
<Perry> I think I need to get onto irc.
Exagone313 has quit [Ping timeout: 256 seconds]
pmetzger has joined #ocaml
<pmetzger>
okay, say it again. :)
<steenuil>
"let s = \"αβγδ\""
<pmetzger>
okay, that makes sense. Thank you. :)
<Drup>
String handling in web plateforms, 2018
<Drup>
Bluddy, do you have anything to say to defend yourself ? :p
<pmetzger>
plateforms is a lot funnier than platforms. :)
<steenuil>
I think that's just how discord treats backslashes normally
<Drup>
It's also frenchier :<
<steenuil>
yesterday I learned that you can type something like s/x/y and it will replace x with y in the line above
Exagone313 has joined #ocaml
<steenuil>
on discord, that is
pierpal has quit [Ping timeout: 260 seconds]
<pmetzger>
So I propose This text: “Note that non-ASCII characters are not legal in character literals. One can write "let str = \"αβγδ\"" but not "let c = \’γ\’”.”
<pmetzger>
Actually I don't need \ in front of '
<pmetzger>
but you get it.
<pmetzger>
Now LaTeX is complaining about the αβγδ :)
<Drup>
of course, it's latex, what did you expect ?
<pmetzger>
I thought someone had recently changed the manual to Unicode input. Some modern LaTeX variants handle it.
<pmetzger>
But since it can't, the question is, how to write my example in the manual itself.
FreeBirdLjj has joined #ocaml
<pmetzger>
I really thought we were now doing \usepackage[utf8]{inputenc}
<Drup>
don't you need xelatex for that ?
<octachron>
pmetzger, I said in the charset change that it was not enough to write any unicode without DeclareUnicodeCharacter
<discord2>
<mars0i> Sometimes Dune generates .cmi files, and sometimes it doesn't, but I don't understand why. (I wanted a cmi file to run cmitomli to have a starting version of an mli file to clean up.)
<pmetzger>
Ah, of course.
<pmetzger>
I'm going for something even simpler right now though.
<pmetzger>
Even _less_ controversial.
<pmetzger>
"(Note that non-ASCII characters are not legal in character literals.)"
<discord2>
<mars0i> jbuilder clean; jbuilder build @install no cmi files anywhere Then I added (preprocess (pps (ppx_deriving.std))) to the jbuild file (not because I needed ppx_deriving; just because I had it in another projects's jbuild file, and I had cmi files there. jbuilder clean; jbuilder build @install Now I have cmi files. But then I comment out the preprocess line and clean and build again, and now I have cmi files. ???
<octachron>
pmetzger, "Note" and parentheses seem quite redundant. I would drop one.
FreeBirdLjj has quit [Remote host closed the connection]
<pmetzger>
Fine. I'll drop the parens.
<pmetzger>
Octachron, check my current patch. Tell me what you think of the language now.
mk9 has joined #ocaml
shinnya has quit [Ping timeout: 260 seconds]
<octachron>
pmetzger, I like it, I think the attack surface of this version is much smaller.
<pmetzger>
I say very little. :)
<pmetzger>
Should I be checking source files for valid UTF-8 and warning?
<pmetzger>
back in a while.
pmetzger has quit [Remote host closed the connection]
<steenuil>
there's still some references to "latin1 OCaml character" in the Uchar module
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
pmetzger has quit [Remote host closed the connection]
pmetzger has joined #ocaml
moei has quit [Read error: Connection reset by peer]
pmetzger has quit [Remote host closed the connection]
moei has joined #ocaml
al-damiri has joined #ocaml
spew has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #ocaml
mk9 has quit [Quit: mk9]
al-damiri has quit [Ping timeout: 245 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
gtrak has quit [Ping timeout: 248 seconds]
al-damiri has joined #ocaml
pierpal has joined #ocaml
gtrak has joined #ocaml
hdon has joined #ocaml
spew has joined #ocaml
al-damiri has quit [Max SendQ exceeded]
al-damiri has joined #ocaml
hdon has quit [Ping timeout: 260 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #ocaml
jmiven has quit [Quit: co'o]
jmiven has joined #ocaml
isd has joined #ocaml
ziyourenxiang has quit [Ping timeout: 252 seconds]
jaar has quit [Quit: Leaving]
pierpal has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Remote host closed the connection]
spew has joined #ocaml
isd has quit [Remote host closed the connection]
spew has quit [Ping timeout: 240 seconds]
mk9 has joined #ocaml
jnavila has joined #ocaml
kakadu has quit [Quit: Konversation terminated!]
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
jnavila has quit [Ping timeout: 240 seconds]
mk9 has quit [Client Quit]
spew has joined #ocaml
hdon has joined #ocaml
tg has quit [Excess Flood]
tg has joined #ocaml
mk9 has joined #ocaml
hdon has quit [Ping timeout: 240 seconds]
<discord2>
<Perry> Steenuil: I can search much more systematically for fixes if the principle is accepted.
jnavila has joined #ocaml
spew has quit [Quit: Leaving]
<discord2>
<IwanKaramazow> To what extend is it possible to encode a red-black tree with gadts ensuring balance?
<lyxia>
to a pretty good extent
kakadu has joined #ocaml
<def`>
it is possible to encode red-black trees invariants completely.
<def`>
(it is not possible to prove your encoding is correct :))
<discord2>
<IwanKaramazow> ok, thx, let the experimenting begin.
isd has joined #ocaml
mk9 has quit [Quit: mk9]
mk9 has joined #ocaml
mk9 has quit [Client Quit]
mk9 has joined #ocaml
pierpal has quit [Ping timeout: 252 seconds]
pierpal has joined #ocaml
Anarchos has quit [Quit: Vision[0.10.2]: i've been blurred!]
mk9 has quit [Quit: mk9]
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
jnavila has quit [Remote host closed the connection]
silver has joined #ocaml
shinnya has joined #ocaml
_andre has quit [Quit: leaving]
<discord2>
<BokuBeam!> Hello all! I'm coming to Ocaml with some fp experience from Elm, and I'm wanting to start experimenting with low level graphics programming (I know this is a very difficult path). I'm particularly interested in Octachron's vulkan binding library, Olivine, but I'm having trouble figuring out how to use it. It's not on opam, so I'm assuming I just need to build it using dune/jbuilder from the source files on github? Would I be heading in the
<discord2>
right direction to try and understand dune/jbuilder to be able to use Olivine? I appreciate your help. 😃
infinity0 is now known as Guest25233
Guest25233 has quit [Killed (card.freenode.net (Nickname regained by services))]
infinity0 has joined #ocaml
<dogui>
I'm getting a stack overflow on a Pprintast.structure call, how can I debug this? I'm on OCaml 4.05
<mrvn>
compile with -g and use OCAMLRUNPARAM=+b
<dogui>
mrvn: thanks! Found the bit that's looping "parsing/pprintast.ml", line 173, characters 37-43, seems it's `paren`..
<dogui>
i'll dig some more
<mrvn>
make it tail recursive :)
<discord2>
<bobby> @BokuBeam!, if you're familiar with opam already, can you try getting olivine via opam pin add olivine https://github.com/Octachron/olivine.git
<mrvn>
two days is a bank holiday so it's three days and that's next month
<mrvn>
ups
<dogui>
mrvn: I can do that, but there's hundreds of calls and my file is pretty small.. something else might be iffy
<discord2>
<BokuBeam!> @bobby Yeah! That gives me the message that "olivine does not exist, create as a NEW package?". Maybe I've configured something incorrectly.
<discord2>
<bobby> unlikely, that just means that olivine is not on opam afaik, you can say yes to it
<discord2>
<BokuBeam!> ah, OK
<discord2>
<BokuBeam!> It looks like I'm missing some dependencies.
<discord2>
<BokuBeam!> I'm missing ppx-tools-versioned, but it can't be found either.
<discord2>
<bobby> I think you can try cloning the source, editing olivine.opam to change ppx-tools-versioned into ppx_tools_versioned and pin it from directory (opam pin add olivine <relative_path>)
<discord2>
<BokuBeam!> Ah, nice catch.
hdon has joined #ocaml
<discord2>
<bobby> if that doesn't work too, perhaps Octachron knows more about this
<discord2>
<BokuBeam!> I'm giving that a shot. It's still looking for the version with the dashes instead, so I'll troubleshoot that a bit and see what I can figure out. @bobby Thank you!
<discord2>
<bobby> oh, don't forget to commit the change locally
<discord2>
<BokuBeam!> Oh, right. I was using the command to pin it from github.
hdon has quit [Ping timeout: 260 seconds]
sz0 has joined #ocaml
<discord2>
<BokuBeam!> That moves me one step forward. I'm getting some syntax errors in the aster folder though, so maybe I'll just make an issue to ask Octachron to help.
<discord2>
<BokuBeam!> I appreciate your help, @bobby.
<discord2>
<bobby> No problem! Hope you'll get it working eventually
<octachron>
BokuBeam!, what is the syntax error on aster ?
<octachron>
BokuBeam!, I should have asked just for the file sorry. Indeed there is a 4.06 only syntax construct here
<discord2>
<BokuBeam!> Ah, sorry.
<discord2>
<BokuBeam!> aster/type.pp.ml line 28, characters 12-21
<discord2>
<BokuBeam!> Er, hold on.
<discord2>
<BokuBeam!> File "aster/record_extension.ml", line 28, characters 12-21 File "aster/type.ml", line 14, characters 33-34 File "aster/structured.ml", line 25, characters 45-46
bobshelline has joined #ocaml
<octachron>
BokuBeam!, thanks, but I don't need the fukk file lists. I will push a fix shortly
<discord2>
<BokuBeam!> Sorry, I misunderstood. Thank you!
tarptaeya has quit [Quit: Konversation terminated!]
bobshelline has quit [Client Quit]
argent_smith has quit [Quit: Leaving.]
larhat has quit [Quit: Leaving.]
jjmeyer0 has joined #ocaml
malina has joined #ocaml
kakadu has quit [Remote host closed the connection]
ziyourenxiang has joined #ocaml
JimmyRcom_ has joined #ocaml
jjmeyer0 has quit [Ping timeout: 240 seconds]
spew has joined #ocaml
sh0t has joined #ocaml
dtornabene has joined #ocaml
<discord2>
<octachron> @BokuBeam! , the build with 4.05 should be fixed. The library is not installable by itself yet. But doing make vkspec; make should work. And the example may run with make test-tesseract