Newest at the top
2025-01-17 16:11:17 +0100 | mixfix41 | (~s2h@user/mixfix41) (Ping timeout: 248 seconds) |
2025-01-17 16:08:09 +0100 | Core6783 | (~rosco@183.171.110.197) (Ping timeout: 246 seconds) |
2025-01-17 16:00:56 +0100 | sprotte24 | (~sprotte24@p200300d16f42e000c0ca5743a4b487b6.dip0.t-ipconnect.de) |
2025-01-17 15:56:35 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2025-01-17 15:53:29 +0100 | simplystuart | (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) (Ping timeout: 265 seconds) |
2025-01-17 15:52:54 +0100 | gentauro | (~gentauro@user/gentauro) gentauro |
2025-01-17 15:48:48 +0100 | simplystuart | (~simplystu@c-75-75-152-164.hsd1.pa.comcast.net) |
2025-01-17 15:47:03 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2025-01-17 15:45:22 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-01-17 15:43:23 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds) |
2025-01-17 15:42:22 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3502-53f9-f9e8-b5fd-14d6-305d.rev.sfr.net) (Remote host closed the connection) |
2025-01-17 15:39:43 +0100 | jespada | (~jespada@2800:a4:dd:6900:c1bf:43ce:3d23:1885) jespada |
2025-01-17 15:38:48 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3502-53f9-f9e8-b5fd-14d6-305d.rev.sfr.net) alexherbo2 |
2025-01-17 15:38:09 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3502-53f9-8db8-533d-25fc-39be.rev.sfr.net) (Remote host closed the connection) |
2025-01-17 15:36:11 +0100 | caryhartline | (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) CaryHartline |
2025-01-17 15:36:10 +0100 | <merijn> | There are some basic checks to catch the simplest cases, but in general your asking GHC to solve the (famously unsolvable) halting problem :p |
2025-01-17 15:36:06 +0100 | jespada | (~jespada@2800:a4:c4:2a00:c8e8:2028:dfd0:433b) (Ping timeout: 265 seconds) |
2025-01-17 15:35:22 +0100 | <merijn> | chiselfuse: How do you expect GHC to know that it will never evaluate? :) |
2025-01-17 15:34:27 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3502-53f9-8db8-533d-25fc-39be.rev.sfr.net) alexherbo2 |
2025-01-17 15:34:02 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3502-53f9-8169-56a8-78c5-3a5b.rev.sfr.net) (Remote host closed the connection) |
2025-01-17 15:33:22 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2025-01-17 15:33:08 +0100 | tnt2 | tnt1 |
2025-01-17 15:33:08 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 272 seconds) |
2025-01-17 15:31:16 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-01-17 15:28:44 +0100 | caryhartline | (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) (Read error: Connection reset by peer) |
2025-01-17 15:28:15 +0100 | tnt2 | tnt1 |
2025-01-17 15:28:15 +0100 | tnt1 | (~Thunderbi@user/tnt1) (Ping timeout: 246 seconds) |
2025-01-17 15:28:02 +0100 | caryhartline | (~caryhartl@KD106184157010.ec-userreverse.dion.ne.jp) CaryHartline |
2025-01-17 15:27:50 +0100 | tnt2 | (~Thunderbi@user/tnt1) tnt1 |
2025-01-17 15:25:43 +0100 | <tomsmeding> | in the interpreter (ghci), that probably doesn't work |
2025-01-17 15:25:33 +0100 | <tomsmeding> | in principle, it would loop forever, but the runtime is sometimes smart enough to detect that and throw a <<loop>> exception instead |
2025-01-17 15:25:17 +0100 | <tomsmeding> | if you compile your haskell program, it will probably print "<<loop>>" instead of looping forever for something like this :) |
2025-01-17 15:24:49 +0100 | <chiselfuse> | tomsmeding: if it doesn't do nothing then it does something? are you referring to the possibility that this definition does something in terms of side effects which is why it loops forever instead of just telling me it will never evaluate? |
2025-01-17 15:24:45 +0100 | <tomsmeding> | so it's 1, and then -- what does x start with? well, 1, so another 1, and then -- what does x start with? 1, so another 1, and... etc. |
2025-01-17 15:24:24 +0100 | <tomsmeding> | the example I just showed, `let x = 1 : x in x`, constructs a list called 'x' which starts with 1, and then continues with... x |
2025-01-17 15:23:56 +0100 | <tomsmeding> | for other data types, this can make perfect sense |
2025-01-17 15:23:41 +0100 | <tomsmeding> | if x is a number, that's nonsense, so it indeed loops forever |
2025-01-17 15:23:29 +0100 | <tomsmeding> | in haskell, there is only one x, so your value for x references x itself! |
2025-01-17 15:23:09 +0100 | <tomsmeding> | in other programming languages, if you mention x on the right-hand side of an assignment to x, that right-most x just means "the previous value of x" |
2025-01-17 15:22:48 +0100 | <tomsmeding> | chiselfuse: the main message is that `x = x` doesn't do _nothing_ |
2025-01-17 15:22:29 +0100 | <chiselfuse> | i don't understand any of that so i'll just read ahead in my book for now |
2025-01-17 15:21:33 +0100 | ft | (~ft@p4fc2a354.dip0.t-ipconnect.de) ft |
2025-01-17 15:21:08 +0100 | <lambdabot> | [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1... |
2025-01-17 15:21:07 +0100 | <tomsmeding> | > let x = 1 : x in x |
2025-01-17 15:21:04 +0100 | <lambdabot> | [1,2] |
2025-01-17 15:21:03 +0100 | <tomsmeding> | > 1 : 2 : [] |
2025-01-17 15:20:55 +0100 | <tomsmeding> | chiselfuse: you're defining x in terms of itself :) |
2025-01-17 15:20:00 +0100 | <chiselfuse> | ultra noob question. what do `x=x` or `x=x*2` do in haskell? i tried using `x` after defining it this way and it just hangs. is it looping forever? |
2025-01-17 15:14:47 +0100 | alp | (~alp@2001:861:8ca0:4940:efc9:d30b:fc5e:f0f7) |
2025-01-17 15:12:07 +0100 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:90fa:a109:5301:a5a3) ubert |