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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I haven’t read all the threads related to the new type system so maybe I am wrong</p>
<ol>
<li>
<p>I worry about the type signature in the Docs, will Elixir maintain the Dialyzer style in the docs or will it move to the new one? Will it use both?</p>
</li>
<li>
<p>I think it could increase the learning curve of learning Elixir from Erlang or vice versa</p>
</li>
</ol>
<p>PS: Thank for all the work</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297434" 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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/56">Post #55</a>
	                </div>
	            </div>
              <div id="likers-container-297434" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297434"
                     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 #55"></div>
  </section>
</div>
    <div class="postbit" id="297437" data-post-id="297437">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My worry is that it will add bloat/boilerplate to the elegance that is Elixir. I see a type system as something that forces the developer do the job of the computer/compiler and it has predominantly theoretical benefits. I hope it can be fully inferred, like Roc has.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297437" data-batch-url="/posts/batch_likers">
                        6
                      </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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/57">Post #56</a>
	                </div>
	            </div>
              <div id="likers-container-297437" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297437"
                     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 #56"></div>
  </section>
</div>
    <div class="postbit" id="297443" data-post-id="297443">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Before watching the <a href="https://www.youtube.com/watch?v=Jf5Hsa1KOc8" rel="noopener nofollow ugc">conference video</a> I was strongly against the introduction of static typing in Elixir. I’m not without stereo<em>types</em> about static typing in general, probably just like the next guy.</p>
<p>In the video José did a great job explaining the Elixir’s perspective, and to me the core team’s approach looks very reasonable. In particular, the effort doesn’t look hype-driven, and the language’s idiomatics is getting preserved. So I don’t worry anymore, instead I trust the core team.</p>
<p>PS: To anyone answered or going to answer without watching the conference video, please watch.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297443" data-batch-url="/posts/batch_likers">
                        8
                      </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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/58">Post #57</a>
	                </div>
	            </div>
              <div id="likers-container-297443" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297443"
                     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 #57"></div>
  </section>
</div>
    <div class="postbit" id="297448" data-post-id="297448">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Fears:</p>
<ul>
<li>Language Server lagging behind with a lack of support of code suggestions based on discovered / defined types. Inability to at any point Ctrl-Space and see suggestions as to what is the next expected possibility here (thinking Ecto, constant digging into docs or copy-pasting because of thereof - is it <code>primary: true</code> or <code>primary_key: true</code>?).</li>
<li>Seeing code editor plugin being developed mainly by a single person eventually burn them out as the new type system develops and hunger for more features develop as a result.</li>
<li>Definition of strongly typed tuples / lists of single type or of unions of types (thinking <code>int | float</code>), maps with only defined type for keys/values become clunky without keywords like <code>map</code> or <code>struct</code> or <code>keywordlist</code>.</li>
<li>Inability of the compiler/LS to dig for types and suggest a strong type when desired.</li>
<li>Interfere with the ability to patch modules at runtime due to a break of some ends not able to properly meet.</li>
</ul>
<p>Hopes:</p>
<ul>
<li>To see protocols define expected types in the libraries. Hoping to have protocols as types for function parameters. Elimination of implicit declaration of protocol implementation in favor of a <code>@</code>hint and duck typing.</li>
<li>The standard library to be especially strict by mentioning expected types.</li>
<li>Complete elimination of specs in favor of types.</li>
<li>Make types completely optional for readability. Make LS and ultimately editor plugins show detected and desired types.</li>
</ul>
<p><img src="https://forum.elixirforum.com/uploads/default/original/3X/e/9/e99093ee06dc0097aad32a0ab2671501255c5d4c.gif" alt="Code_RGmfejFBWe" data-base62-sha1="xkd0rNpPo0FIgM4Z0ULd7bkS5fC" width="690" height="215" class="animated"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297448" 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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/59">Post #58</a>
	                </div>
	            </div>
              <div id="likers-container-297448" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297448"
                     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 #58"></div>
  </section>
</div>
    <div class="postbit" id="297450" data-post-id="297450">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<ol>
<li>Syntax. The <code>$</code> offered seems really out of place</li>
<li>Separation from Erlang type system</li>
<li>Separation from guards. They encode the same information with different syntax and are not synced</li>
<li>Lack of usefulness</li>
<li>Ways to handle polymorphism (if not, urgh)</li>
<li>Benefit vs simply using them fully inferred from pattern match and guards to inform the compiler.</li>
<li>Path to inject this in erlang instead?</li>
<li>Limited progress vs dialyzer</li>
</ol> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297450" data-batch-url="/posts/batch_likers">
                        6
                      </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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/60">Post #59</a>
	                </div>
	            </div>
              <div id="likers-container-297450" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297450"
                     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 #59"></div>
  </section>
</div>
    <div class="postbit" id="297476" data-post-id="297476">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I hope that the new type system is so clear and easy to use that it quickly wins widespread adoption and we can bury specs and dialyzer in an unmarked grave. That’s a pretty tall order though.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297476" data-batch-url="/posts/batch_likers">
                        7
                      </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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/61">Post #60</a>
	                </div>
	            </div>
              <div id="likers-container-297476" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297476"
                     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 #60"></div>
  </section>
</div>
    <div class="postbit" id="297477" data-post-id="297477">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I like the idea of type <em>checks</em>, but I’m ambivalent about type <em>specs</em>. If my function takes a list and returns an integer or an atom, ideally the language could understand that, add that fact to the generated docs, and warn me if another function expects to get a string from that function. If I have to declare a typespec, it feels like a violation of DRY, and in my experience, most of the time it’s the typespec that’s wrong when the typespec and function disagree.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297477" 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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/62">Post #61</a>
	                </div>
	            </div>
              <div id="likers-container-297477" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297477"
                     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 #61"></div>
  </section>
</div>
    <div class="postbit" id="297502" data-post-id="297502">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hopes:</p>
<p>Makes the language easier to refactor.<br>
Makes errors more apparent in the IDE reducing the need to write boilerplate unit tests.<br>
Makes code easier to understand, rather than a function just taking a list of something, give the developer confidence that the list only contains elements of a particular type<br>
It’s as good a Java generic type/typescript as a baseline.<br>
It doesn’t get too complicated, it should be pragmatic and add value</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297502" data-batch-url="/posts/batch_likers">
                        5
                      </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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/64">Post #63</a>
	                </div>
	            </div>
              <div id="likers-container-297502" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297502"
                     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 #63"></div>
  </section>
</div>
    <div class="postbit" id="297508" data-post-id="297508">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My concern is diversion: that disproportionate resources will be diverted towards a new focal point. Discourse will become dominated by the type system, at the expense of other concerns. Soon enough, the very course of the language will be perceived as resting on the resolution of formerly subordinate issues.</p>
<p>Brexit is the closest analogy I can think of.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297508" 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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/65">Post #64</a>
	                </div>
	            </div>
              <div id="likers-container-297508" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297508"
                     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 #64"></div>
  </section>
</div>
    <div class="postbit" id="297519" data-post-id="297519">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m unsure if static typing would solve issues that existing solutions don’t. I’m concerned that Elixir’s flexibility could be compromised.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="297519" 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/what-are-your-concerns-about-a-future-type-system-for-elixir/57525/66">Post #65</a>
	                </div>
	            </div>
              <div id="likers-container-297519" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="297519"
                     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 #65"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/57525/load_more?page=7">Load more posts (27 remaining)</a>
</div></template></turbo-stream>