2024-07-13 00:11:35 +0200 | ryck | (~ryck@user/ryck) (Remote host closed the connection) |
2024-07-13 00:14:49 +0200 | <geekosaur> | Leary: haskellbridge (heisenbridge) replaces backticks with double quotes |
2024-07-13 00:16:04 +0200 | <geekosaur> | @hashirama:hashi.sbs, `additionalKeysP` can't be used at the top level, it should be appended to your existing `additionalKeysP` |
2024-07-13 00:16:04 +0200 | <lambdabot> | Unknown command, try @list |
2024-07-13 00:16:49 +0200 | <geekosaur> | you're applying an operator to your xmonad config record, so it needs a config record |
2024-07-13 00:17:22 +0200 | <geekosaur> | you might do better going through the wikibook to learn how Haskell works at least partially |
2024-07-13 00:17:29 +0200 | <geekosaur> | @where wikibook |
2024-07-13 00:17:30 +0200 | <lambdabot> | http://en.wikibooks.org/wiki/Haskell |
2024-07-13 01:30:10 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: yes, i was reading a bit |
2024-07-13 01:31:19 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: i'll move that snippet of code to other place then, it seems that it cant be before the Config definition, right? |
2024-07-13 01:32:49 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: i was watching a video about PF, and it scared me a bit |
2024-07-13 01:32:49 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_matrix/media/v3/download/kf8nh.com/yiukShyIwqxQtwsVvAaoLBXe (3 lines) |
2024-07-13 01:42:01 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> i also saw this: |
2024-07-13 01:42:01 +0200 | <haskellbridge> | "additionalKeysP can only be used as part of the configuration function, not as a standalone declaration." |
2024-07-13 01:42:04 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> now it makes sense |
2024-07-13 01:49:52 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> oh god, it was just the damn indentation problem! |
2024-07-13 01:49:52 +0200 | <haskellbridge> | lol.... |
2024-07-13 01:55:58 +0200 | <geekosaur> | yeh, I had it indented for a reason (but the indentation matched my config and might be wrong for others) |
2024-07-13 01:56:45 +0200 | <geekosaur> | https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L140-L279 |
2024-07-13 02:00:45 +0200 | <geekosaur> | also: IO does take some brain rewiring… but lazy evaluation will really break your brain until you get used to it |
2024-07-13 02:01:52 +0200 | <geekosaur> | > [1..] |
2024-07-13 02:01:53 +0200 | <lambdabot> | [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,... |
2024-07-13 02:03:29 +0200 | <geekosaur> | ^ lazy evaluation is what makes this work, not special-casing by the bot. you can think of it as evaluation turning a crank until it gets a value, and stopping turning the crank when it no longer needs values (in this case, because lambdabot only prints output to a certain size and truncates) |
2024-07-13 02:04:54 +0200 | <geekosaur> | (you can't use the bot from matrix, because heisenbridge only puppets the matrix side, so everything you send has a prefix on the IRC side) |
2024-07-13 02:08:26 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: oh, this is just like a set in mathematics |
2024-07-13 02:08:34 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> this is the set of all integers |
2024-07-13 02:08:55 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: this is cool, might save a lot of work |
2024-07-13 02:09:19 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: i assumeed haskell didnt had indentation because of the brackets |
2024-07-13 02:09:46 +0200 | <geekosaur> | indentation/"layout" is how we normally do things. it is possible to use brackets to override, but we usually don't |
2024-07-13 02:09:49 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> btw, the code did compiled, but i didnt understood the key convention |
2024-07-13 02:10:00 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> C-M-1 copies to the first workspace? |
2024-07-13 02:10:23 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> i tried pressing it, but it does nothing at all |
2024-07-13 02:10:32 +0200 | <geekosaur> | the brackets you see in xmonad, though, aren't about indentation: they're record update syntax `record {field1 = newvalue, field2 = newvalue2, …}` |
2024-07-13 02:10:54 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: so it's different from the most languages huh... |
2024-07-13 02:12:18 +0200 | <geekosaur> | your configuration usually starts from `def` (the default value for `XConfig`), then replaces field values using record update syntax, then applies other modifications with e.g. `additionalKeysP :: XConfig -> [(String,X ())] -> XConfig` |
2024-07-13 02:12:58 +0200 | <geekosaur> | then we use combinators to apply other things (ex. https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L140-L141) |
2024-07-13 02:13:44 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> i was reading about what $ represents, and it's basically the "eval" of haskell (comparing it to lisp) |
2024-07-13 02:13:48 +0200 | <geekosaur> | the keybinds list is usually long enough that we prefer it to come after the main config instead of before it |
2024-07-13 02:13:55 +0200 | <geekosaur> | well, no |
2024-07-13 02:14:19 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: isnt? |
2024-07-13 02:14:19 +0200 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_matrix/media/v3/download/kf8nh.com/MArPkTCdXAGCdRKoVxYdoXgs (3 lines) |
2024-07-13 02:14:23 +0200 | <geekosaur> | `f $ x` is the same as `f x`, but the precedence of `$` is very low so it kinda acts like backwards parentheses |
2024-07-13 02:14:39 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: oh |
2024-07-13 02:15:04 +0200 | <geekosaur> | we also sometimes use it when we want application to be visible as an operator (thus, usually an operator secction) |
2024-07-13 02:15:56 +0200 | <geekosaur> | > map ($ x) [sin,cos] |
2024-07-13 02:15:57 +0200 | <lambdabot> | [sin x,cos x] |
2024-07-13 02:16:22 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> maybe the keybinding has no effect because the way that im declaring the workspaces is wrong |
2024-07-13 02:16:25 +0200 | <geekosaur> | (that's also showing off th simple-reflect package) |
2024-07-13 02:16:37 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> https://paste.tomsmeding.com/4EWuKRFT |
2024-07-13 02:17:04 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: apply x into each element of the list, right? |
2024-07-13 02:17:12 +0200 | <geekosaur> | also, lisp's "apply" applies a function to parameters specified as a list. There's no good way to do that in Haskell |
2024-07-13 02:17:55 +0200 | <geekosaur> | especially if the parameters have different types, because all elements of a Haskell list must have the same type |
2024-07-13 02:18:04 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: haskell requires a different way of thinking then |
2024-07-13 02:18:14 +0200 | <geekosaur> | yes |
2024-07-13 02:19:10 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> i wanted to ask something , i dont know if it's off topic , but it's haskell related |
2024-07-13 02:19:28 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> if haskell is a PF language, then if you "eval" something today, you wont get a different result in the future |
2024-07-13 02:19:46 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> thus, is it safe to assume that the programs we made today, will basically live on forever? |
2024-07-13 02:20:05 +0200 | <geekosaur> | well, no, because other things change |
2024-07-13 02:20:20 +0200 | <geekosaur> | the world inside the program only changes when in IO |
2024-07-13 02:20:36 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> ik, but we can control what gets in |
2024-07-13 02:20:51 +0200 | <geekosaur> | running a previously compiled program may change because e.g. the running kernel doesn't support the system calls it makes any more |
2024-07-13 02:21:23 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: hmmmm, that'd take a few decades to reach this point |
2024-07-13 02:22:08 +0200 | <geekosaur> | and trying to rebuild it may fail because the language has changed in the meantime (we're kinda poor at backward compatibility, sadly) and trying to use an older compiler may fail (I tried to install ghc 7.10 the other day and it SIGILLed on me) |
2024-07-13 02:22:50 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> oh |
2024-07-13 02:22:52 +0200 | <geekosaur> | it was built for an older Ubuntu release; I'm not sure what they changed to cause that |
2024-07-13 02:36:14 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: this is what i was missing: |
2024-07-13 02:36:14 +0200 | <haskellbridge> | https://github.com/geekosaur/xmonad.hs/blob/44b4c3678dbe3da159c1f88b9ea28df0e7ff36fc/xmonad.hs#L144 |
2024-07-13 02:38:10 +0200 | <geekosaur> | yes |
2024-07-13 02:38:34 +0200 | <geekosaur> | I bound it separately so I could use it from multiple places (notably, from that keybinding) |
2024-07-13 02:42:15 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> weird, you didnt imported the stackset |
2024-07-13 02:43:12 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> here it gives a ambiguity error tho |
2024-07-13 02:43:12 +0200 | <haskellbridge> | https://paste.tomsmeding.com/s3OHE4ag |
2024-07-13 02:49:22 +0200 | <geekosaur> | imported here https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L46 |
2024-07-13 02:50:20 +0200 | <geekosaur> | I think I don't get the ambiguity error because I imported it qualified, so the unqualified name always means the one imported from `XMonad` |
2024-07-13 02:50:49 +0200 | <geekosaur> | you really want to import `XMonad.StackSet` qualified, because it clashes with not only that but a bunch of things from `Prelude` which is implicitly imported |
2024-07-13 02:58:22 +0200 | <geekosaur> | collisions if you import it unqualified: workspaces, member, delete (I think), filter, modify, modify' (the latter two with MonadState from mtl or transformers) |
2024-07-13 02:59:32 +0200 | <geekosaur> | by convention we always import XMonad.StackSet qualified as W, so code snippets using functions from it generally work for everyone |
2024-07-13 03:48:52 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: i did like this: |
2024-07-13 03:48:52 +0200 | <haskellbridge> | import qualified XMonad.StackSet as W |
2024-07-13 03:48:59 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: yes |
2024-07-13 03:49:45 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> that's a really weird error then, i dont know why it says it's ambiguous |
2024-07-13 03:50:19 +0200 | <geekosaur> | can you pastebin your entire xmonad.hs? |
2024-07-13 03:50:25 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> yes |
2024-07-13 03:50:46 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> https://paste.tomsmeding.com/yTgJ5Am0 |
2024-07-13 03:53:21 +0200 | <geekosaur> | you are importing XMonad.StackSet three times: once on line 28 (limited to RationalRect), once on line 39 unqualified (this is the one the error message is referencing), once on line 48 qualified |
2024-07-13 03:55:29 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> so i should import it once and import all from it? |
2024-07-13 03:55:44 +0200 | <geekosaur> | it makes sense to keep the first, just remove the second |
2024-07-13 03:56:12 +0200 | <geekosaur> | although you could look for your uses of RationalRect and qualify them with W, then you could get rid of the first one as well |
2024-07-13 03:56:17 +0200 | <geekosaur> | that's up to you |
2024-07-13 03:57:16 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> i did this, kept the first |
2024-07-13 03:57:16 +0200 | <haskellbridge> | but still it throws the same error, of a ambiguous reference |
2024-07-13 03:57:29 +0200 | <geekosaur> | you removed line 39? |
2024-07-13 03:58:15 +0200 | <geekosaur> | oh, you're also importing unqualified on line 9 "import XMonad.StackSet as W -- float purposes" |
2024-07-13 03:58:25 +0200 | <geekosaur> | remove that too |
2024-07-13 03:58:48 +0200 | <geekosaur> | it ws being shadowed by the import on line 39 and became active when you removed that |
2024-07-13 04:00:04 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> alright, so i removed all , and now im left with the qualified one |
2024-07-13 04:00:05 +0200 | ml| | (~ml|@user/ml/x-5298235) (Ping timeout: 240 seconds) |
2024-07-13 04:00:32 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> ooohhh!!! it works now! |
2024-07-13 04:00:50 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> thanks you very much |
2024-07-13 04:13:54 +0200 | ml| | (~ml|@user/ml/x-5298235) |
2024-07-13 04:28:31 +0200 | td_ | (~td@i53870910.versanet.de) (Ping timeout: 260 seconds) |
2024-07-13 04:30:11 +0200 | td_ | (~td@i5387091C.versanet.de) |
2024-07-13 04:43:52 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2024-07-13 04:47:58 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2024-07-13 10:35:12 +0200 | ash3en | (~ash3en@2a01:c22:9183:5200:c03d:8904:4cd7:fab0) |
2024-07-13 10:37:52 +0200 | ash3en | (~ash3en@2a01:c22:9183:5200:c03d:8904:4cd7:fab0) (Remote host closed the connection) |
2024-07-13 10:46:04 +0200 | Solitary | (~Solitary@user/solitary) (Quit: All work and no play makes Jack a dull boy.) |
2024-07-13 11:32:29 +0200 | Solitary | (~Solitary@user/solitary) |
2024-07-13 11:34:33 +0200 | ash3en | (~ash3en@2a01:c22:9183:5200:c03d:8904:4cd7:fab0) |
2024-07-13 11:38:14 +0200 | tremon | (~tremon@83.80.159.219) |
2024-07-13 12:13:01 +0200 | hightower2 | (~hightower@213.186.15.36) (Read error: Connection reset by peer) |
2024-07-13 13:39:02 +0200 | burp | (~quassel@hedgewars/sysadmin/burp) (Server closed connection) |
2024-07-13 13:39:12 +0200 | burp | (~quassel@hedgewars/sysadmin/burp) |
2024-07-13 13:57:38 +0200 | Aminautf | (~Aminautf@167.172.225.175) (Server closed connection) |
2024-07-13 13:57:52 +0200 | Aminautf | (~Aminautf@167.172.225.175) |
2024-07-13 14:28:35 +0200 | ash3en | (~ash3en@2a01:c22:9183:5200:c03d:8904:4cd7:fab0) (Ping timeout: 256 seconds) |
2024-07-13 14:29:22 +0200 | hiecaq | (~hiecaq@user/hiecaq) |
2024-07-13 14:41:45 +0200 | hiecaq | (~hiecaq@user/hiecaq) (Remote host closed the connection) |
2024-07-13 14:44:10 +0200 | hiecaq | (~hiecaq@user/hiecaq) |
2024-07-13 15:13:35 +0200 | RMSBach | (~guygastin@137.184.131.156) (Server closed connection) |
2024-07-13 15:14:26 +0200 | RMSBach | (~guygastin@137.184.131.156) |
2024-07-13 16:43:46 +0200 | ash3en | (~ash3en@2a01:c23:9461:f701:9ec8:8856:9bf9:672) |
2024-07-13 16:50:15 +0200 | ash3en | (~ash3en@2a01:c23:9461:f701:9ec8:8856:9bf9:672) (Ping timeout: 256 seconds) |
2024-07-13 16:52:46 +0200 | ash3en | (~ash3en@2a01:c23:8dbe:7b00:c358:807f:b77e:de14) |
2024-07-13 17:06:41 +0200 | ash3en | (~ash3en@2a01:c23:8dbe:7b00:c358:807f:b77e:de14) (Ping timeout: 256 seconds) |
2024-07-13 17:17:09 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) |
2024-07-13 19:03:15 +0200 | catman | (~catman@user/catman) (Ping timeout: 256 seconds) |
2024-07-13 20:06:46 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) (Remote host closed the connection) |
2024-07-13 20:18:31 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) |
2024-07-13 20:18:56 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) (Remote host closed the connection) |
2024-07-13 20:25:32 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) |
2024-07-13 20:29:13 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) (Remote host closed the connection) |
2024-07-13 20:41:47 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) |
2024-07-13 21:15:11 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> what can be considered "basic haskell" ? |
2024-07-13 21:15:11 +0200 | <haskellbridge> | and is it enough for dealing with xmonad? |
2024-07-13 21:16:13 +0200 | <geekosaur> | it will be good enough for your `xmonad.hs`, possibly not good enough for reading internal source |
2024-07-13 21:17:49 +0200 | <geekosaur> | if you are using the wikibook I pointed you to earlier, the first two sections of the Beginner's Track should be enough |
2024-07-13 21:19:43 +0200 | <geekosaur> | if you want to understand what the various components are doing, you'll want to finish the beginner's track and the beginning of "Fun with Types" in the Advanced Track |
2024-07-13 21:20:11 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: thank you, will do some notes on that |
2024-07-13 21:20:21 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: that too |
2024-07-13 21:20:33 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> i saw a bit of the "ducking type" of haskell |
2024-07-13 21:20:33 +0200 | <geekosaur> | but we deliberately try to keep what users need to configure their xmonad.hs simple |
2024-07-13 21:21:05 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> geekosaur: yeah, i've noticed that xmonad indeed has a high-level of abstraction, i really appreciate that |
2024-07-13 21:21:45 +0200 | <geekosaur> | which means some complexity in the implementation in order to expose easy-to-use interfaces |
2024-07-13 21:22:52 +0200 | <haskellbridge> | <柱間 (@hashirama:hashi.sbs)> btw you've mentioned yesterday that some programs in haskell wont work after a few years, but most of the old extensions included in xmonad-contrib are quite old and still work |
2024-07-13 21:26:40 +0200 | <geekosaur> | we've patched them up as needed when the compiler changes enough to break them, plus we discard or replace things that break too much (cf. https://github.com/xmonad/xmonad-contrib/issues/793) |
2024-07-13 21:29:02 +0200 | <geekosaur> | _most_ of the compiler changes either don't affect us (e.g. changes to `Monad` and `Num`'s prerequisites) or are easily fixed (recently spacing was made more consistent, which required some tweaking but not much because the changes cvodified what was already considered a best practice) |
2024-07-13 21:31:17 +0200 | mekeor | (~user@2001:a61:24fd:e001:35e:e281:1be5:12cd) |
2024-07-13 22:16:39 +0200 | ash3en | (~ash3en@2a01:c23:8886:7700:a039:baee:74cf:6b33) (Ping timeout: 256 seconds) |
2024-07-13 23:17:16 +0200 | ash3en | (~ash3en@193.32.248.188) |
2024-07-13 23:24:56 +0200 | Deadm0th | (~mikoshi@user/Deadm0th) (Server closed connection) |
2024-07-13 23:25:19 +0200 | Deadm0th | (~mikoshi@83.168.107.192) |
2024-07-13 23:25:20 +0200 | Deadm0th | (~mikoshi@83.168.107.192) (Changing host) |
2024-07-13 23:25:20 +0200 | Deadm0th | (~mikoshi@user/Deadm0th) |
2024-07-13 23:28:56 +0200 | ash3en | (~ash3en@193.32.248.188) (Remote host closed the connection) |
2024-07-13 23:29:15 +0200 | ash3en | (~ash3en@193.32.248.188) |
2024-07-13 23:33:11 +0200 | ash3en | (~ash3en@193.32.248.188) (Remote host closed the connection) |
2024-07-13 23:54:12 +0200 | catman | (~catman@user/catman) |