Hi Nathan. Interesting post. Here are some questions that I wrote down while reading it.
First-class continuations + distributed programming sounds like a nightmare that would wake me up in a cold sweat. Like if a void pointer was bitten by a radioactive goto. Does your language have restrictions that make such a pairing comprehensible to average programmers like myself? I assume so, so my real question is: what distributed programming languages / paradigms is your language inspired by? The usage of leiningen *and* deps.edn is interesting. How are they combined? Do you handle all deps with deps.edn, and use lein as a task runner, or...? (After reading the post comments, it seems somewhat more complicated. Complicated build processes: I am shocked. Shocked, I tell you.) Using with-redefs + concurrency has bitten me before. Is it not a problem because your tests are high-level and run sequentially, so the per-test redefs don't interfere with each other? (I think this is mostly answered by the "Deterministic simulation" section, but answer if you'd like.) The "no-op functions as a structured event log" pattern is interesting. Did you try out any other methods, like implementing the event logging as separate components, or directly redef'ing the side-effecting code? If so, what are the pros & cons you considered? Are these testing methods just for internal use, or are you planning to make them easy to use by the end-users of your language? I have a lot of questions about your language, actually, but I'll just wait for your demo. It *is* an ambitious project, and I hope it succeeds. (Since most software nowadays becomes part of "distributed systems" and they are, frankly, a PITA.) Cheers, Leif On Friday, June 4, 2021 at 7:53:43 PM UTC-6 brent....@gmail.com wrote: > Haven't read the article yet but thanks for the work, will definitely give > it a read asap. After hearing (already a while ago) that Storm moved to > Java, I'm happy to hear Clojure is still actively used (and even > instrumental) in your current work. > > On Thursday, June 3, 2021 at 11:42:36 PM UTC-4 natha...@gmail.com wrote: > >> Probably not in the near future. Once we're close to being ready for >> production usage, we'll be releasing a preview post demonstrating how our >> product works through an example of using it to replicate a widely-used >> service in a comparatively minuscule amount of code. Though we're already >> able to build and run arbitrary applications at scale, we still have a lot >> of work to do on operational features to enable the fault-tolerance >> necessary for production usage. >> >> On Thursday, June 3, 2021 at 5:24:00 PM UTC-10 Robert P. Levy wrote: >> >>> Great post on the technical choices made in developing this platform. >>> Do you plan on writing a post that describes in detail the system >>> architecture that is the bread and butter of the product/platform itself? >>> >>> The website intriguingly states, "Red Planet Labs is pioneering a >>> radically new kind of software tool. It's not just for the initial >>> construction of an application, but also encapsulates deployment, >>> monitoring, and maintenance. It implements the first truly cohesive model >>> for building software applications – a set of abstractions that can build >>> any application at any scale with greatly reduced engineering cost." >>> >>> It seems like a full article expanding on the infrastructure-level >>> design, and the approach to generalizing and abstracting infrastructure, >>> would be very interesting. >>> >>> >>> On Thu, Jun 3, 2021 at 7:12 PM Nathan Marz <natha...@gmail.com> wrote: >>> >>>> Derek – we have a bunch of open-source on our Github >>>> <https://github.com/redplanetlabs>. I'd like to release our new >>>> language one day, but that won't be for a long time. When I release it I >>>> want to do it the right way – extensive documentation, academic papers, >>>> and >>>> a commitment to supporting the language in broader usage. At our early >>>> stage we just don't have the bandwidth for that as we're working hard to >>>> get our first product out the door. Plus at the moment out language is our >>>> "secret weapon" :) >>>> >>>> Leandro – I started working on this codebase well before spec was >>>> released. Had spec existed when I started I would have explored it more >>>> thoroughly, but Schema has met our needs very gracefully. As for >>>> deterministic simulation, it's orthogonal to techniques like test.check. I >>>> suggest you check our our earlier blog post >>>> <https://tech.redplanetlabs.com/2021/03/17/where-were-going-we-dont-need-threads-simulating-distributed-systems/> >>>> >>>> on the subject. >>>> >>>> On Thursday, June 3, 2021 at 3:09:28 PM UTC-10 ldoc...@gmail.com wrote: >>>> >>>>> >>>>> >>>>> On Thu, 3 Jun 2021, 15:06 natha...@gmail.com, <natha...@gmail.com> >>>>> wrote: >>>>> >>>>> Please give the post a read, and I'm happy to answer any questions. >>>>>> >>>>> >>>>> Nice article, Nathan. Definitely, it would be nice to see the code :-) >>>>> >>>>> Just curious... >>>>> >>>>> 1) You mention using Schema for data definition and validation. Did >>>>> you consider using other options for this, such as clojure.spec? What's >>>>> your experience with it/them? >>>>> >>>>> 2) You mention using "deterministic simulation". Did you consider >>>>> using other options for this, such as test.check? What's your experience >>>>> with it/them? >>>>> >>>>> Best, >>>>> Leandro >>>>> >>>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clo...@googlegroups.com >>>> Note that posts from new members are moderated - please be patient with >>>> your first post. >>>> To unsubscribe from this group, send email to >>>> clojure+u...@googlegroups.com >>>> For more options, visit this group at >>>> http://groups.google.com/group/clojure?hl=en >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to clojure+u...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/clojure/70353370-6dd2-4ddc-af82-2fce32ee6bden%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/clojure/70353370-6dd2-4ddc-af82-2fce32ee6bden%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/860f7e78-a70d-4df0-ac4f-6b776b203e6en%40googlegroups.com.