Leonidas changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.1.1 released: https://ocaml.org/releases/5.1.1 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
masterbuilder has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
szkl has joined #ocaml
pi3ce has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
pi3ce has joined #ocaml
rgrinberg has joined #ocaml
jabuxas has quit [Ping timeout: 240 seconds]
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dylanj has quit [Ping timeout: 256 seconds]
Tuplanolla has quit [Quit: Leaving.]
waleee has quit [Ping timeout: 264 seconds]
dylanj has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<discocaml> <leostera> anyone's got a snippet around for applicative functors for building up a function type BUT written in a way that you can manually step through the chaining?
<discocaml> <leostera> i figured i'd ask before bashing my head against this for a bit but my gut tells me i'll want to model it as composition with a gadt
<discocaml> <leostera> i got the basic `app : ('a -> 'b) t -> 'a -> 'b t` but building this by means of functions alone means i end up with a single opaque function that i can't manually step
<discocaml> <leostera> and i want to be able to decide _how_ the stepping will happen at a later stage
azimut has quit [Ping timeout: 255 seconds]
dreadedfrog has joined #ocaml
dreadedfrog has quit [Remote host closed the connection]
czy` has quit [Remote host closed the connection]
<discocaml> <functionalprogramming> what does manually stepping mean
bartholin has joined #ocaml
<discocaml> <octachron> The GADT option would be simpler to prototype, but you could also have a function `step: 'b t -> bool` that does one step
bibi_ has quit [Quit: Konversation terminated!]
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
torretto has quit [Remote host closed the connection]
jusensei2 has joined #ocaml
torretto has joined #ocaml
Ella6 has joined #ocaml
Ella has quit [Ping timeout: 255 seconds]
<discocaml> <wokalski> Is there a way to detect if a server closed a TCP connection with eio?
chrisz has joined #ocaml
gentauro has quit [Read error: Connection reset by peer]
gentauro has joined #ocaml
azimut has joined #ocaml
torretto has quit [Ping timeout: 255 seconds]
torretto has joined #ocaml
azimut has quit [Remote host closed the connection]
Serpent7776 has joined #ocaml
azimut has joined #ocaml
Tuplanolla has joined #ocaml
jabuxas has joined #ocaml
torretto has quit [Ping timeout: 255 seconds]
torretto has joined #ocaml
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
waleee has joined #ocaml
<discocaml> <leostera> thanks @octachron
<discocaml> <leostera> i’ll try prototyping the gadt but something tells me this is gonna be awkward
<discocaml> <leostera> in short every step is used to direct a deserializer and produce a value that will be passed as an argument to the final function
<discocaml> <leostera> the last step then pops off the value that you were constructing (so it finishes the call chain)
<discocaml> <octachron> This sounds very straightforward to do with a GADT. But with your description doesn't require control over steps.
szkl has joined #ocaml
average has joined #ocaml
Serpent7776 has quit [Ping timeout: 276 seconds]
azimut has quit [Ping timeout: 255 seconds]
<discocaml> <leostera> that control appears when the the deserializer format needs to make decisions based on how many things to deserialize, or what to do between elements
torretto has quit [Ping timeout: 255 seconds]
torretto has joined #ocaml
torretto has quit [Remote host closed the connection]
torretto has joined #ocaml
dnh has joined #ocaml
dnh has quit [Ping timeout: 240 seconds]
waleee has quit [Ping timeout: 246 seconds]
Serpent7776 has joined #ocaml
dnh has joined #ocaml
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tremon has joined #ocaml
Serpent7776 has quit [Ping timeout: 256 seconds]
alexherbo2 has joined #ocaml
dnh has joined #ocaml
bibi_ has joined #ocaml
bibi_ has quit [Quit: Konversation terminated!]
alexherbo2 has quit [Ping timeout: 250 seconds]
bibi_ has joined #ocaml
alexherbo2 has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #ocaml
waleee has joined #ocaml
average has quit [Quit: Connection closed for inactivity]
dreadedfrog has joined #ocaml
azimut has joined #ocaml
dreadedfrog has quit [Remote host closed the connection]
olle has joined #ocaml
Serpent7776 has joined #ocaml
tomku has quit [Ping timeout: 252 seconds]
rgrinberg has joined #ocaml
tomku has joined #ocaml
dnaq has quit [Remote host closed the connection]
dnaq has joined #ocaml
mro has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mro has quit [Ping timeout: 276 seconds]
rgrinberg has joined #ocaml
rgrinberg has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
wingsorc has joined #ocaml
<discocaml> <barconstruction> I use a lot of Python at work and recently I started searching to see if people had used OCaml successfully in an ergonomic way for scripting tasks. I found a blog post by Yaron Minsky basically saying this is feasible if you compile custom toplevels with a bunch of libraries baked into them so that they're available immediately. Then I stumbled across a post in the C subreddit where somebody was like "I can use C as a scripting langua
<discocaml> <barconstruction> Felt like this C programmer was sent to remind me that you cannot trust programmers to be neutral about this stuff haha
mi6x3m has joined #ocaml
<mi6x3m> hey, can anyone tell me if it's normal that OCaml 5.0+ produces no .a library for bytecode only ocamlmklib
<mi6x3m> I am building a project and when I use ocamlmklib with .cmo and .o files it produces a .cma but no static library any more
<mi6x3m> from what I read it should give both?
<discocaml> <barconstruction> > it gives the same "feel" as if using a language like Python, Perl, Awk, etc.
dnh has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
masterbuilder has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
a51 has quit [Quit: WeeChat 4.2.1]
a51 has joined #ocaml
mi6x3m has quit [Ping timeout: 256 seconds]
Serpent7776 has quit [Ping timeout: 260 seconds]
bartholin has quit [Quit: Leaving]
<discocaml> <functionalprogramming> lmao
<discocaml> <druimalban> They've presumably never heard of csh