Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Jul 29 12:58
    c-cube closed #931
  • Jul 22 07:17
    MisterDA commented #951
  • Jul 20 14:24
    mroch commented #956
  • Jul 20 14:23
    mroch commented #956
  • Jul 12 08:49
    Tim-ats-d commented #724
  • Jul 12 08:47
    Tim-ats-d commented #724
  • Jul 04 15:13
    hannesm commented #939
  • Jun 30 09:40
    raphael-proust commented #923
  • Jun 30 09:39
    raphael-proust opened #959
  • Jun 29 16:37

    ilankri on prepare-for-5.6.1-release

    (compare)

  • Jun 29 16:29

    ilankri on prepare-for-5.6.1-release

    (compare)

  • Jun 29 13:12
    raphael-proust commented #956
  • Jun 29 13:03
    mroch commented #956
  • Jun 29 12:58
    raphael-proust commented #956
  • Jun 29 12:57

    raphael-proust on master

    Set version in CHANGES Set version in opam file Merge pull request #958 from oc… (compare)

  • Jun 29 12:57
    raphael-proust closed #958
  • Jun 29 06:53
    raphael-proust commented #958
  • Jun 29 06:51
    raphael-proust opened #958
  • Jun 29 06:49

    raphael-proust on 5.6.1

    (compare)

  • Jun 29 06:49

    raphael-proust on prepare-for-5.6.1-release

    Set version in CHANGES Set version in opam file (compare)

Anton Bachin
@aantron
after clarifying the manual, "threads" will always refer to OS threads :) right now the manual misleadingly uses that word for lwt promises as well
Varun Gandhi
@theindigamer
:+1: thanks :smile:. I think I'm good for now, but I'll have a look at the tutorial soon-ish.
Anton Bachin
@aantron
getting an accurate mental model for Lwt is no easy task. it took me some weeks or months of sporadic improvements to get it. its good to go through this process again. hopefully it can be condensed into helpful docs :)
sure :) good luck :)
the lwt.mli tutorial is kind of a draft for exercising just that module, i probably will take it out into a broader main tutorial later, that can be more conceptual
also for your question about inserting Lwt_yield automatically into g, the answer is yes, you have to do it manually. however, ideally, this should be very rare
also you shouldn't open Lwt. the operators are provided by Lwt.Infix
it's typical to write open Lwt.Infix or let open Lwt.Infix in ...
Varun Gandhi
@theindigamer
:+1:
matrixbot
@matrixbot
Orbifx Anton what CPU was your test for the performance of the variants ran an on?
Anton Bachin
@aantron
Orbifx: core i7-2720QM sandy bridge, 2.2 GHz
matrixbot
@matrixbot
Orbifx a beasty one :P
Anton Bachin
@aantron
:)
matrixbot
@matrixbot
Orbifx Are you on Mastodon btw?
Anton Bachin
@aantron
nope. never heard of it. should i be?
Anton Bachin
@aantron
Orbifx: now i am :)
Anton Bachin
@aantron
let me know if i should join some specific instances
matrixbot
@matrixbot
Orbifx trying to get an ocaml scene going
Orbifx what's your address?
Anton Bachin
@aantron
matrixbot
@matrixbot
Orbifx Welcome :)
Orbifx Added
Anton Bachin
@aantron
great. is there any ocaml-specific community, or for now it's just some scattered ocamlers? :)
matrixbot
@matrixbot
Orbifx scattered for now. Search for #ocaml to follow other ocamlers
Anton Bachin
@aantron
@theindigamer i rewrote the introduction, updated the tutorial, added an execution model section, and properly wrote the guide to rest of lwt in the new manual draft. rendered it to html, take a look here https://ocsigen.github.io/lwt/manual-draft/Lwt.html
would be interested to see if this is helpful, and in any other feedback you may have :)
Varun Gandhi
@theindigamer
@aantron the first couple of sections look good to me :smile:. I'll probably go through the rest over the weekend and get back to you then.
matrixbot
@matrixbot
Orbifx Any bloggers here? Want an opinion on something
Anton Bachin
@aantron
not me. im just a wannabe :p
Varun Gandhi
@theindigamer

I finished reading the sections before Sec. Rejection. Comments:

  1. Links to lwt functions are dead.
  2. In Sec. Execution Model, the word "resolution" is used as a noun but it isn't mentioned before. Do you intend to use I/O promise instead?
  3. In Sec. Waiting, should

    If p1 is fulfilled now or later with value v, f v is called. f v might be called immediately, or after some time.

    instead have something like "f v will be called when p1 is fulfilled"?

  4. "Actual promises are read-only.", it's not fully clear what that means ... it can't mean that promises are immutable (because you can resolve them through the resolver). Are they read-only modulo resolvers (which are typically hidden away and not used directly)? It might be better to have a few more words here :smile:.

Apart from these, I think the rest of it is a good read.

Also, for some reason, the deprecated section is not linked to in the sidebar.

Romain Slootmaekers
@toolslive
We tried to move our dependency from lwt.3.0.0 to lwt.3.1.0, but we noticed some of our tls related testcases started failing. Before I start digging: Did anybody else witness problem with tls and lwt3.1.0 as well ?
Anton Bachin
@aantron
@toolslive: i'm not aware of any reports, or any other problems with lwt 3.1.0, at this point
@theindigamer: thanks. the links to anything outside this module are dead, because it's just one file uploaded for now. i suppose i should put the rest of the current manual in the same directory. also, ive since rewritten most of the function docs. i'll incorporate your feedback :) i hid the deprecated section on purpose, but ive since also put it back, without linking its subsections in the sidebar
basically, as suggested, only the intro parts of that were ready for consumption :)
Anton Bachin
@aantron
the new module Lwt docs are now a PR ocsigen/lwt#469
matrixbot
@matrixbot
Orbifx Anton Bachin (Gitter): is this how Lwt implements Lwt exceptions? https://hal.inria.fr/inria-00432575/document
Anton Bachin
@aantron
Orbifx: sort of. the "basic" Lwt is an I/O monad combine with an error monad (something we might later undo)
(and separate the monads)
this basic error monad carries around exn for errors, an open variant type
there is also Lwt_result, which provides a separate error monad
with it, the user can choose what types to use for carrying around errors. they could be string, or some inferred polymorphic variant, or an open variant, or anything else
matrixbot
@matrixbot
Orbifx I know, I use result :)
Anton Bachin
@aantron
cool :)
yeah, just being thorough :)
Anton Bachin
@aantron
Lwt 3.2.0 is now fully out
Pavel Argentov
@argent-smith
good job ))) you forced me to learn up the Logs )))
Anton Bachin
@aantron
hope its real :) btw you can still use Lwt_log for a long time, it won't be broken.. but if it ever is, it will get a constraint on which version of Lwt it can work with
Pavel Argentov
@argent-smith
With Logs my tests work better ))
Actually, I've learned them both. Lwt_log is easier to start with; Logs is better to elaborate on )