--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
List[A] = () \/ (A, List[A])
What's the issue?
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
Thanks,
-Vlad
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+...@googlegroups.com.
>> For more
>> options,
>> visit
>> https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>>
>>
>>
>>
>>
>>
>>
>> --
>> You received this
>> message because you
>> are subscribed to the
>> Google Groups
>> "scala-user" group.
>> To unsubscribe from
>> this group and stop
>> receiving emails from
>> it, send an email to
>> For more options,
>> visit
>> https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are
>> subscribed to the Google Groups
>> "scala-user" group.
>> To unsubscribe from this group and stop
>> receiving emails from it, send an email to
>> For more options, visit
>> https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "scala-user" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsub...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "scala-user" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to scala-user+unsubscribe@googlegroups.com
> <mailto:scala-user+unsub...@googlegroups.com>.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.
>> <mailto:scala-user+unsubscribe...@googlegroups.com>.
>> For more
>> options,
>> visit
>> https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>>
>>
>>
>>
>>
>>
>>
>> --
>> You received this
>> message because you
>> are subscribed to the
>> Google Groups
>> "scala-user" group.
>> To unsubscribe from
>> this group and stop
>> receiving emails from
>> it, send an email to
>> scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsubscribe...@googlegroups.com>.
>> For more options,
>> visit
>> https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are
>> subscribed to the Google Groups
>> "scala-user" group.
>> To unsubscribe from this group and stop
>> receiving emails from it, send an email to
>> scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsubscribe...@googlegroups.com>.
>> For more options, visit
>> https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "scala-user" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsubscribe...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout
>> <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "scala-user" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to scala-user+unsubscribe@googlegroups.com
> <mailto:scala-user+unsubscribe@googlegroups.com>.
To unsubscribe from this group and stop receiving emails from it, send an email to scala-user+unsubscribe@googlegroups.com.> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "scala-user" group.
For more options, visit https://groups.google.com/d/optout.
>> <mailto:vpatr...@gmail.com>>:
>>
>> :) Say, we are in the category of finite sets. Are your lists
>> still infinite? Do they even exist? I mean, is there a solution to
>> this recursive equation?
>>
>> In another category, Kleene star, if it exists, may be one of the
>> solutions for the recursive definition. Are you sure it defines
>> infinite lists?
>>
>> Okay, throw in countable lists; so it is X*+(N=>X), it's another
>> solution. Is it the only one? No way; if we are in Sets, there may
>> be much more linear orders serving as list domains. We may need AC.
>>
>> I got a feeling that in all this discussion a very specific,
>> unique category, is implied. What category is it?
>>
>> Thanks,
>> -Vlad
>>
>> On Wed, Aug 17, 2016 at 1:37 AM, Alec Zorab <alec...@gmail.com
>> <mailto:alec...@gmail.com>> wrote:
>>
>> In what way do you consider the definition of infinite lists
>> to be problematic? If you take issue with, e.g. intensional
>> definitions of sets, then I can see how you might dislike
>> infinite lists. Otherwise, I don't think I see your objection?
>>
>> On Wed, 17 Aug 2016 at 02:40 Vlad Patryshev
>> <vpatr...@gmail.com <mailto:vpatr...@gmail.com>> wrote:
>>
>> :) This does not look like a definition to me. It's an
>> equation, and the existence of a solution may be questionable.
>>
>> Thanks,
>> -Vlad
>>
>> On Tue, Aug 16, 2016 at 6:00 PM, Alec Zorab
>> <alec...@gmail.com <mailto:alec...@gmail.com>> wrote:
>>
>> List[A] = () \/ (A, List[A])
>>
>> What's the issue?
>>
>>
>> On Wed, 17 Aug 2016, 01:18 Vlad Patryshev,
>> <vpatr...@gmail.com <mailto:vpatr...@gmail.com>>
>> wrote:
>>
>> Ok, so it seems like everything's clear now,
>> except that formally defining infinite lists is
>> still kind of a problem.
>>
>> Thanks,
>> -Vlad
>>
>> On Tue, Aug 16, 2016 at 4:37 PM, Rex Kerr
>> <ich...@gmail.com <mailto:ich...@gmail.com>> wrote:
>>
>> Yes, I mean "has a pair (pure, flatMap) (or
>> equivalently a trio (pure, map, join)) that
>> satisfy monadic laws". Stream really could
>> have two, the natural one (List-like) and the
>> infinite repeat one (with join being diag, and
>> map being the same in both).
>>
>> I've never found a nice way of talking about
>> nontermination properties with category
>> theory. (Nor algorithmic complexity.)
>>
>> Anyway, I'm just pointing out that Stream and
>> List have different nontermination properties,
>> not saying that it is literally List[X] +
>> anything (and certainly not N => X).
>>
>> And yes there's an isomorphism between
>> throwing exceptions and other stuff, and no, I
>> don't normally find that illuminating (except
>> inasmuch as it indicates that you can
>> potentially catch the exception and replace
>> the good branch with some sum type that
>> represents the failure).
>>
>> --Rex
>>
>> On Tue, Aug 16, 2016 at 4:18 PM, Vlad
>> Patryshev <vpatr...@gmail.com
>> <mailto:vpatr...@gmail.com>> wrote:
>>
>> Seems like my view is kind of simple. If
>> something cannot be formulated
>> categorically, it's under suspicion.
>>
>> E.g. if we allow throwing exceptions, it's
>> okay, but we have to define the category
>> we are in. Probably functions with
>> exceptions - that's a Kleisli category for
>> Exception monad.
>>
>> You seem to suggest to define Stream[X] as
>> List[X]+(N=>X) (where N is the type of
>> natural numbers). Cool; but I'm having
>> hard time trying to define flattening on
>> this union; and we need to prove that it's
>> associative. On the other hand, seems like
>> singleton is a good candidate for pure.
>>
>> The expression "has a monad" sounds weird.
>> Do you mean, has a pair (pure, flatten)
>> that satisfy monadic laws?
>>
>> Thanks,
>> -Vlad
>>
>> On Tue, Aug 16, 2016 at 3:31 PM, Rex Kerr
>> <ich...@gmail.com
>> <mailto:vpatr...@gmail.com>> wrote:
>>
>> Oh, and if Stream is defined as a
>> List, then what is Stream.head? A
>> function? In which category? Some
>> Kleisli?
>>
>> I'm totally confused now. Anybody?
>>
>> Thanks,
>> -Vlad
>>
>> On Tue, Aug 16, 2016 at 2:17 PM,
>> Vlad Patryshev
>> <vpatr...@gmail.com
>> <mailto:vpatr...@gmail.com>> wrote:
>>
>> Ok, Alec, can you then give a
>> full definition of this
>> functor/monad?
>>
>>
>>
>> Thanks,
>> -Vlad
>>
>> On Tue, Aug 16, 2016 at 3:22
>> AM, Alec Zorab
>> <alec...@gmail.com
>> <mailto:alec...@gmail.com>>
>> wrote:
>>
>> Wait, why have we decided
>> that `continually` is
>> return for `Stream`?
>>
>> val sx: Stream[X] = ...
>> sx.flatMap(Stream(_))
>>
>> On Tue, 16 Aug 2016 at
>> 05:50 Rex Kerr
>> <ich...@gmail.com
>> <mailto:vpatr...@gmail.com>>
>> <mailto:ich...@gmail.com>>
>> <mailto:vpatr...@gmail.com>>
>> <mailto:ich...@gmail.com>>
>> <mailto:vpatr...@gmail.com>>
>> <mailto:scala-user+unsub...@googlegroups.com>.
>> For more
>> options,
>> visit
>> https://groups.google.com/d/optout
>>
>>
>>
>>
>>
>>
>>
>> --
>> You received this
>> message because you
>> are subscribed to the
>> Google Groups
>> "scala-user" group.
>> To unsubscribe from
>> this group and stop
>> receiving emails from
>> it, send an email to
>> scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsub...@googlegroups.com>.
>> For more options,
>> visit
>> https://groups.google.com/d/optout
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are
>> subscribed to the Google Groups
>> "scala-user" group.
>> To unsubscribe from this group and stop
>> receiving emails from it, send an email to
>> scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsub...@googlegroups.com>.
>> For more options, visit
>> https://groups.google.com/d/optout
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "scala-user" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to scala-user+unsubscribe@googlegroups.com
>> <mailto:scala-user+unsub...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "scala-user" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to scala-user+unsubscribe@googlegroups.com
> <mailto:scala-user+unsub...@googlegroups.com>.
Haskell streams can be empty, so they can't be comonadic
>> <mailto:scala-user+...@googlegroups.com>.
>> For more
>> options,
>> visit
>> https://groups.google.com/d/optout
>>
>>
>>
>>
>>
>>
>>
>> --
>> You received this
>> message because you
>> are subscribed to the
>> Google Groups
>> "scala-user" group.
>> To unsubscribe from
>> this group and stop
>> receiving emails from
>> it, send an email to
>> <mailto:scala-user+...@googlegroups.com>.
>> For more options,
>> visit
>> https://groups.google.com/d/optout
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are
>> subscribed to the Google Groups
>> "scala-user" group.
>> To unsubscribe from this group and stop
>> receiving emails from it, send an email to
>> <mailto:scala-user+...@googlegroups.com>.
>> For more options, visit
>> https://groups.google.com/d/optout
>>
>>
>>
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "scala-user" group.
>> To unsubscribe from this group and stop receiving emails from it,
>> send an email to scala-user+...@googlegroups.com
>> <mailto:scala-user+...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "scala-user" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to scala-user+...@googlegroups.com
> <mailto:scala-user+...@googlegroups.com>.