companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 4.14.0 released: https://ocaml.org/releases/4.14.0.html | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
unyu has quit [*.net *.split]
hackinghorn has quit [*.net *.split]
thizanne has quit [*.net *.split]
mal`` has quit [*.net *.split]
theblatte has quit [*.net *.split]
Corbin has quit [*.net *.split]
hackingh- has joined #ocaml
unyu has joined #ocaml
thizanne has joined #ocaml
unyu is now known as Guest2187
Corbin has joined #ocaml
mal`` has joined #ocaml
theblatte has joined #ocaml
hackingh- is now known as hackinghorn
hackinghorn has quit [Changing host]
hackinghorn has joined #ocaml
QueerDOVengeance has quit [Ping timeout: 260 seconds]
zebrag has joined #ocaml
wingsorc__ has quit [Quit: Leaving]
Soni has joined #ocaml
dwt_ has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
zebrag has joined #ocaml
Guest2187 has quit [Changing host]
unyu has joined #ocaml
kaph has joined #ocaml
bobo has joined #ocaml
chrisz has quit [Ping timeout: 248 seconds]
spip has quit [Ping timeout: 272 seconds]
chrisz has joined #ocaml
vicfred has quit [Quit: Leaving]
vicfred has joined #ocaml
vicfred_ has joined #ocaml
vicfred has quit [Ping timeout: 246 seconds]
wyrd has quit [Quit: leaving]
gravicappa has joined #ocaml
rgrinberg has joined #ocaml
zebrag has quit [Quit: Konversation terminated!]
epony has quit [Ping timeout: 260 seconds]
wyrd has joined #ocaml
_whitelogger has joined #ocaml
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
octachron has joined #ocaml
JSharp has joined #ocaml
CodeBitCookie[m] has joined #ocaml
h11 has quit [*.net *.split]
companion_cube has quit [*.net *.split]
ocabot has quit [*.net *.split]
JosEduardo[m] has quit [*.net *.split]
mclovin has quit [*.net *.split]
caasih has quit [*.net *.split]
asm has quit [*.net *.split]
v0idpwn has quit [*.net *.split]
cbarrett has quit [*.net *.split]
Boarders_ has quit [*.net *.split]
greenbagels has quit [*.net *.split]
Putonlalla has quit [*.net *.split]
Cypi has quit [*.net *.split]
ns12 has quit [*.net *.split]
Cypi has joined #ocaml
asm has joined #ocaml
greenbagels has joined #ocaml
greenbagels has quit [Signing in (greenbagels)]
greenbagels has joined #ocaml
caasih has joined #ocaml
companion_cube has joined #ocaml
Putonlalla has joined #ocaml
cbarrett has joined #ocaml
v0idpwn has joined #ocaml
Boarders_ has joined #ocaml
h11 has joined #ocaml
mclovin has joined #ocaml
ocabot has joined #ocaml
JosEduardo[m] has joined #ocaml
ns12 has joined #ocaml
bartholin has joined #ocaml
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
mro has joined #ocaml
bartholin has quit [Quit: Leaving]
vicfred_ has quit [Quit: Leaving]
mro has quit [Remote host closed the connection]
mro has joined #ocaml
mro has quit [Remote host closed the connection]
<d_bot> <romachkuna> can someone please explaine what exactly the IN keyword does here? is there any difference beetween saying let somevalue = value IN ....?
dextaa has joined #ocaml
<d_bot> <cod1r> that is doing exactly as what you are comparing it to
<d_bot> <cod1r> they are defining a function aux that takes in one parameter and another one to match and using that IN "aux 0 list"
mro has joined #ocaml
<d_bot> <octachron> The `in` keyword doesn't do anything by itself. The syntactic construct is `let ... (* pattern *) = ... (* expr *) in ... (* expr2 *) `
gravicappa has quit [Ping timeout: 256 seconds]
Anarchos has joined #ocaml
Haudegen has joined #ocaml
mro has quit [Remote host closed the connection]
mbuf has joined #ocaml
mro has joined #ocaml
dextaa has quit [Remote host closed the connection]
azimut has quit [Remote host closed the connection]
azimut has joined #ocaml
mro has quit [Remote host closed the connection]
spip has joined #ocaml
bobo has quit [Ping timeout: 260 seconds]
olle has joined #ocaml
mro has joined #ocaml
jlrnick has joined #ocaml
mro has quit [Remote host closed the connection]
jlrnick has quit [Remote host closed the connection]
jlrnick has joined #ocaml
azimut_ has joined #ocaml
kakadu has joined #ocaml
gravicappa has joined #ocaml
azimut has quit [Ping timeout: 240 seconds]
mro has joined #ocaml
mro has quit [Ping timeout: 250 seconds]
mro has joined #ocaml
mro has quit [Client Quit]
jlrnick has quit [Ping timeout: 240 seconds]
m5zs7k has quit [Ping timeout: 272 seconds]
m5zs7k has joined #ocaml
waleee has quit [Ping timeout: 240 seconds]
<d_bot> <AZAH> Does anyone know a good repo with feasible "good first issue".
dextaa has joined #ocaml
kaph has quit [Ping timeout: 260 seconds]
<d_bot> <Bluddy> but it isn't up to date
infinity0 has joined #ocaml
Haudegen has quit [Read error: Connection reset by peer]
Haudegen has joined #ocaml
sagax has joined #ocaml
dextaa has quit [Quit: The Lounge - https://thelounge.chat]
dextaa has joined #ocaml
kaph has joined #ocaml
zebrag has joined #ocaml
kaph has quit [Ping timeout: 240 seconds]
spip has quit [Ping timeout: 240 seconds]
bobo has joined #ocaml
szkl has joined #ocaml
Putonlalla has quit [Ping timeout: 250 seconds]
Putonlalla has joined #ocaml
Johann has quit [Ping timeout: 250 seconds]
motherfsck has joined #ocaml
Johann has joined #ocaml
waleee has joined #ocaml
motherfsck has quit [Quit: quit]
motherfsck has joined #ocaml
neiluj has joined #ocaml
<neiluj> Hi! There's only one module in a package I'm using, and the module end with "include (Module1_impl : Module1_sig) ,which I suspect hides the new module that I just added in the same package. Is there a way to avoid that?
<octachron> Do you mean that you have added a submodule in `Module1_impl`?
<neiluj> No, a separate file with the same layout than the first one and ending with "include (Module2_impl : Module2_sig)" . Both modules are specified in the dune file: (modules Module1 Module2)
<octachron> Is Module1 also the name of the library?
<octachron> (in general compilation units cannot interfere with each other)
<neiluj> correct!
<octachron> Ah, then it is the entry point of the library. You need to export your module there with a `module Module2 = Module2` line
<neiluj> octachron, many thanks! it works!
kaph has joined #ocaml
cedric has joined #ocaml
dextaa has quit [Remote host closed the connection]
neiluj has quit [Quit: Leaving]
OCamlPro[m] has joined #ocaml
rgrinberg has joined #ocaml
Haudegen has quit [Ping timeout: 248 seconds]
dextaa has joined #ocaml
kor1 has joined #ocaml
mbuf has quit [Quit: Leaving]
cedric has quit [Quit: Konversation terminated!]
dextaa has quit [Remote host closed the connection]
dextaa has joined #ocaml
Haudegen has joined #ocaml
quartz has joined #ocaml
sagax has quit [Ping timeout: 250 seconds]
olle has quit [Ping timeout: 248 seconds]
Soni is now known as QueerDOVengeance
<quartz> Hello. Is anyone failiar with implementing a compiler in OCaml? Can anyone tell me what the stmts, stmt, fdecl statements do? These are on lines 75, 83, 89... https://bpa.st/PPFQ
Haudegen has quit [Ping timeout: 256 seconds]
Haudegen has joined #ocaml
<Corbin> quartz: This is code for a parser, specifically. Those statements you've highlighted are called "productions", and they correspond to parts of grammar.
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgrinberg has joined #ocaml
<quartz> Corbin: OK Thanks. I'm trying to get my compiler to recognize indentation, similiar to the python programming language. The code I just sent you does this, however, this is what I have: https://bpa.st/W3CA
<quartz> I only added the tokens on line 11 as you can see. I'm just wondering if all the other code where they mention "DEDENT INDENT" is necessary.
dextaa has quit [Remote host closed the connection]
Haudegen has quit [Read error: Connection reset by peer]
<quartz> I suppose that was a dumb question.
<quartz> Essentially, I want my programming language to recognize indentation, which currently it does not do. I added code at line 97 in my scanner to recognize indentation, but it still does not work: https://bpa.st/5OPA
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Haudegen has joined #ocaml
<Corbin> quartz: The INDENT/DEDENT technique is standard, and it's how Python's parsers have done it. I see that you've also borrowed Python's amazing tabs-and-spaces algorithm for computing the indentation.
<quartz> Corbin: The parser code is taken straight from the Python parser?
<Corbin> No, it's just the same algorithm. Or maybe it is borrowed code; I don't know.
<quartz> Fair enough. So statements like "program", "program_without_eof", "stmts", "stmt" "fdecl" are all grammar rules?
<quartz> Corbin: If so, than what is the difference between stmts, stmt and fdecl?
<d_bot> <nave01314> Is there any documentation for https://github.com/janestreet/async_rpc_kernel ? Struggling to find anything online
<d_bot> <nave01314> I found https://v3.ocaml.org/p/async_rpc_kernel/v0.13.0/doc/index.html, but it's more of an API reference than real docs
<quartz> Can anyone tell me what lines 117 through 147 do in this code? https://bpa.st/PPFQ
<quartz> Ahh BRB
quartz has quit [Quit: WeeChat 3.4]
azimut_ has quit [Remote host closed the connection]
azimut has joined #ocaml
rgrinberg has joined #ocaml
quartz has joined #ocaml
<quartz> Hi. Sorry to ask again, but can anyone tell me what lines 117 through 147 do in this code? https://bpa.st/PPFQ
sagax has joined #ocaml
rawley has joined #ocaml
<quartz> Corbin: You there bro?
<Corbin> quartz: Barely. I could guess that this is grammar for declaring classes of some sort, but I don't have any special insights.
<Anarchos> Corbin i wouls say the same
<quartz> Corbin: Ok. Thanks for your help earlier.
tomku has quit [Ping timeout: 256 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tomku has joined #ocaml
rgrinberg has joined #ocaml
rgrinberg has quit [Client Quit]
kaph has quit [Read error: Connection reset by peer]
kaph has joined #ocaml
<quartz> When I try to compile my OCaml code, I get the error: Line 35, syntax error: decls EOF { $1} from this code: https://bpa.st/FTQA and I can't understand why.
<quartz> I'm trying to implement the indentation feature from python into my parser.
olle has joined #ocaml
<Anarchos> quartz this is not ocaml code ! this a .mly file, containing a grammar to be used by ocamlyacc/menhir/... to generate a ml source code
<Anarchos> quartz and you missed the | in front of 'decls EOF'
<quartz> Anarchos: Wow
<quartz> Anarchos: Thanks for your help
quartz has quit [Quit: WeeChat 3.4]
<Anarchos> quartz easy to spot : you can't use two EOF in the same rule... doesn't make sense !
rgrinberg has joined #ocaml
<sleepydog> one menhir addition i miss in ocamlyacc is the ability to use quoted identifiers as token aliases. it's nice to refer to syntax-y bits like "(" and ")" instead of LPAREN and RPAREN etc
gravicappa has quit [Ping timeout: 240 seconds]
vicfred has joined #ocaml
<Anarchos> sleepydog in dypgen, you can use the real "(" to define the lexer inside the grammar...
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<sleepydog> that's pretty neat
Anarchos has quit [Quit: Vision[]: i've been blurred!]
rgrinberg has joined #ocaml
rawley has quit [Remote host closed the connection]
azimut has quit [Ping timeout: 240 seconds]
rgrinberg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
azimut has joined #ocaml
quartz has joined #ocaml
olle has quit [Ping timeout: 256 seconds]
dextaa has joined #ocaml
quartz has quit [Quit: WeeChat 3.4]
dextaa has quit [Remote host closed the connection]
xenu_ has joined #ocaml
<d_bot> <d4hines> I watched the Strange Loop talk about https://github.com/plasma-umass/coz and it was really interesting. Coz is a "causal profiler" for C and C++ programs. The idea (as I understand it) is two-fold:
<d_bot> <d4hines> - to instrument the code with macros to measure throughput and latency, as opposed to just raw execution time.
<d_bot> <d4hines> - to run many experiments that auto-magically slow down function calls to predict the effects of speeding up those functions.
<d_bot> <d4hines>
<d_bot> <d4hines> What is the state of the art for OCaml profiling, and is there anything similar to Coz? Would the Coz approach work?
xenu has quit [Ping timeout: 260 seconds]
xenu_ is now known as xenu
oriba has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
oriba has quit [Ping timeout: 250 seconds]
oriba has joined #ocaml
Haudegen has quit [Ping timeout: 240 seconds]
oriba has quit [Ping timeout: 248 seconds]
oriba has joined #ocaml