<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta name="x_Generator" content="Microsoft Word 15 (filtered medium)">
<style>
<!--
p.x_MsoNormal, li.x_MsoNormal, div.x_MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif}
a:x_link, span.x_MsoHyperlink
        {color:blue;
        text-decoration:underline}
a:x_visited, span.x_MsoHyperlinkFollowed
        {color:#954F72;
        text-decoration:underline}
.x_MsoChpDefault
        {}
div.x_WordSection1
        {}
-->
</style>
<div lang="EN-US" link="blue" vlink="#954F72">
<div class="x_WordSection1">
<p class="x_MsoNormal">>> Given that both Erlang and elixir are implemented on top of BEAM, the wheel might not need reinventing?</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Why Elixir implements Unicode in Elixir? You have to rewrite it anyway.</p>
<p class="x_MsoNormal"> </p>
<p class="x_MsoNormal">Ilya</p>
<p class="x_MsoNormal"> </p>
<div style="border:none; border-top:solid #E1E1E1 1.0pt; padding:3.0pt 0in 0in 0in">
<p class="x_MsoNormal" style="border:none; padding:0in"><b>From: </b><a href="mailto:Oliver.Korpilla@gmx.de">Oliver Korpilla</a><br>
<b>Sent: </b>Saturday, January 14, 2017 06:53 PM<br>
<b>To: </b><a href="mailto:michal@muskala.eu">Michał Muskała</a><br>
<b>Cc: </b><a href="mailto:erlang-questions@erlang.org">Erlang Questions</a><br>
<b>Subject: </b>Re: [erlang-questions] Erlang basic doubts about String, message passing and context switching overhead</p>
</div>
<p class="x_MsoNormal"> </p>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Could the Unicode support in elixir serve as a starting point?<br>
<br>
<a href="https://hexdocs.pm/elixir/1.3.3/String.html#content">https://hexdocs.pm/elixir/1.3.3/String.html#content</a><br>
<br>
String.upcase/1 and String.downcase/1 seem to be Unicode-aware. And a lot of effort seems have gone in scenarios like this:<br>
<br>
"For example, the codepoint “é” is two bytes:<br>
<br>
iex> byte_size("é")<br>
2"<br>
<br>
Given that both Erlang and elixir are implemented on top of BEAM, the wheel might not need reinventing? I know engineers and programmers love inventing stuff, and this discussion seems to point in that direction, but...<br>
<br>
Cheers,<br>
Oliver<br>
 <br>
 <br>
<br>
Gesendet: Freitag, 13. Januar 2017 um 23:34 Uhr<br>
Von: "Michał Muskała" <michal@muskala.eu><br>
An: "Richard A. O'Keefe" <ok@cs.otago.ac.nz>, "Steve Davis" <steven.charles.davis@gmail.com>, g@rre.tt, "Jesper Louis Andersen" <jesper.louis.andersen@gmail.com><br>
Cc: "Erlang Questions" <erlang-questions@erlang.org><br>
Betreff: Re: [erlang-questions] Erlang basic doubts about String, message passing and context switching overhead<br>
<br>
I fully agree there are no languages that deal with strings perfectly. That said there are those that are better at it and those that aren't so good. A language, where I need to look for a library to upcase or downcase my own name, fits into the second group
 in my book.<br>
<br>
Michał.<br>
On 13 Jan 2017, 13:20 +0100, Jesper Louis Andersen <jesper.louis.andersen@gmail.com>, wrote:<br>
<br>
Richard is indeed right, depending on what your definition of "String" is.<br>
 If a "String" is "An array of characters from some alphabet", then you need to take into account Strings are Unicode codepoints in practice. This is also the most precise definition from a technical point of view.<br>
 When I wrote my post, I was--probably incorrectly--assuming the older notion of a "String" where the representation is either ASCII or something like ISO-8859-15. In this case, a string coincides with a stream of bytes.<br>
 Data needs parsing. A lot of data comes in as some kind of stringy representation: UTF-8, byte array (binary), and so on.<br>
 And of course, that isn't the whole story, since there are examples of input which are not string-like in their forms.<br>
  <br>
<br>
On Fri, Jan 13, 2017 at 2:34 AM Richard A. O'Keefe <ok@cs.otago.ac.nz[mailto:ok@cs.otago.ac.nz]> wrote:<br>
<br>
On 13/01/17 8:56 AM, Jesper Louis Andersen wrote:<br>
> Strings are really just streams of bytes.<br>
<br>
That was true a long time ago.  Maybe.<br>
But it isn't anywhere near accurate as a description<br>
of Unicode:<br>
  - Unicode is made of 21-bit code points, not bytes.<br>
  - Most possible code points are not defined.<br>
  - Some of those that are defined are defined as<br>
    "it is illegal to use this".<br>
  - Unicode sequences have *structure*; it is simply<br>
    not the case that every sequence of allowable<br>
    Unicode code points is a legal Unicode string.<br>
  - As a special case of that, if s is a non-empty<br>
    valid Unicode string, it is not true that every<br>
    substring of s is a valid Unicode string.<br>
<br>
In case you were thinking of UTF-8, not all byte<br>
sequences are valid UTF-8.<br>
<br>
Byte streams are as important as you say, but it's<br>
really hard to see the software for a radar or a<br>
radio telescope as processing strings...<br>
 _______________________________________________<br>
erlang-questions mailing list<br>
erlang-questions@erlang.org<br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions_______________________________________________">http://erlang.org/mailman/listinfo/erlang-questions_______________________________________________</a> erlang-questions mailing list erlang-questions@erlang.org
<a href="http://erlang.org/mailman/listinfo/erlang-questions[http://erlang.org/mailman/listinfo/erlang-questions">
http://erlang.org/mailman/listinfo/erlang-questions[http://erlang.org/mailman/listinfo/erlang-questions</a>]<br>
_______________________________________________<br>
erlang-questions mailing list<br>
erlang-questions@erlang.org<br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div>
</span></font>
</body>
</html>