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