Logs: freenode/#haskell
| 2020-11-23 16:06:30 | hackage | implicit-hie 0.1.2.4 - Auto generate hie-bios cradles & hie.yaml https://hackage.haskell.org/package/implicit-hie-0.1.2.4 (Avi_Dessauer) |
| 2020-11-23 16:07:03 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 260 seconds) |
| 2020-11-23 16:07:36 | → | boxscape47 joins (54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) |
| 2020-11-23 16:07:47 | <hseg> | http://ix.io/2Fdl even more plumbing, but it works now |
| 2020-11-23 16:08:14 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-23 16:09:08 | <hseg> | frankly, orbit feels like a unfoldWhileM :: (a -> m Bool) -> (a -> m a) -> m [a] |
| 2020-11-23 16:10:36 | <hseg> | actually, should be :: (a -> Bool) -> m a -> m [a] |
| 2020-11-23 16:10:56 | × | phaul quits (~phaul@ruby/staff/phaul) (Ping timeout: 240 seconds) |
| 2020-11-23 16:11:07 | <ski> | @hoogle m (Maybe a) -> m [a] |
| 2020-11-23 16:11:08 | <lambdabot> | Control.Monad.Loops unfoldM :: Monad m => m (Maybe a) -> m [a] |
| 2020-11-23 16:11:08 | <lambdabot> | Data.Typeable gcast1 :: forall c t t' a . (Typeable t, Typeable t') => c (t a) -> Maybe (c (t' a)) |
| 2020-11-23 16:11:08 | <lambdabot> | BasePrelude gcast1 :: (Typeable t, Typeable t') => c (t a) -> Maybe (c (t' a)) |
| 2020-11-23 16:11:08 | × | boxscape quits (86ab2c1f@gateway/web/cgi-irc/kiwiirc.com/ip.134.171.44.31) (Ping timeout: 260 seconds) |
| 2020-11-23 16:12:22 | → | reallymemorable joins (~quassel@2601:180:8300:8fd0:6c3d:6186:76f:e94b) |
| 2020-11-23 16:12:43 | <hseg> | hrm... no, that's not quite right |
| 2020-11-23 16:12:56 | → | phaul joins (~phaul@ruby/staff/phaul) |
| 2020-11-23 16:13:20 | <hseg> | orbit :: State (Int, IntSet) [Int] |
| 2020-11-23 16:14:01 | <ski> | not `orbit :: Int -> State IntSet [Int]', then ? |
| 2020-11-23 16:14:25 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-23 16:14:30 | <hseg> | you're right |
| 2020-11-23 16:14:34 | <hseg> | thanks |
| 2020-11-23 16:14:46 | → | Stanley00 joins (~stanley00@unaffiliated/stanley00) |
| 2020-11-23 16:15:00 | → | fxg joins (~fxg@unaffiliated/fxg) |
| 2020-11-23 16:15:13 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 2020-11-23 16:15:15 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-23 16:15:19 | <hseg> | right, basically want some kind of iterateUntilM :: (a -> a) -> (a -> m Bool) -> a -> m [a] |
| 2020-11-23 16:17:05 | <hseg> | and indeed, given *more* plumbing could just use unfoldM :: (a -> m (Maybe a)) -> a -> m [a] |
| 2020-11-23 16:17:36 | <ski> | @hoogle Monad m => (a -> m (Maybe a)) -> a -> m [a] |
| 2020-11-23 16:17:37 | <lambdabot> | Control.Monad.Extra iterateMaybeM :: Monad m => (a -> m (Maybe a)) -> a -> m [a] |
| 2020-11-23 16:19:16 | → | bmurt joins (~bmurt@c-76-99-78-62.hsd1.pa.comcast.net) |
| 2020-11-23 16:19:20 | × | Stanley00 quits (~stanley00@unaffiliated/stanley00) (Ping timeout: 272 seconds) |
| 2020-11-23 16:19:33 | ← | bmurt parts (~bmurt@c-76-99-78-62.hsd1.pa.comcast.net) () |
| 2020-11-23 16:19:33 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 2020-11-23 16:19:44 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 2020-11-23 16:24:15 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 256 seconds) |
| 2020-11-23 16:24:38 | → | Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
| 2020-11-23 16:25:00 | → | knupfer joins (~Thunderbi@200116b8240c1500d4c0d3fffeca1dc0.dip.versatel-1u1.de) |
| 2020-11-23 16:26:02 | × | knupfer quits (~Thunderbi@200116b8240c1500d4c0d3fffeca1dc0.dip.versatel-1u1.de) (Remote host closed the connection) |
| 2020-11-23 16:26:10 | → | knupfer joins (~Thunderbi@200116b8240c1500510f95f5a248f852.dip.versatel-1u1.de) |
| 2020-11-23 16:26:19 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 2020-11-23 16:29:01 | × | phaul quits (~phaul@ruby/staff/phaul) (Ping timeout: 246 seconds) |
| 2020-11-23 16:29:31 | → | phaul joins (~phaul@ruby/staff/phaul) |
| 2020-11-23 16:31:43 | <ski> | hseg : why the name `cycnot' ? |
| 2020-11-23 16:32:16 | <hseg> | cycle notation |
| 2020-11-23 16:32:31 | × | alp quits (~alp@2a01:e0a:58b:4920:d40a:f511:3b1a:9c8d) (Ping timeout: 272 seconds) |
| 2020-11-23 16:32:47 | <sm[m]> | g'day haskellers |
| 2020-11-23 16:34:28 | <ski> | oh, "notation" |
| 2020-11-23 16:34:28 | × | phaul quits (~phaul@ruby/staff/phaul) (Ping timeout: 260 seconds) |
| 2020-11-23 16:34:48 | ski | was thinking "not" as in negation, and it didn't seem to make sense |
| 2020-11-23 16:35:04 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-11-23 16:35:15 | <ski> | heyo, sm[m] |
| 2020-11-23 16:35:32 | <hseg> | h |
| 2020-11-23 16:35:35 | <hseg> | ah |
| 2020-11-23 16:36:00 | <ski> | ok. so each of the computed permutations are cycles |
| 2020-11-23 16:36:12 | <hseg> | yup |
| 2020-11-23 16:36:34 | <hseg> | basically i'm breaking up the permutation into cycle |
| 2020-11-23 16:36:36 | <hseg> | cycles |
| 2020-11-23 16:36:47 | <ski> | right |
| 2020-11-23 16:37:06 | ski | was just checking it seems to make sense, for the empty permutation |
| 2020-11-23 16:38:10 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-23 16:38:16 | × | jess quits (jess@freenode/staff/jess) (Remote host closed the connection) |
| 2020-11-23 16:38:32 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
| 2020-11-23 16:38:54 | → | cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
| 2020-11-23 16:39:01 | → | jess joins (jess@freenode/staff/jess) |
| 2020-11-23 16:39:04 | <ski> | hm .. reminds me i was investigating a sort of arithmetic on permutations. addition, multiplication, power/exponential |
| 2020-11-23 16:39:38 | <hseg> | oh? |
| 2020-11-23 16:40:31 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 2020-11-23 16:40:53 | → | phaul joins (~phaul@ruby/staff/phaul) |
| 2020-11-23 16:42:00 | hackage | gi-gobject 2.0.25 - GObject bindings https://hackage.haskell.org/package/gi-gobject-2.0.25 (inaki) |
| 2020-11-23 16:42:35 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 2020-11-23 16:43:55 | → | michalz joins (~user@185.246.204.61) |
| 2020-11-23 16:45:18 | × | czwartyeon quits (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) (Ping timeout: 272 seconds) |
| 2020-11-23 16:45:35 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-23 16:46:53 | → | conal_ joins (~conal@64.71.133.70) |
| 2020-11-23 16:48:09 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2020-11-23 16:50:05 | × | conal quits (~conal@64.71.133.70) (Ping timeout: 240 seconds) |
| 2020-11-23 16:50:44 | × | elliott__ quits (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2020-11-23 16:51:31 | × | Sarma quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
| 2020-11-23 16:52:32 | <ski> | hseg : if ⌜π : A!⌝ and ⌜ϙ : B!⌝, then ⌜π + ϙ : (A + B)!⌝ is defined by ⌜(π + ϙ) (ι₀ x) = ι₀ (π x)⌝ and ⌜(π + ϙ) (ι₁ y) = ι₁ (ϙ y)⌝; ⌜π × ϙ : (A × B)!⌝ is defined by ⌜(π × ϙ) (x₀,x₁) = (π x₀,ϙ x₁)⌝; and ⌜ϙ ^ π : (Bᴬ)!⌝ by ⌜(ϙ ^ π) f = ϙ ∘ f ∘ π⌝ |
| 2020-11-23 16:53:24 | × | qwfpmluy quits (2e0505e2@HSI-KBW-046-005-005-226.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 245 seconds) |
| 2020-11-23 16:53:46 | → | geekosaur joins (ac3a5347@172.58.83.71) |
| 2020-11-23 16:54:24 | <hseg> | ok, so basically specializing (|||), (***) and promap to the case that the maps are isos? |
| 2020-11-23 16:54:31 | × | Wamanuz2 quits (~wamanuz@78-70-34-81-no84.tbcn.telia.com) (Remote host closed the connection) |
| 2020-11-23 16:54:48 | × | phaul quits (~phaul@ruby/staff/phaul) (Ping timeout: 272 seconds) |
| 2020-11-23 16:55:22 | × | enoq quits (~textual@194-208-146-143.lampert.tv) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-11-23 16:55:25 | × | chkno quits (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer) |
| 2020-11-23 16:56:06 | → | chkno joins (~chkno@75-7-2-127.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-23 16:56:48 | <ski> | furthermore, you can define ⌜0 : 0!⌝ as the empty permutation, and ⌜1 : 1!⌝ as the identity permutation given by ⌜1 () = ()⌝. then you can for each positive integer ⌜n⌝ define ⌜cₙ : n!⌝ as the cyclic permutation given by ⌜cₙ i = i+1 ⇐ i+1 < n⌝ and ⌜cₙ (i−1) = 0⌝ |
| 2020-11-23 16:57:51 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-23 16:59:07 | <hseg> | yeah -- the unique permutations on the initial and terminal objects. cyclics are more ad-hoc |
| 2020-11-23 16:59:21 | × | cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
| 2020-11-23 17:01:25 | → | czwartyeon joins (~czwartyeo@77-45-55-99.sta.asta-net.com.pl) |
| 2020-11-23 17:01:26 | <ski> | hseg : yes. now the question is how these operations behave, wrt cycle decomposition, e.g. if we work with permutations upto isomorphism on the carrier (so that e.g. ⌜c₂ × c₃ = c₆⌝ but ⌜c₂ × c₄ = c₄ + c₄ = 2 × c₄⌝ (where ⌜2 = 1 + 1⌝)) |
| 2020-11-23 17:02:11 | <hseg> | "perms mod carrier iso" = cycle types, no? |
| 2020-11-23 17:02:48 | <ski> | i think so (if my guess of the meaning of "cycle types" is correct) |
| 2020-11-23 17:04:25 | <hseg> | cycle type is basically the multiset of lengths of the cycle decomposition |
| 2020-11-23 17:04:59 | <hseg> | product of cyclics will be cyclic iff lengths coprime |
| 2020-11-23 17:05:08 | → | mirrorbird joins (~psutcliff@89.45.7.132) |
| 2020-11-23 17:05:23 | <hseg> | and in general will decompose into gcd*c_lcm |
| 2020-11-23 17:05:39 | → | phaul joins (~phaul@ruby/staff/phaul) |
All times are in UTC.