@BW  Yes, I'm probably overthinking it​. The below type defs are pretty
straightforward
​ -- this is not a type issue at all -- ​


list() [any()]
charlist() [char()]
char() 0..0x10FFFF

Since the culprit for me here is the IO display -- I think the easiest
solution is what @O is referencing (Thanks!) -->
iex(1)> IEx.configure inspect: [char_lists: false]
:ok
iex(2)> [7]
[7]
iex(3)> List.insert_at([], 2, 7)
[7]
iex(4)> :)






On Tue, Aug 9, 2016 at 1:08 PM, Ben Wilson <benwilson...@gmail.com> wrote:

> Maybe type with list doesn't make any sense. For one thing the maybe type
> is Nothing | Some(a) but that isn't what we have here at all. Thus a Maybe
> list would be Nothing | Some(list), which doesn't cover the various single
> char and so on you talked about.
>
> I think you're over thinking it. '\a' and [7] are just two different ways
> of writing exactly the same list.
>
> On Monday, August 8, 2016 at 10:47:53 PM UTC-4, brpandey wrote:
>>
>> Thanks folks.  I appreciate it
>>
>> I guess logically I understand it and have before but I feel like I have
>> some intuitive gap/resistance to really accept this (because I feel like I
>> have run into this before).
>>
>> In the spirit of Haskell, it would be interesting to have a Maybe type to
>> wrap the List type.  So Maybe List could return a list, a single char or a
>> list with a single num, or an absence of both.
>>
>> http://learnyouahaskell.com/a-fistful-of-monads
>>
>> The return type of insert_at is a list and so technically this works
>> fine, but folks just have a lot of programmer word gravity and baggage --
>> LOL.  So even though '\a' is in fact [7] which is a list, `\a` in itself
>> printed out doesn't look like a list.
>>
>> Just my 2 --
>>
>>
>> Enjoy the Olympics!
>> B
>>
>> On Mon, Aug 8, 2016 at 6:41 PM, Ben Wilson <benwil...@gmail.com> wrote:
>>
>>> You can read more about it in the getting started guides:
>>> http://elixir-lang.org/getting-started/binaries-stri
>>> ngs-and-char-lists.html
>>>
>>> On Monday, August 8, 2016 at 8:27:23 PM UTC-4, Louis Pilfold wrote:
>>>>
>>>> Hey
>>>>
>>>> [7] == '\a'
>>>>
>>>> Single quote strings are actually lists of characters, so when you have
>>>> a list of numbers that can be treated as characters Elixir will print them
>>>> as like so.
>>>>
>>>> Cheers,
>>>> Louis
>>>>
>>>> On 9 Aug 2016 01:15, "Bibek Pandey" <bib...@gmail.com> wrote:
>>>>
>>>>> Hi all --
>>>>>
>>>>> I'm getting a '\a' when trying to insert into an empty list.  Doesn't
>>>>> appear to be expected behavior.
>>>>>
>>>>> $ iex
>>>>> Erlang/OTP 19 [erts-8.0.2] [source-9503fff] [64-bit] [smp:2:2]
>>>>> [async-threads:10] [hipe] [kernel-poll:false]
>>>>>
>>>>> Interactive Elixir (1.3.2) - press Ctrl+C to exit (type h() ENTER for
>>>>> help)
>>>>> iex(1)> List.insert_at([], 0, 7)
>>>>> '\a'
>>>>> iex(2)> List.insert_at([], 1, 7)
>>>>> '\a'
>>>>> iex(3)> List.insert_at([], 2, 7)
>>>>> '\a'
>>>>> iex(4)> List.insert_at([3], 2, 7)
>>>>> [3, 7]
>>>>> iex(5)> List.insert_at([3], 0, 7)
>>>>> [7, 3]
>>>>> iex(6)> List.insert_at([3], 1, 7)
>>>>> [3, 7]
>>>>> iex(7)>
>>>>>
>>>>>
>>>>> Thanks B
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "elixir-lang-talk" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to elixir-lang-ta...@googlegroups.com.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/elixir-lang-talk/CAF5zmfxO
>>>>> VPpDqVCQCTjHy5gJwEW74JbHH2m6BK3ADRubD5GoPA%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/elixir-lang-talk/CAF5zmfxOVPpDqVCQCTjHy5gJwEW74JbHH2m6BK3ADRubD5GoPA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-talk+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-talk/CAF5zmfyPKefHx7TY7QEkUOmeCZ5i9r%2BC9mgXsSj7%3D7NNBdTCZg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to