snowpanda has quit [Remote host closed the connection]
snowpanda has joined #ocaml
snowpanda has quit [Remote host closed the connection]
kleisli has quit [Ping timeout: 256 seconds]
snowpanda has joined #ocaml
cantstanya has quit [Remote host closed the connection]
cantstanya has joined #ocaml
Haudegen has joined #ocaml
ggole has joined #ocaml
malc_` has joined #ocaml
malc_` has quit [Remote host closed the connection]
malc_ has joined #ocaml
govg has joined #ocaml
lobo has quit [Quit: WeeChat 2.3]
lobo has joined #ocaml
snowpanda has quit [Remote host closed the connection]
ollehar has quit [Ping timeout: 260 seconds]
ollehar has joined #ocaml
henrik`` has joined #ocaml
robmyers has quit [Quit: Connection closed for inactivity]
olle has joined #ocaml
sarna has joined #ocaml
sarna has left #ocaml [#ocaml]
luna_is_here has joined #ocaml
<flux>
though it's very impractical in practice :)
kleisli has joined #ocaml
bartholin has quit [Quit: Leaving]
<olle>
what about freezing as an alternative to immutability?
andreas303 has quit [Remote host closed the connection]
andreas303 has joined #ocaml
<olle>
maybe makes no sense in a language where almost everything already is immutable
infinity0 has quit [Remote host closed the connection]
<flux>
how would the freezing work?
<flux>
you need support for immutable data anyway, and you need to make a copy of the data or dynamically prevent freezed data from being mutated?
<olle>
flux: no, freezing can happen without a copy if you do it on type-level
<flux>
so freezing would then need to be part of the type system
<flux>
for example: `let foo a = freeze a` wouldn't work otherwise?
<flux>
sometimes it would be nice if I were able to transform a record into a variant that has optionals and mutable fields eliminated. this I guess is very feasible with ppx.
<flux>
variant was a bad word, I didn't mean the language feature :)
<flux>
basically go from `type t' = { a : string option ref }` to `type t = { a : string }` with the obvious checking required and high-quality error data :)
<flux>
in particular it would be useful when processing options. though the Cmdliner-module handles that particular problem for command-line arguments.
infinity0 has joined #ocaml
<olle>
flux: well, going from option to not-option would require some standard value stuff
<olle>
but yeah, guess a ppx could do that
<flux>
it would only require a way to dynamically signal missing values
<flux>
in most user-facing applications those would be converted to error messages, missing parameter X etc, or similarly in protocol contexts
<olle>
ah
<olle>
yeah, `freeze val` and get None back :D
oturtle_ has joined #ocaml
oturtle_ has quit [Client Quit]
oturtle has joined #ocaml
oturtle has quit [Client Quit]
oturtle has joined #ocaml
bartholin has joined #ocaml
nullcone has quit [Quit: Connection closed for inactivity]
malc_ has quit [Ping timeout: 240 seconds]
Anarchos has joined #ocaml
brown121407 has quit [Remote host closed the connection]
Haudegen has quit [Quit: Bin weg.]
Anarchos has quit [Quit: Vision[0.10.3]: i've been blurred!]
malc_ has joined #ocaml
muskan has joined #ocaml
_whitelogger has joined #ocaml
luna_is_here_ has joined #ocaml
luna_is_here has quit [Ping timeout: 240 seconds]
oturtle has quit [*.net *.split]
infinity0 has quit [*.net *.split]
wildsebastian has quit [*.net *.split]
sadiq_ has quit [*.net *.split]
penguwin has quit [*.net *.split]
robi has quit [*.net *.split]
p4bl0 has quit [*.net *.split]
engil has quit [*.net *.split]
johnel has quit [*.net *.split]
oturtle has joined #ocaml
infinity0 has joined #ocaml
robi has joined #ocaml
penguwin has joined #ocaml
johnel has joined #ocaml
engil has joined #ocaml
sadiq_ has joined #ocaml
wildsebastian has joined #ocaml
p4bl0 has joined #ocaml
muskan has quit [Ping timeout: 245 seconds]
Haudegen has joined #ocaml
dckc has quit [Ping timeout: 246 seconds]
ziman has quit [Ping timeout: 246 seconds]
dckc has joined #ocaml
zebrag has joined #ocaml
ziman has joined #ocaml
kleisli has quit [Ping timeout: 260 seconds]
osa1 has quit [Ping timeout: 264 seconds]
porchetta has quit [Ping timeout: 246 seconds]
oturtle has quit [Ping timeout: 272 seconds]
oturtle has joined #ocaml
porchetta has joined #ocaml
luna_is_here_ has quit [Ping timeout: 246 seconds]
luna_is_here_ has joined #ocaml
h14u has joined #ocaml
brown121407 has joined #ocaml
webshinra has quit [Remote host closed the connection]
olle has quit [Ping timeout: 240 seconds]
muskan has joined #ocaml
narimiran has quit [Ping timeout: 256 seconds]
osa1 has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
nullcone has joined #ocaml
waleee-cl has joined #ocaml
robmyers has joined #ocaml
zv has joined #ocaml
Haudegen has joined #ocaml
mbuf has quit [Quit: Leaving]
muskan has quit [Ping timeout: 245 seconds]
<ollehar>
test
<ollehar>
hey, haskell merged linear types? that's cool!
zebrag has quit [Ping timeout: 240 seconds]
inkbottle has joined #ocaml
vicfred has joined #ocaml
oriba has joined #ocaml
luna_is_here_ has quit [Read error: Connection reset by peer]
malc_ has quit [Remote host closed the connection]