Logs: freenode/#xmonad
| 2020-12-29 21:15:37 | × | Hash quits (~Hash@unaffiliated/hash) (Quit: WeeChat 3.0) |
| 2020-12-29 21:24:10 | × | novas0x2a quits (~blah@157-131-125-210.fiber.dynamic.sonic.net) (Read error: Connection reset by peer) |
| 2020-12-29 21:25:07 | → | novas0x2a joins (~blah@157-131-125-210.fiber.dynamic.sonic.net) |
| 2020-12-29 21:42:49 | × | mc47 quits (~yecinem@89.246.239.190) (Read error: Connection reset by peer) |
| 2020-12-29 21:45:07 | × | geekosaur quits (42d52137@66.213.33.55) (Remote host closed the connection) |
| 2020-12-30 00:01:49 | × | notis quits (~notis@212.54.207.241.dsl.dyn.forthnet.gr) (Ping timeout: 246 seconds) |
| 2020-12-30 00:02:16 | → | notis joins (~notis@45.134.22.54) |
| 2020-12-30 00:08:30 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 2020-12-30 00:19:19 | × | notis quits (~notis@45.134.22.54) (Ping timeout: 246 seconds) |
| 2020-12-30 00:27:17 | → | growpotkin joins (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
| 2020-12-30 01:30:06 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 2020-12-30 01:30:27 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 2020-12-30 01:33:06 | → | davemq_ joins (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) |
| 2020-12-30 01:33:13 | × | davemq quits (~davemq@99-179-0-50.lightspeed.austtx.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-12-30 01:45:46 | × | drl quits (~l@2600:1700:8360:3870::725) (Quit: Leaving) |
| 2020-12-30 02:36:01 | → | Hash joins (~Hash@unaffiliated/hash) |
| 2020-12-30 03:05:37 | × | theDon quits (~td@muedsl-82-207-238-118.citykom.de) (Ping timeout: 264 seconds) |
| 2020-12-30 03:07:24 | → | theDon joins (~td@94.134.91.72) |
| 2020-12-30 03:30:07 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 2020-12-30 03:30:27 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 2020-12-30 04:02:46 | × | theDon quits (~td@94.134.91.72) (Ping timeout: 256 seconds) |
| 2020-12-30 04:04:29 | → | theDon joins (~td@94.134.91.51) |
| 2020-12-30 04:19:19 | → | hacxman joins (~hexo@gateway/tor-sasl/hexo) |
| 2020-12-30 04:19:23 | × | hexo quits (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
| 2020-12-30 04:19:37 | hacxman | is now known as hexo |
| 2020-12-30 05:22:09 | → | ADG1089__ joins (~aditya@223.235.213.117) |
| 2020-12-30 05:22:25 | × | ddellacosta quits (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds) |
| 2020-12-30 06:28:00 | → | palo1 joins (~weechat@c-base/crew/palo) |
| 2020-12-30 06:31:01 | × | palo quits (~weechat@c-base/crew/palo) (Ping timeout: 246 seconds) |
| 2020-12-30 06:31:01 | palo1 | is now known as palo |
| 2020-12-30 07:01:34 | → | wallygivesthed joins (~danielxvu@2607:f2c0:e35e:9b::cd8) |
| 2020-12-30 07:16:23 | × | hexo quits (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
| 2020-12-30 07:19:02 | → | hexo joins (~hexo@gateway/tor-sasl/hexo) |
| 2020-12-30 07:50:06 | × | al3x27 quits (~plovs@85.254.74.40) (Quit: WeeChat 3.0) |
| 2020-12-30 07:54:48 | × | growpotkin quits (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2020-12-30 08:07:40 | → | notis joins (~notis@45.134.22.54) |
| 2020-12-30 08:57:22 | × | wz1000 quits (~wz1000@static.11.113.47.78.clients.your-server.de) (Ping timeout: 260 seconds) |
| 2020-12-30 09:05:44 | → | thunderrd joins (~thunderrd@183.182.111.131) |
| 2020-12-30 09:09:27 | → | xaltsc joins (~xaltsc@unaffiliated/xaltsc) |
| 2020-12-30 09:17:45 | <Solid> | I wish things in the PP type were a little more strongly typed :/ |
| 2020-12-30 09:27:01 | × | wonko7 quits (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Quit: See You Space Cowboy..) |
| 2020-12-30 09:33:09 | → | wz1000 joins (~wz1000@static.11.113.47.78.clients.your-server.de) |
| 2020-12-30 10:20:18 | → | mc47 joins (~yecinem@89.246.239.190) |
| 2020-12-30 10:26:06 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 2020-12-30 10:26:26 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 2020-12-30 10:35:04 | × | ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection) |
| 2020-12-30 10:36:57 | → | ADG1089__ joins (~aditya@223.235.213.117) |
| 2020-12-30 10:43:19 | × | ADG1089__ quits (~aditya@223.235.213.117) (Remote host closed the connection) |
| 2020-12-30 10:44:16 | × | brettgilio quits (~brettgili@brettgilio.com) (Ping timeout: 240 seconds) |
| 2020-12-30 10:45:50 | → | brettgilio joins (~brettgili@brettgilio.com) |
| 2020-12-30 10:48:47 | × | notis quits (~notis@45.134.22.54) (Ping timeout: 260 seconds) |
| 2020-12-30 10:50:33 | → | notis joins (~notis@185.51.134.230) |
| 2020-12-30 10:53:01 | → | ADG1089__ joins (~aditya@223.235.213.117) |
| 2020-12-30 11:20:49 | × | notis quits (~notis@185.51.134.230) (Ping timeout: 246 seconds) |
| 2020-12-30 11:22:54 | → | notis joins (~notis@45.134.22.54) |
| 2020-12-30 11:30:02 | <ADG1089__> | @t spawnPipe |
| 2020-12-30 11:30:03 | <lambdabot> | Maybe you meant: tell thank you thanks thesaurus thx tic-tac-toe ticker time todo todo-add todo-delete type v @ ? . |
| 2020-12-30 11:30:11 | <ADG1089__> | @type spawnPipe |
| 2020-12-30 11:30:14 | <lambdabot> | error: Variable not in scope: spawnPipe |
| 2020-12-30 11:31:11 | <ADG1089__> | spawnPipe :: MonadIO m => String -> m Handle (Launch an external application through the system shell and return a Handle to its standard input.) |
| 2020-12-30 11:31:52 | <ADG1089__> | how can i get the handle to its standard output? |
| 2020-12-30 11:38:03 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:fcdb:75f:452b:6812) |
| 2020-12-30 11:38:56 | <Solid> | it returns the handle as a monadic action |
| 2020-12-30 11:39:19 | <Solid> | i.e. if you're in some do-notation-thing you can do `h <- spawnPipe "my-program"'` |
| 2020-12-30 11:39:26 | <Solid> | and then `h` will be the handle |
| 2020-12-30 11:40:49 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:7c82:3285:3449:9fb4) (Ping timeout: 258 seconds) |
| 2020-12-30 11:58:16 | × | mc47 quits (~yecinem@89.246.239.190) (Read error: Connection reset by peer) |
| 2020-12-30 12:06:41 | → | mc47 joins (~yecinem@89.246.239.190) |
| 2020-12-30 12:09:52 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:fcdb:75f:452b:6812) (Ping timeout: 260 seconds) |
| 2020-12-30 12:17:21 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:1a8:463f:5e1d:212e) |
| 2020-12-30 12:30:52 | <ADG1089__> | Solid: it returns stdin, i wanted stdout; I copied the source code and modified it to spawnPipe' |
| 2020-12-30 12:31:08 | <ADG1089__> | anyways, i wanted to know if there is a X transformer |
| 2020-12-30 12:31:10 | <ADG1089__> | @hoogle X a -> IO a |
| 2020-12-30 12:31:11 | <lambdabot> | Basement.Monad unsafePrimToIO :: PrimMonad prim => prim a -> IO a |
| 2020-12-30 12:31:11 | <lambdabot> | Generic.Data.Internal.Utils coerce' :: Coercible (f x) (g x) => f x -> g x |
| 2020-12-30 12:31:11 | <lambdabot> | Control.Effect.Lift sendM :: (Has (Lift n) sig m, Functor n) => n a -> m a |
| 2020-12-30 12:32:44 | <Solid> | ADG1089__: whoops, sorry for missing that detail |
| 2020-12-30 12:33:39 | <Solid> | There's no (safe) way to do `X a -> IO a', no |
| 2020-12-30 12:33:51 | <Solid> | because the X monad is essentially "IO with more stuff" |
| 2020-12-30 12:34:33 | <Solid> | what you can do it run that "more stuff" and get the IO action out; that function is called `runX' |
| 2020-12-30 12:34:42 | <Solid> | @hoogle runX |
| 2020-12-30 12:34:43 | <lambdabot> | Text.XML.HXT.Arrow.XmlState runX :: IOSArrow XmlTree c -> IO [c] |
| 2020-12-30 12:34:43 | <lambdabot> | Text.XML.HXT.Arrow.XmlState.RunIOStateArrow runX :: IOSArrow XmlTree c -> IO [c] |
| 2020-12-30 12:34:43 | <lambdabot> | XMonad.Core runX :: XConf -> XState -> X a -> IO (a, XState) |
| 2020-12-30 12:35:10 | <ADG1089__> | Solid: I was using XMonad.Util.ExtensibleState#gets :: (ExtensionClass a, XLike m) => (a -> b) -> m b inside a do notation with IO |
| 2020-12-30 12:35:35 | <ADG1089__> | but IO is not XLike so i couldn't bind the result `v <- XS.gets` |
| 2020-12-30 12:36:00 | <Solid> | Yes, if your function is in IO there's no way you can get at xmonad's extensible state |
| 2020-12-30 12:36:39 | → | geekosaur joins (ac3a8b4c@172.58.139.76) |
| 2020-12-30 12:37:58 | <ADG1089__> | I can make that X and use liftIO in dependent functions |
| 2020-12-30 12:38:01 | <ADG1089__> | I think Solid |
| 2020-12-30 12:39:27 | <Solid> | That would be possible yes |
| 2020-12-30 12:40:13 | <Solid> | actually, maybe not; depends on _where_ you want to use that |
| 2020-12-30 12:40:42 | <dminuoso> | It still surprises me how non-Haskellers write their xmonad config with extensible state, and not run scared off. It confused the heck out of me for a long while how this could even work when I was actually learning Haskell. |
| 2020-12-30 12:41:41 | <Solid> | dminuoso: I would expect non-Haskellers to be much more comfortable with the idea of "oh there's some bit of global mutable state here" than people who're already a few levels deep into the cult ;) |
| 2020-12-30 12:49:26 | <ADG1089__> | i have some haskell experience |
| 2020-12-30 12:52:06 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 2020-12-30 12:52:27 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 2020-12-30 13:03:04 | <dminuoso> | Solid: Not just mutable state, but global mutable extensible state! :P |
| 2020-12-30 13:03:47 | <aldum> | non-haskellers don't know what they are messing with in the config :) |
| 2020-12-30 13:12:54 | → | tux1 joins (~tux@ru1.metahumanvpn.network) |
All times are in UTC.