<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="316658" data-post-id="316658">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="cmo" data-post="21" data-topic="61158">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cmo/48/19618_2.png" class="avatar"> cmo:</div>
<blockquote>
<p>What’s the problem?</p>
</blockquote>
</aside>
<p>That we do this for money and have to optimize for doing stuff quickly.</p>
<p>If we were just tinkering I’d have zero problem with the “just read the code” trope.</p>
<p>But often at work you have a current goal and you’re looking into how to achieve it within an hour, or within the same day at least. Reading the code of a potential dependency is a non-starter.</p>
<aside class="quote no-group" data-username="cmo" data-post="21" data-topic="61158">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cmo/48/19618_2.png" class="avatar"> cmo:</div>
<blockquote>
<p>Just like our crazy genius uncle Erlang.</p>
</blockquote>
</aside>
<p>Explains why I never picked it up and used Elixir instead. <img src="https://forum.elixirforum.com/images/emoji/apple/face_savoring_food.png?v=15" title=":face_savoring_food:" class="emoji" alt=":face_savoring_food:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316658" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-316658" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316658"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
    <div class="postbit" id="316661" data-post-id="316661">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="code-shoily" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/code-shoily/120/8052_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  code-shoily
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/yawaramin" rel="nofollow">@yawaramin</a> tagging you if you’d wanna weigh in. I recall you being excited for Riot.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316661" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-316661" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316661"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #23"></div>
  </section>
</div>
    <div class="postbit" id="316664" data-post-id="316664">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I have utmost respect for <a class="mention" href="/u/yawaramin" rel="nofollow">@yawaramin</a>, he’s always extremely helpful on OCaml Discourse forum.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316664" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-316664" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316664"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #24"></div>
  </section>
</div>
    <div class="postbit" id="316671" data-post-id="316671">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="code-shoily" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/code-shoily/120/8052_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  code-shoily
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>That he is, and he always gave me very reasonable and honest opinion on my questions on OCaml (inspired me to try out OCaml in the first place).</p>
<p>I do share some of your observations around OCaml especially with tooling. DX is the first thing I see in a programming language. And Elixir spoiled me further.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316671" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-316671" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316671"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #25"></div>
  </section>
</div>
    <div class="postbit" id="316672" data-post-id="316672">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="yawaramin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/yawaramin/120/9062_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  yawaramin
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello, I checked this thread a while back and there were no replies, forgot to check back and I see now there are a few <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Overall I think Riot is exciting. The creator (Leandro) is a long-time Elixir hacker and OCaml legend. He is also very focused on DX and making libraries with great documentation and design. I have every confidence that the Riot ecosystem he is creating is going to be extraordinary.</p>
<p>Let me address a couple of things that caught my eye in this thread.</p>
<aside class="quote no-group" data-username="v0idpwn" data-post="12" data-topic="61158" data-full="true">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/v0idpwn/48/30493_2.png" class="avatar"> v0idpwn:</div>
<blockquote>
<p>Do you have a reference for this allegation? For me, it seems that Riot supports a single type for messages, which is the extensible variant <code>Message.t</code></p>
</blockquote>
</aside>
<p>Riot does, yes, but that’s a design decision in this library and not an inherent limitation of statically-typed actor systems. For example see Akka, which has typed actors with distinct message types: <a href="https://doc.akka.io/docs/akka/current/typed/actors.html#first-example" class="inline-onebox" rel="noopener nofollow ugc">Introduction to Actors • Akka core</a></p>
<aside class="quote no-group" data-username="dimitarvp" data-post="18" data-topic="61158">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/48/38664_2.png" class="avatar"> dimitarvp:</div>
<blockquote>
<p>Example 1: you have several stdlib[-like] implementations and just picking each one will you use already puts you in a different part of the community</p>
</blockquote>
</aside>
<p>As you can imagine, having multiple ‘standard libraries’ is not centrally planned by the OCaml community. Different people make different libraries that solve their problems. My advice is to stick with the default Stdlib that ships with OCaml until you need something specific, then add the specific library eg <code>uuseg</code> for Unicode string segmentation.</p>
<blockquote>
<p>Example 2: package and dependency management. I have personally seen mailing lists / forum threads with the ever so helpful “what is dependency management?”</p>
</blockquote>
<p>In every community, you will find some bored cranks who question every modern practice as a matter of course, it doesn’t mean that is the majority opinion. And in fact there are multiple OCaml teams working hard on package management concerns.</p>
<ul>
<li>Tarides are working hard to produce welcoming opam package management content: <a href="https://discuss.ocaml.org/t/blog-opam-101-the-first-steps-by-ocamlpro/13975" class="inline-onebox" rel="noopener nofollow ugc">[BLOG] opam 101: the first steps, by OCamlPro - Learning - OCaml</a></li>
<li>Dune people are working hard on integrating package management directly into the build system: <a href="https://discuss.ocaml.org/t/ocaml-platform-newsletter-november-and-december-2023/13924#dune-exploring-package-management-in-dune-w4httpsocamlorgdocsplatform-roadmapw4-build-a-project-1" class="inline-onebox" rel="noopener nofollow ugc">OCaml Platform Newsletter: November and December 2023 - Community - OCaml</a></li>
</ul>
<p>There’s a lot of effort to bring the community into the modern era. Things are looking very exciting. And Riot is going to take OCaml 5 Multicore to the next level with massive concurrency. It’s super exciting.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316672" data-batch-url="/posts/batch_likers">
                        9
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-316672" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316672"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #26"></div>
  </section>
</div>
    <div class="postbit" id="316683" data-post-id="316683">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="nulltree" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nulltree/120/30215_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  nulltree
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>To slightly expand on this, the <a href="http://ocaml.org/docs/platform-roadmap" rel="noopener nofollow ugc">OCaml platform roadmap</a>  does address many tooling pain points I had (I’m clearly spoilt by <code>mix</code> and <code>cargo</code>).</p>
<p>My very first OCaml steps, I struggled similarly as <a class="mention" href="/u/dimitarvp" rel="nofollow">@dimitarvp</a> described, but based on the roadmap I’m fairly confident the upcoming 2-3 years significantly lower the barrier to entry.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316683" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-316683" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316683"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #27"></div>
  </section>
</div>
    <div class="postbit" id="316691" data-post-id="316691">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you, and I hope you don’t see my comment as overly harsh.</p>
<p>I believe OCaml is amazing because I saw what it can do, but stuff like having to make sure I have Unicode strings in my project and picking the right stdlib and potentially being unable to have DX on the level of <code>mix</code> and <code>cargo</code> in general have turned me off.</p>
<aside class="quote no-group" data-username="nulltree" data-post="28" data-topic="61158">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/nulltree/48/30215_2.png" class="avatar"> nulltree:</div>
<blockquote>
<p>To slightly expand on this, the <a href="http://ocaml.org/docs/platform-roadmap" rel="noopener nofollow ugc">OCaml platform roadmap </a> does address many tooling pain points I had (I’m clearly spoilt by <code>mix</code> and <code>cargo</code>).</p>
</blockquote>
</aside>
<p>…I can’t believe I read the whole thing but I did. Pretty good plan actually! I have followed the <code>multicore-monthly</code> tag on the OCaml Discourse forum before 5.0 landed (and now there are no more posts under that tag, understandably), now I’ll start following the <code>platform-newsletter</code> one.</p>
<aside class="quote no-group" data-username="yawaramin" data-post="27" data-topic="61158">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/yawaramin/48/9062_2.png" class="avatar"> yawaramin:</div>
<blockquote>
<p>There’s a lot of effort to bring the community into the modern era.</p>
</blockquote>
</aside>
<p>Good to know. I keep an eye on OCaml for several years now and it only gets better with time. Also made one small experiment with <code>domainslib</code> when 5.0 was released and liked the result.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316691" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-316691" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316691"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #28"></div>
  </section>
</div>
    <div class="postbit" id="316816" data-post-id="316816">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Onor.io" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Onor.io/120/960_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Onor.io
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’d really like to see OCaml catch on.  I think it’s got a lot to recommend it and I would like to see it get more general acceptance.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316816" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/ocaml-riot-an-actor-model-multi-core-scheduler-thoughts/61158/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-316816" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316816"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-last-post cat-last-post" title="Last post!"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <span class="all-loaded">— All posts loaded —</span>
</div></template></turbo-stream>