<discocaml>
<diligentclerk> I don't know much about ppx. Can you make a syntax for list comprehension that compiles down to filter and map? is that trivial
Frostillicus has joined #ocaml
hsw_ has quit [Quit: Leaving]
hsw has joined #ocaml
YuGiOhJCJ has quit [Remote host closed the connection]
YuGiOhJCJ has joined #ocaml
YuGiOhJCJ has quit [Remote host closed the connection]
YuGiOhJCJ has joined #ocaml
Frostillicus has quit [Ping timeout: 260 seconds]
humasect has quit [Quit: Leaving...]
leah2 has quit [Ping timeout: 244 seconds]
agentcasey has quit [Quit: ZNC 1.10.x-git-82-9ab81d1d - https://znc.in]
agentcasey has joined #ocaml
chrisz has quit [Ping timeout: 272 seconds]
chrisz has joined #ocaml
Frostillicus has joined #ocaml
YuGiOhJCJ has quit [Remote host closed the connection]
YuGiOhJCJ has joined #ocaml
Frostillicus has quit [Ping timeout: 248 seconds]
LainIwakura has joined #ocaml
YuGiOhJCJ has quit [Remote host closed the connection]
YuGiOhJCJ has joined #ocaml
leah2 has joined #ocaml
Humean has quit [Ping timeout: 252 seconds]
Serpent7776 has joined #ocaml
andrzejku has joined #ocaml
<andrzejku>
hello
bartholin has joined #ocaml
Haudegen has joined #ocaml
amadaluzia has joined #ocaml
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
casastortaAway has quit [Ping timeout: 252 seconds]
casastortaAway has joined #ocaml
amadaluzia has quit [Ping timeout: 244 seconds]
LainIwakura has quit [Quit: Client closed]
Frostillicus has joined #ocaml
bibi__ has joined #ocaml
bibi_ has quit [Ping timeout: 252 seconds]
companion_cube has quit [Server closed connection]
companion_cube has joined #ocaml
LainIwakura has joined #ocaml
amadaluzia has joined #ocaml
nlocalhost has quit [Remote host closed the connection]
nlocalhost has joined #ocaml
casastortaAway has quit [Ping timeout: 276 seconds]
Frostillicus has quit [Ping timeout: 276 seconds]
<discocaml>
<drupyog> @contificate perf wise, with an appropriate inline directive, the association table is almost entierly built at compile time (especially with flambda)
<discocaml>
<drupyog> @contificate perf wise, with an appropriate inline directive, the association table is almost entirely built at compile time (especially with flambda)
<discocaml>
<drupyog> @contificate perf wise, with an appropriate inline directive, the association table is almost entirely built at compile time (especially with flambda). The performance angle shouldn't really be a concern
<discocaml>
<drupyog> @octachron the first version (with lot's of instrumented schedulers) worked quite well for me, thanks a lot 🙂
bibi__ has quit [Quit: Konversation terminated!]
<discocaml>
<drupyog> (I didn't try the second one in the end, but maybe I will later on)
<discocaml>
<octachron> Well, the second version will probably be integrated to `Gc.stat` in later versions, and it led me to a performance bug within the fiber cache. Thus it was time well-spent from my perspective anyway.
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
<discocaml>
<drupyog> Nice
<discocaml>
<drupyog> I should probably validate my findings with the second version, just to see how precise it is
casastortaAway has joined #ocaml
<discocaml>
<contificate> I don't follow what you're replying to. I wouldn't use assoc lists for almost anything, especially with string keys. I'm well aware that the compiler can turn constant data into static allocations - my only comment on performance was about the builtin hashing function which is good because it can hash objects at the granularity of words.
casastortaAway has quit [Quit: ZNC 1.10.1 - https://znc.in]
nlocalhost has quit [Remote host closed the connection]
nlocalhost has joined #ocaml
bibi_ has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
johnridesabike has joined #ocaml
nlocalhost has quit [Remote host closed the connection]
nlocalhost has joined #ocaml
Haudegen has joined #ocaml
<discocaml>
<yawaramin> OCaml hashtable literal: `h ["hello", 1; "world", 2]` - ok i'm cheating, this is just a function lol
<discocaml>
<yawaramin> jugaad philosophy
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
LainIwakura has quit [Quit: Client closed]
Frostillicus has joined #ocaml
<discocaml>
<lecondorduplateau> why you need a syntax for this?
Frostillicus has quit [Read error: Connection reset by peer]
Frostillicus has joined #ocaml
humasect has joined #ocaml
<discocaml>
<yawaramin> yeah i don't but people often want it
Frostillicus has quit [Ping timeout: 248 seconds]
Frostillicus has joined #ocaml
Humean has joined #ocaml
Frostillicus has quit [Read error: Connection reset by peer]
Haudegen has quit [Quit: Bin weg.]
<discocaml>
<astreamingcomesacrossthesky> I think there's a reasonable claim to be made that in the hierarchy of conceptual tools used by programmers, plain old data would come before even functions as the simplest thing to use
<discocaml>
<astreamingcomesacrossthesky> Which under the circumstances would just mean using records I suppose
Frostillicus has joined #ocaml
<discocaml>
<deepspacejohn> I feel like a first-class syntax would only make sense if it could compile to the internal hashtable/map data structure directly, so there would be a performance advantage to using for large maps. Otherwise it's just a prettier `of_list` function.
euphores has joined #ocaml
LainIwakura has joined #ocaml
inline has quit [Read error: Connection reset by peer]
<discocaml>
<lukstafi> This syntax is invalid: `let rec x = ... and module Y = ... in ...`
<discocaml>
<sim642> What about it?
<discocaml>
<sim642> You could put `x` inside and later use `Y.x`, no?
<discocaml>
<lukstafi> No, I put Y inside the definition of x, it's just visually noisy in my use case.
LainIwakura has quit [Quit: Client closed]
<discocaml>
<lukstafi> `Y` does depend on `x`.
humasect has quit [Remote host closed the connection]
humasect has joined #ocaml
LainIwakura has joined #ocaml
gareppa has joined #ocaml
<discocaml>
<deepspacejohn> you could put `x` in a module and use recursive modules. (although I always avoid recursive modules whenever possible and just use regular recursive definitions.)
myrkraverk_ has joined #ocaml
<discocaml>
<youngkhalid> Do you guys use ReasonML ? If so, for what purposes : playing around with something a little bit different from OCaml / specific tasks... ?
myrkraverk__ has quit [Ping timeout: 252 seconds]
pmk has quit [Server closed connection]
pmk has joined #ocaml
ggb has quit [Server closed connection]
ggb has joined #ocaml
<humasect>
youngkhalid: i've done some of it, having a native app and web app, with opengl + cairo for vector and nice text realtime graphics something something
<humasect>
unfortunate name, 'reason'
bartholin has quit [Remote host closed the connection]
bartholin has joined #ocaml
euphores has quit [Quit: Leaving.]
gareppa has quit [Quit: WeeChat 4.5.1]
slondr has quit [Server closed connection]
slondr has joined #ocaml
Frostillicus has quit [Ping timeout: 276 seconds]
whereiseveryone has quit [Server closed connection]
whereiseveryone has joined #ocaml
szkl has quit [Quit: Connection closed for inactivity]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
Frostillicus has joined #ocaml
Frostillicus has quit [Ping timeout: 245 seconds]
Frostillicus has joined #ocaml
<discocaml>
<shalokshalom> I found OCaml very early on in my programming career, (as I looked for a declarative language from the get go) and Reason is what led me off the path.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> It suggested back then, that the OCaml syntax has weird corner cases that it would solve.
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> Back then, I had no idea what to think about, but it led me to FSharp.
<discocaml>
<shalokshalom> For "playing around with something a little bit different, aside from the obvious options, you might find Grain, (which is written in Reason) and Moonbit (which is written by the former Bucklescript dev)
<discocaml>
<shalokshalom>
<discocaml>
<shalokshalom> And if you are looking for an alternative 'to OCaml' language, you might wanna look for F*
<humasect>
as for declarative, Haskell led me to now Prolog