companion_cube changed the topic of #ocaml to: Discussion about the OCaml programming language | http://www.ocaml.org | OCaml 5.2.0 released: https://ocaml.org/releases/5.2.0 | Try OCaml in your browser: https://try.ocamlpro.com | Public channel logs at https://libera.irclog.whitequark.org/ocaml/
<dh`> figure out the mode restore, write a script that does it
<dh`> but also, for a roguelike it doesn't really make sense to run fullscreen I'd say so there's a large aspect of "don't worry about it"
<dh`> although maybe that's rubbish, I guess I normally expect roguelikes to appear in terminal windows
Tuplanolla has quit [Quit: Leaving.]
mjs22 has quit [Quit: Konversation terminated!]
ygrek has quit [Remote host closed the connection]
ygrek has joined #ocaml
ygrek has quit [Remote host closed the connection]
<twobitsprite> dh`: I'm using graphical tilesets, with IBM's code page 437 as the default
mbuf has joined #ocaml
mjs22 has joined #ocaml
toastal has joined #ocaml
mjs22 has quit [Quit: Konversation terminated!]
<discocaml> <jobhdez> Is ocaml better suited for high performance computing than Haskell?
<companion_cube> I'd say neither are great but oh well :D
mbuf has quit [Quit: Leaving]
<dh`> twobitsprite: right, that's become common
mbuf has joined #ocaml
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
alexherbo2 has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
toastal has quit [Ping timeout: 272 seconds]
olle has joined #ocaml
dreadedfrog has quit [Ping timeout: 276 seconds]
dreadedfrog has joined #ocaml
alexherbo2 has joined #ocaml
alexherbo2 has quit [Remote host closed the connection]
TCZ has joined #ocaml
TCZ has quit [Remote host closed the connection]
TCZ has joined #ocaml
TCZ has quit [Ping timeout: 260 seconds]
TCZ has joined #ocaml
waleee has joined #ocaml
bartholin has joined #ocaml
toastal has joined #ocaml
TCZ has quit []
arya_elfren has quit [Remote host closed the connection]
sleepydog has quit [Remote host closed the connection]
b0o has quit [Remote host closed the connection]
_alix has quit [Remote host closed the connection]
ggb has quit [Write error: Broken pipe]
kuruczgy has quit [Write error: Broken pipe]
ursa-major has quit [Write error: Connection reset by peer]
jmcantrell has quit [Remote host closed the connection]
soni_ has quit [Remote host closed the connection]
pluviaq has quit [Remote host closed the connection]
rustyne has quit [Remote host closed the connection]
lane has quit [Remote host closed the connection]
ymherklotz has quit [Write error: Broken pipe]
pmk has quit [Remote host closed the connection]
henrytill has quit [Remote host closed the connection]
Ankhers has quit [Remote host closed the connection]
immutable has quit [Remote host closed the connection]
patrick_ has quit [Remote host closed the connection]
seeg has quit [Remote host closed the connection]
xvilka has quit [Remote host closed the connection]
richardhuxton has quit [Remote host closed the connection]
whereiseveryone has quit [Remote host closed the connection]
philipwhite has quit [Remote host closed the connection]
pmk has joined #ocaml
lane has joined #ocaml
patrick_ has joined #ocaml
ggb has joined #ocaml
philipwhite has joined #ocaml
pluviaq has joined #ocaml
kuruczgy has joined #ocaml
henrytill has joined #ocaml
whereiseveryone has joined #ocaml
seeg has joined #ocaml
Ankhers has joined #ocaml
ymherklotz has joined #ocaml
richardhuxton has joined #ocaml
b0o has joined #ocaml
_alix has joined #ocaml
arya_elfren has joined #ocaml
immutable has joined #ocaml
xvilka has joined #ocaml
jmcantrell has joined #ocaml
rustyne has joined #ocaml
ursa-major has joined #ocaml
soni_ has joined #ocaml
sleepydog has joined #ocaml
twobitsp2ite has joined #ocaml
twobitsprite has quit [Read error: Connection reset by peer]
toastal has quit [Quit: Gateway shutdown]
toastal has joined #ocaml
<discocaml> <zamzam0127_51933> for /f "tokens=*" %i in ('opam env') do @%i to update the current Shell enviroment. What mean is this?
<discocaml> <Kali> for every command output by the `opam env`, execute it
<discocaml> <zamzam0127_51933> What is command to execute that?
<discocaml> <Kali> this one
<discocaml> <Kali> that's what it means
ygrek has joined #ocaml
<discocaml> <zamzam0127_51933> for /f "tokens=*" %i in ('opam env') do @%i . this one?
<discocaml> <Kali> yes
<discocaml> <Kali> that is what it does
hsw has quit [Read error: Connection reset by peer]
hsw_ has joined #ocaml
olle has quit [Ping timeout: 272 seconds]
TCZ has joined #ocaml
Tuplanolla has joined #ocaml
YuGiOhJCJ has joined #ocaml
deavmi has joined #ocaml
<deavmi> Heyo, not sure who to report this to but the code on https://ocaml.org/docs/higher-order-functions (the email-domain splitting one). Doesn't run. I was eye balling it for some time and it didn't even make sense to begin with, an optional appearing out of no where to be consumed by Option.map.
<discocaml> <Kali> it probably mean nth_opt
<discocaml> <Kali> meant*
<deavmi> That would make sense, if that were the case. Good suggestion
<deavmi> thanks
<discocaml> <Kali> this page seems to be broken in a lot of places actually
<discocaml> <gooby_clown> So with effects, I have two `unit Effect.t` effects, but when I do
<discocaml> <gooby_clown> ```ocaml
<discocaml> <gooby_clown> effc = fun (type a) (e: a Effect.t) ->
<discocaml> <gooby_clown> ...
<discocaml> <gooby_clown> match e with
<discocaml> <gooby_clown> | Effect1 | Effect2 as e -> Some (fun k -> ... continue k ())
<deavmi> (Couldn't open the link) but I do see some TODO_esque notes here and there. Either way, I'm enjoying lerning OCaml, the docs thus far have been great
<discocaml> <gooby_clown> ```
<discocaml> <gooby_clown> I omitted some bits, but my point is that it seems the type checker can't figure out that `a` in each of the branches is `unit`, so the call to `continue` fails because it's expecting value of type `a`. I can solve this by splitting up the branches and duplicating the code, but is there a way to tell the type checker that `a_fresh_1 = a_fresh_2 = unit`?
<discocaml> <Kali> this would be a better question for #advanced-help but anyway no, there are no or-patterns for combining locally abstract types at the moment
<discocaml> <Kali> you just have to repeat in separate branches
<discocaml> <gooby_clown> Ah mb about the channel, I'll go there in the future
<discocaml> <gooby_clown> But thanks for the answer 🙏🏽
<discocaml> <Kali> 👍
TCZ has quit []
micro has quit [Ping timeout: 260 seconds]
micro has joined #ocaml
sailorCat has quit [Quit: ZNC 1.8.2 - https://znc.in]
sailorCat has joined #ocaml
sailorCat has quit [Remote host closed the connection]
sailorCat has joined #ocaml
mbuf has quit [Quit: Leaving]
sailorCat has quit [Quit: ZNC 1.8.2 - https://znc.in]
sailorCat has joined #ocaml
sailorCat has quit [Quit: ZNC 1.8.2 - https://znc.in]
sailorCat has joined #ocaml
sailorCat has quit [Remote host closed the connection]
sailorCat has joined #ocaml
sailorCat has quit [Quit: ZNC 1.8.2 - https://znc.in]
sailorCat has joined #ocaml
Anarchos has joined #ocaml
Inline has quit [Ping timeout: 260 seconds]
<twobitsp2ite> what's a good, simple configuration file format for ocaml applications? I know YAML exists, but is there something built into the ocaml standard library that's easy to use? (something like Python's built-in ini file module)
twobitsp2ite is now known as twobitsprite
<twobitsprite> goddammit, every time my laptop sleeps, it reconnects with an alternate nick
sailorCat has quit [Quit: ZNC 1.8.2 - https://znc.in]
<discocaml> <deepspacejohn> There’s nothing for special formats built into the ocaml stdlib. If you want something very simple that maps to command line arguments, then there’s Arg.read_arg that reads newline separated arguments from a file
sailorCat has joined #ocaml
tomku has quit [Ping timeout: 265 seconds]
tomku has joined #ocaml
<discocaml> <ada2k> sexp and yaml are the two i see
sailorCat has quit [Quit: ZNC 1.8.2 - https://znc.in]
sailorCat has joined #ocaml
TCZ has joined #ocaml
Anarchos has quit [Quit: Vision[]: i've been blurred!]
<twobitsprite> yeah, I think I'm just going to do with YAML
<discocaml> <Kali> i use toml sometimes
<twobitsprite> oh yeah, I forgot toml is a thing... that might be better actually
bartholin has quit [Quit: Leaving]
ygrek has quit [Remote host closed the connection]
<dh`> is this a config file for human editing, or a config file for internal use only?
<discocaml> <yawaramin> i always use environment variables for internal configs
<discocaml> <ada2k> i prefer json for internal use, unless it’s only a few values
<dh`> for human-readable config, from what I've seen toml > yaml > json > xml
<dh`> when it's for automated use only it doesn't matter, use the least annoying library
<dh`> my experience with the yaml library (which uses the C libyaml under the covers) has been spotty, so all else being equal I'd suggest something else
<dh`> (spotty as in I had to write my own code to write out yaml files as I was getting binary trash in the output at unpredictable times)
<discocaml> <ada2k> yuck
<discocaml> <ada2k> maybe i should check out toml, i like yaml but it gets on my nerves sometimes
<discocaml> <ada2k> sexps don’t seem too bad
<discocaml> <ada2k> i’ve only used them with dune
TCZ has quit []
<twobitsprite> Does tsdl not include the SDL image library? I don't see it anywhere in the docs
ygrek has joined #ocaml
<twobitsprite> I've even browsed the src and don't any anything about the IMG library
TCZ has joined #ocaml
Tuplanolla has quit [Quit: Leaving.]
<twobitsprite> I give up... You either write game code in C, or you write your own C interfaces......
<dh`> my understanding of toml is limited to 'it appears to have section headings like .ini files, which is a step up for readability'
<dh`> SDL_image is its own library, so it's not surprising it would need its own set of bindings
<twobitsprite> dh`: it's literally part of SDL... /usr/include/SDL2/SDL_image.h ... it just uses IMG_ as a prefix instead of SDL_