<caltelt_>
Just curious, was just reading the ocaml discourse topic on the discord group that was created. Are most people on both? Which is more active?
caltelt_ has quit [Ping timeout: 248 seconds]
cobreadmonster has joined #ocaml
<caltelt>
muesliLoops RWO uses Core for all of it's examples, so you might want to consider opening it when trying any examples they have
<on_ion>
link\
mfp_ has quit [Ping timeout: 255 seconds]
caltelt_ has joined #ocaml
shinnya has joined #ocaml
tarptaeya has quit [Quit: Konversation terminated!]
silver has quit [Read error: Connection reset by peer]
ax3141 has joined #ocaml
ax3141 has quit [Client Quit]
moolc has joined #ocaml
on_ion has quit [Read error: No route to host]
on_ion has joined #ocaml
FreeBirdLjj has joined #ocaml
Algebr has quit [Ping timeout: 268 seconds]
pierpa has joined #ocaml
cbot has joined #ocaml
FreeBirdLjj has quit [Remote host closed the connection]
kleimkuhler has joined #ocaml
leah2 has quit [Ping timeout: 255 seconds]
leah2 has joined #ocaml
csljq has joined #ocaml
caltelt_ has quit [Ping timeout: 260 seconds]
tormen has joined #ocaml
jbrown has quit [Ping timeout: 240 seconds]
tormen_ has quit [Ping timeout: 256 seconds]
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
csljq has quit [Remote host closed the connection]
cobreadmonster has quit [Quit: Connection closed for inactivity]
muelleme has quit [Ping timeout: 255 seconds]
orbifx has joined #ocaml
keep_learning has quit [Ping timeout: 256 seconds]
tarptaeya has joined #ocaml
orbifx has quit [Ping timeout: 255 seconds]
muelleme has joined #ocaml
kleimkuhler has quit [Quit: kleimkuhler]
noitakomentaja has joined #ocaml
muelleme has quit [Ping timeout: 240 seconds]
pierpal has joined #ocaml
Soni has quit [Ping timeout: 256 seconds]
Soni has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
pierpal has quit [Ping timeout: 276 seconds]
pierpal has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #ocaml
jaar has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
caltelt_ has quit [Ping timeout: 240 seconds]
<_xvilka_>
hi
<_xvilka_>
I am migrating to OCaml 4.06 with strong bytes/string distinction
<_xvilka_>
but sometimes I get this " (Invalid_argument "String.sub / Bytes.sub")
<_xvilka_>
any ideas why it might occur? statically types are matching, all compiled without any problem - why complaints during the runtime?
<zozozo>
_xvilka_: invalid argument for sub means that the indexes you gave are not correct and do not define a substring
<_xvilka_>
zozozo: ah, makes sense now
<_xvilka_>
zozozo: thank you
alicemaz has quit [Read error: Connection reset by peer]
alicemaz has joined #ocaml
Exagone313 has joined #ocaml
dhil has joined #ocaml
argent_smith has joined #ocaml
<reynir>
discord2: ping
<reynir>
I wrote something in #irc on discord, but it's not showing up here. Interesting...
mfp_ has joined #ocaml
<zozozo>
reynir: i think there is some non negligible time lag due to the bridge
<reynir>
oh that's awful. It's been 8 minutes now :o
<zozozo>
oh, that's quite long, I remembered about a 30s lag, :p
<zozozo>
reynir: do you see these messages on the discord #irc channel ?
<reynir>
Yes, they show up "instantly"
<zozozo>
oh, well that's a problem...
<reynir>
Did someone mute discord2 ? :D
<zozozo>
don't think so
<zozozo>
reynir: maybe ping Bluddy[m] ?
<reynir>
I pinged Bluddy[m] on discord about something unrelated, so I guess they will see my later messages too
<zozozo>
^^
rwmjones is now known as rwmjones|holiday
<reynir>
@reynir 🌳#1396 testing the bridge (sorry)
<reynir>
Oh man, I hope discord2 isn't going to flood the channel with a long backlog of messages :D
Haudegen has joined #ocaml
tarptaeya has quit [Ping timeout: 240 seconds]
tarptaeya has joined #ocaml
kakadu has joined #ocaml
GreyFaceNoSpace has quit [Ping timeout: 248 seconds]
freusque has joined #ocaml
zolk3ri has joined #ocaml
malina has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
<adrien>
I'm trying to use ocaml-websocket but the server doesn't start: it gets blocked in the following line of code
<adrien>
let%lwt server = Conduit_lwt_unix.endp_to_server ~ctx endp in
ctrlsbstr has joined #ocaml
<adrien>
ctx is the default conduit context and endp is ws://127.0.0.1:8081
<adrien>
any idea how to approach the issue?
<adrien>
alright, maybe this is because of the following
<adrien>
endp = (Unknown "unknown scheme")
<adrien>
I replaced ws:// with http:// and it starts now but I'm not sure that's what I wanted
<adrien>
vbmithr: I'm curious as to whether ocaml-websocket's wscat accepts URIs starting with ws:// and whether there are additional steps to handle for websockets from browsers (I'm under the impression I must handle the upgrade but the server only does ws and I had hoped I could avoid that step)
TarVanimelde has joined #ocaml
argent_smith1 has joined #ocaml
argent_smith2 has joined #ocaml
argent_smith has quit [Ping timeout: 240 seconds]
argent_smith has joined #ocaml
argent_smith1 has quit [Ping timeout: 256 seconds]
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
argent_smith2 has quit [Ping timeout: 256 seconds]
argent_smith1 has joined #ocaml
mk9 has joined #ocaml
mk9 has quit [Client Quit]
argent_smith has quit [Ping timeout: 265 seconds]
mk9 has joined #ocaml
pmetzger has joined #ocaml
<pmetzger>
test
<pmetzger>
looks like messages from IRC are going to Discord but not vice versa
ziyourenxiang has joined #ocaml
Bluddy has joined #ocaml
discord2 has quit [Remote host closed the connection]
discord1 has joined #ocaml
muesliLoops has joined #ocaml
andreypopp has quit [Quit: Connection closed for inactivity]
<discord1>
<Bluddy> test
<Bluddy>
test
<discord1>
<Bluddy> ok looks like we're back
<discord1>
<Bluddy> I think the discord downtime yesterday confused the bot
Bluddy has quit [Quit: Page closed]
argent_smith has joined #ocaml
<discord1>
<Perry> Might need to put some sort of failsafe into it.
<discord1>
<Perry> What's it written in, anyway? Is it in a repo somewhere?
argent_smith1 has quit [Ping timeout: 260 seconds]
fraya has joined #ocaml
zolk3ri has quit [Quit: Lost terminal]
Haudegen has quit [Remote host closed the connection]
zolk3ri has joined #ocaml
<pmetzger>
octachron?
TarVanimelde has quit [Quit: TarVanimelde]
dhil has quit [Ping timeout: 264 seconds]
dhil has joined #ocaml
<octachron>
pmetzger, yes?
mk9 has quit [Quit: mk9]
<pmetzger>
Ah, I was just wondering if you were going to be around for questions during the docjam. I'm going to be hacking on the main manual and you seem to have been a really useful source of information.
<pmetzger>
Esp. on hevea stuff. :(
mk9 has joined #ocaml
mk9 has quit [Client Quit]
<octachron>
pmetzger, I should be around for most of the docjam
<Drup>
I'm still not sure what to work on x)
<Drup>
do you guys have propositions ? :p
<pmetzger>
Drup: sedlex could use better docs. There's a need to move a lot of stuff out of the "Extensions" section of the main manual into reasonable places. There's a bunch of places where things are rough in the standard library.
<pmetzger>
I'm thinking of working on some crude PPX docs just to mention what it is somewhere in the main manual, but help making that not crude would be cool.
<Drup>
honestely, I'm not motivated to work on that, since I'm already not sure what we should do with the library
<Drup>
I can help on ppx things
<pmetzger>
Not motivated to work on sedlex you mean?
<Drup>
yeah
<pmetzger>
I feel like sedlex needs a total overhaul, yah.
<pmetzger>
So on the PPX stuff, my feeling is we should at least have enough in the main manual to say what PPX is and does, that it hooks in to a couple of pieces of the main grammar where extension points are possible, etc.
mk9 has quit [Client Quit]
<pmetzger>
Right now the content is basically zero, so getting it to the point where someone reading the manual would be aware of the existence of PPX and be able to google for appropriate resoruces would be a significant improvement.
<Drup>
Yeah
<pmetzger>
(I think as it stands, all we have for PPX is the mention in "extensions" of the extension points in the grammar and that is it.)
<Drup>
the sort-of-issue is that most of the tools needed to actually write ppxs are in userland
dhil has quit [Ping timeout: 240 seconds]
<pmetzger>
Sure, but we don't have to say more than that they exist.
<pmetzger>
Or at least, at this point we don't. Having a real document that covers how to write a modern PPX would also be good though it might not be part of the main manual.
<Drup>
The core team is (understandly) cheely at the idea of mentionning external tools in the manual
<Drup>
external tools change much faster than the manual does
<pmetzger>
Right. So we could just say such things exist.
<pmetzger>
Without saying what they are.
<Drup>
(chilly* ?)
spew has joined #ocaml
pierpal has joined #ocaml
argent_smith1 has joined #ocaml
<pmetzger>
Chilly seems like the right word.
<pmetzger>
So maybe two parts:
mk9 has joined #ocaml
<pmetzger>
1. Some language in the manual that just says it exists. 2. A nice "Writing PPX Extensions" document that will need to be kept updated as practices change.
<Drup>
Yeah
<Drup>
I would put part 2 in ocaml.org, really
argent_smith has quit [Ping timeout: 260 seconds]
Haudegen has joined #ocaml
<pmetzger>
We can start by writing it in OCamlverse and just committing stuff willy-nilly and then move it to ocaml.org at the end of the weekend. Sound good? Alternatively you can set up a github repo just for this and give me commit privs too.
<Drup>
pmetzger: start on your own, come up with a plan, I'll join later :p
<Drup>
(well, I'll comment, but I won't work on it until at least tomorrow)
mk9 has quit [Quit: mk9]
<pmetzger>
Sounds reasonable. Your github handle is also drup, right? I'll add you to the OCamlverse team.
Bronsa has joined #ocaml
<Drup>
I'm Drup everywhere
FreeBirdLjj has joined #ocaml
noitakomentaja has quit [Ping timeout: 255 seconds]
shinnya has joined #ocaml
FreeBirdLjj has quit [Ping timeout: 256 seconds]
<pmetzger>
You've been added.
pierpal has quit [Read error: Connection reset by peer]
<adrien>
vbmithr: forgot to tell you that I solved my issues but the upgrade part is not very pleasant
fraya has quit [Remote host closed the connection]
<adrien>
I'm deploying stuff behind an nginx reverse proxy and I'm developping without it (because I don't need to pass everything through ports 80 and 443), meaning that in some cases the upgrade is done by the ocaml code and in the other case by nginx ='(
<adrien>
nothing that ocaml-websocket can fix though
<adrien>
(since it's not an ocaml-websocket issue)
pierpal has quit [Read error: Connection reset by peer]
gtrak has joined #ocaml
<discord1>
<Perry> Okay, I'm trying to write the PPX stuff, and I've just realized I really don't understand the full extent of the attribute and extension node grammar. The existing manual doesn't explain it well and the grammar itself is difficult to read (though of course I can probably figure it out from the grammar since it is canonical.)
sh0t has joined #ocaml
<octachron>
Perry, if you have specific questions, I have quite a bit of this part of the grammar in live memory right now
<discord1>
<Perry> I'm looking for a complete spectrum of examples I suppose, since I'd like to present all the forms that attributes and extension nodes can take.
<discord1>
<Perry> If you know of something online that has a good set?
kakadu has left #ocaml ["Konversation terminated!"]
kakadu has joined #ocaml
<Drup>
You looked at the file parsetree.mli, I presume ?
<Drup>
but in essence, it's fairly straighforward, [%foo <expr>], [%foo <structure>] [%foo? <pattern>] [%foo: <signature] [%foo: <type>]
mk9 has joined #ocaml
<Drup>
and then, kwd%foo ... is a shortcut for [%foo kwd ...]
<pmetzger>
By the way, https://github.com/joeyespo/grip turns out to be quite useful, FYI. It pre-renders a github flavored markdown file. even has a little web server and pushes updates to the page whenever the .md file gets changed.
pierpal has joined #ocaml
<tmeyer>
pmetzger, thanks for sharing that grip tool, never seen that before
alfasardine has joined #ocaml
jimmyrcom_ has joined #ocaml
jimmyrcom_ has quit [Max SendQ exceeded]
cslqj has joined #ocaml
FreeBirdLjj has joined #ocaml
jimmyrcom_ has joined #ocaml
dhil has quit [Ping timeout: 248 seconds]
unyu has quit [Quit: Reboot.]
malina has quit [Quit: Throwing apples of Montserrat]
dhil has joined #ocaml
noitakomentaja has quit [Ping timeout: 255 seconds]
jbrown has joined #ocaml
alfasardine has quit [Quit: Leaving]
unyu has joined #ocaml
<Drup>
pmetzger: the whole thing is designed so that the rules are quite consistent
<Drup>
You can put things everywhere you expect you should be able too. One @/% is for expressions, two @@/%% is for structures. Arguably, @@@, which is "annotation on the parrent structure, is a bit more irregular
<pmetzger>
That last rule, one is for expressions, two is for structures, three is for annotation, I never heard that before.
<Drup>
Really ? Pretty sure that's in the documentation
<Drup>
Ah, it is, but in a deliciously obfuscated and very "ocaml manual" way
<Drup>
But yes, that's the rule, one for expression, two for structures, three for floating annotations, and always one for the shortcut version on keywords
<pmetzger>
Drup: there's your first thing to fix. Get that explained in a way that isn't obfuscated. :)
<Drup>
pmetzger: your version of the manual will replace all the stuff in the langage extension section, right ?
<pmetzger>
Long term, I want to move the things in the extension section out to where they belong in the main manual.
<pmetzger>
When we get to this, I can't say. today I'm writing PPX explanations. :)
<Drup>
that's not part of the ppx explanations ?
<pmetzger>
The "extensions" section of the manual includes loads of stuff. Like for example, the bigarray syntax should probably be explained in the main part of the manual along with a bigarray tutorial, and not in "extensions".
<Drup>
ahah, yeah
<pmetzger>
(Chapter 8 has loads of non-PPX stuff like that.)
<pmetzger>
GADTs, local exceptions, extended documentation comments, and so on.
<pmetzger>
26 subsections, and probably 20 of them should be integrated elsewhere.
<Drup>
for ppx grammar, the testsuite might also be helpful:
<pmetzger>
Anyway, right now I'm writing something _very_ primitive.
<pmetzger>
I'm literally just trying to write a basic explanation of what the things are.
<Drup>
Just get started and figure a basic plan, they ask people to extend that
<Drup>
it's easier to extend something that exists than to start
<pmetzger>
Precisely.
<pmetzger>
I'm not thinking about the main manual at the moment. For what I'm writing today, I'm using some examples. the first one I picked was "deriving show".
<pmetzger>
That's a fairly obvious annotation PPX, takes a type and generates something.
<pmetzger>
What's a reasonable example of a very different kind? Sedlex is an obvious one to me but is there something else that comes to mind that similarly changes what the syntax means?
<pmetzger>
(rather than saying "please generate some code for me")
<Armael>
the lwt ppx maybe?
<Armael>
its quite commonly used I think
<pmetzger>
That's a common one, yah. Any other examples?
<Drup>
yeah, the lwt ppx is probably a decent idea, the main concept is quite simple
<Drup>
(the jsoo one too, I guess)
<pmetzger>
I don't know the jsoo one, I'll google for it.
<pmetzger>
Is it fair to say that ppxlib is now _the_ preferred toolset for writing PPXes?
cslqj has quit [Ping timeout: 256 seconds]
<steenuil>
didn't somebody here say that it would be if it were properly documented some time ago?
cslqj has joined #ocaml
jnavila has quit [Ping timeout: 255 seconds]
FreeBirdLjj has quit [Remote host closed the connection]
StrykerKKD has joined #ocaml
<pmetzger>
On the Textmate thing, if that is indeed what it uses (I'm surprised it doesn't use pygments or something), someone who understands that format should be induced to get it updated.
ChristopheT has joined #ocaml
Haudegen has joined #ocaml
<Drup>
steenuil: octachron said that, and I agree
<Drup>
It's the right way forward, at least
dhil has quit [Ping timeout: 260 seconds]
dhil has joined #ocaml
<pmetzger>
Perhaps working on the documentation for it might be something someone might want to do this weekend.
<pmetzger>
I've improved the ppx.md file a bit. It's still pretty skeletal of course.
cobreadmonster has joined #ocaml
pierpal has quit [Quit: Poof]
pierpal has joined #ocaml
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
cslqj has quit [Remote host closed the connection]
shinnya has quit [Ping timeout: 264 seconds]
orbifx has joined #ocaml
jnavila has joined #ocaml
tarptaeya has quit [Quit: Konversation terminated!]
<discord1>
<Perry> So anyone else DocJamming?
orbifx has quit [Ping timeout: 260 seconds]
ctrlsbstr has joined #ocaml
jack5638 has quit [Ping timeout: 264 seconds]
ctrlsbstr has quit [Client Quit]
ctrlsbstr has joined #ocaml
muelleme has quit [Ping timeout: 260 seconds]
jack5638 has joined #ocaml
orbifx has joined #ocaml
pierpal has quit [Quit: Poof]
tarptaeya has joined #ocaml
pierpal has joined #ocaml
kakadu_ has joined #ocaml
pierpal has quit [Read error: Connection reset by peer]
<octachron>
Perry, not right now; but I am planning to do a de-extension session on the manual tomorrow.
pierpal has joined #ocaml
<discord1>
<Perry> If you want assistance let me know.
<discord1>
<Perry> (If it's to reverse extension, is it contraction?)
ctrlsbstr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<octachron>
Perry, I mean picking a section of the language extension chapter and them moving the grammar part to the language reference chapter and the example part to the tutorial and expand this part if needed