<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="387109" data-post-id="387109">
  <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 am struggling to understand what problem is OP trying to solve here.</p>
<p>I can agree structs being butchered by <code>Map.take</code> and <code>Map.drop</code> <em>might be a problem, SOMETIMES, very rarely</em>, but beyond that – what is the issue? (Not to mention that we can and should add a Credo rule to forbid structs ever being fed to these functions.)</p>
<p>I wouldn’t want to type 255-character long struct / record names anyway.</p>
<p>I agree records could give a bit more strictness but objectively, how big of a problem is that today? Genuine question. Good teams understand the limits of their tools and don’t allow those limits be tripped with lints.</p>
<p>Something that could be valid but was never relevant to me – distributed Erlang indeed, as OP mentioned. But I have zero visibility on this. What would the benefits be?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387109" 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/eep-79-native-records-and-structs/75022/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-387109" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387109"
                     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 #11"></div>
  </section>
</div>
    <div class="postbit" id="387112" data-post-id="387112">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="cevado" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/cevado/120/40655_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  cevado
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="dimitarvp" data-post="12" data-topic="75022">
<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>I am struggling to understand what problem is OP trying to solve here.</p>
<p>I can agree structs being butchered by <code>Map.take</code> and <code>Map.drop</code> <em>might be a problem, SOMETIMES, very rarely</em>, but beyond that – what is the issue? (Not to mention that we can and should add a Credo rule to forbid structs ever being fed to these functions.)</p>
<p>I wouldn’t want to type 255-character long struct / record names anyway.</p>
</blockquote>
</aside>
<p>I’m not trying to solve a problem. I’m describing the limitations of struct, to explain why I see native-records as a compelling new feature to the runtime.</p>
<p>please, read the full thread and the EEP.</p>
<p>what i’m not doing:</p>
<ul>
<li>i’m not trying to solve a problem I have with structs.</li>
<li>I’m not trying to make structs better or advocate to people stop using structs.</li>
<li>I’m not saying the current records can substitute structs.</li>
</ul>
<p>what I’m discussing:</p>
<ul>
<li>a new feature/data-structure on the beam has converging usage as structs and compelling reasons to have a proper first-class citizen support in Elixir.</li>
<li>I understand that initially they can’t used interchangeably and that converging structs to native-records would be a a very heavy lift given all the efforts the core team are implement right now.</li>
<li>I think that this new feature/data-structure is worth the effort of being properly design and integrated to Elixir, and that it gonna take time from the core team to be done(more probably, new syntax and common features like dot notation and access behavior support).</li>
<li>to avoid being a second class citizen feature/data-structure(like current records) and drive adoption I think the conversations around it could be started now as the feature is introduced in Erlang.</li>
</ul> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387112" 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/eep-79-native-records-and-structs/75022/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-387112" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387112"
                     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 #12"></div>
  </section>
</div>
    <div class="postbit" id="387127" data-post-id="387127">
  <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 appreciate the initiative to try and find a really good use before the ecosystem takes an unexpected turn. I suppose I am always too focused on concrete problems to solve right away. Nasty bias from a busy job.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="387127" data-batch-url="/posts/batch_likers">
                        0
                      </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/eep-79-native-records-and-structs/75022/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-387127" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="387127"
                     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>