00:02:21 Fun, that problem is EXPSPACE-complete. 00:02:46 ( https://en.wikipedia.org/wiki/EXPSPACE ) 00:02:47 (input):1:9: error: unexpected 00:02:47 Operator without known fixity: 00:02:47 ://, expected: space 00:02:47 https://en.wikipedia.org/wiki/EXPSPACE ) 00:02:47 ^ 00:02:53 idris-bot: ah yes. 00:03:01 int-e: Oh, I didn't find that. 00:03:10 EXPSPACE-complete is pretty bad. 00:03:29 Hmm, that's regular expressions with squaring, though. 00:03:54 yeah 00:04:00 sorry, I didn't read far enough. 00:04:31 I guess it's better if you don't allow squaring? 00:04:56 (Nor did I think, equivalence of NFA is in PSPACE) 00:05:54 But with squaring your NFA can be exponential in the size of the expression, I guess. 00:05:59 So PSPACE-complete it is. 00:06:17 squaring goes beyond regular languages. 00:07:00 http://cs.stackexchange.com/a/12625 says that in practice NFA equivalence can often be done efficiently. 00:24:37 -!- hjulle has joined. 00:34:00 -!- rdococ has quit (Ping timeout: 246 seconds). 00:36:01 -!- rdococ has joined. 00:40:13 shachaf: does ^(|.*((a[^a]|[^a]a).............[^a]|(aa|[^a][^a]).............a).*|[^a].*|..?.?.?.?.?.?.?.?.?.?.?.?a.*|.*a|.*[^a].?.?.?.?.?.?.?.?.?.?.?.?.?.)$ match all strings? What about ^(|.*((a[^a]|[^a]a).............[^a]|(aa|[^a][^a]).............a).*|[^a].*|..?.?.?.?.?.?.?.?.?.?.?.?a.*|.*a|.*[^a].?.?.?.?.?.?.?.?.?.?.?.?.?.?.)$? 00:40:36 int-e: ? 00:40:54 just a puzzle 00:41:13 * oerjan wakes up again 00:41:47 which I have messed up, let me try that again... 00:42:47 ah they went with my suggestion 2+3, essentially 00:43:29 int-e: Did you produce those by using some algorithm to take the complement of a string? 00:43:36 now i started to briefly worry about * -> # -> * 00:44:03 Er, of a regular expression. 00:44:47 however, there's _probably_ no way to construct something that's ambiguously # or *, so it _should_ be fine. 00:44:50 the first one should be ^(|.*((a[^a]|[^a]a).............[^a]|(aa|[^a][^a]).............a).*|[^a].*|..?.?.?.?.?.?.?.?.?.?.?.?(a.*|)|.*a|.*[^a].?.?.?.?.?.?.?.?.?.?.?.?.?.)$, and the second one ^(|.*((a[^a]|[^a]a).............[^a]|(aa|[^a][^a]).............a).*|[^a].*|..?.?.?.?.?.?.?.?.?.?.?.?(a.*|)|.*a|.*[^a].?.?.?.?.?.?.?.?.?.?.?.?.?.?.)$ 00:44:59 shachaf: it's much much worse than that. 00:46:01 i,i they're just regular languages, how bad could it possibly be? 00:46:02 -!- Phantom__Hoover has joined. 00:47:07 -!- Phantom_Hoover has quit (Remote host closed the connection). 00:47:13 shachaf: how about, the shortest string that's not accepted has 32769 characters? 01:05:21 -!- rdococ has quit (Quit: Page closed). 01:12:41 slightly shorter expressions, same idea, and correcting a mistake with the second expression: ^(|.*(([^a]a|a[^a]).............a|([^a][^a]|aa).............[^a]).*|.?.?.?.?.?.?.?.?.?.?.?.?.?.?(a.*|.?)|.*a.?.?.?.?.?.?.?.?.?.?.?.?.?.?)$ and ^(|.*(([^a]a|a[^a]).............a|([^a][^a]|aa).............[^a]).*|.?.?.?.?.?.?.?.?.?.?.?.?.?.?(a.*|.?)|.*a.?.?.?.?.?.?.?.?.?.?.?.?.?.?.?)$ 01:14:47 -!- hjulle has quit (Ping timeout: 246 seconds). 01:15:32 (the first expression has a slightly longer minimal non-accepted string, too: 32782 characters. the second one now accepts all strings; this went wrong in my previous attempt.) 01:17:26 -!- rdococ has joined. 01:17:59 decided to get mIRC 6.35 and then get trial reset script... 01:18:07 was that a good decision? 01:18:17 oh I know! an esolang based on mIRC. 01:19:02 Anyway, sleep. I can explain those regexps tomorrow if anyone cares. 01:19:35 goodnight int-2... sorry. just had to 01:26:20 -!- Encapsulation has quit (Remote host closed the connection). 01:36:04 -!- rdococ has quit. 01:36:32 -!- rdococ has joined. 01:55:59 hm int-e is asleep, i was going to ask if lambdabot had any unboxed functions 01:56:17 :k Int# 01:56:18 Not in scope: type constructor or class ‘Int#’ 01:56:18 Perhaps you meant one of these: 01:56:18 ‘Int’ (imported from Data.Int), ‘Int8’ (imported from Data.Int) 01:56:25 :k GHC.Exts.Int# 01:56:26 # 01:59:15 :k Typeable 01:59:16 k -> Constraint 02:00:53 :k Typeable GHC.Exts.Int# 02:00:53 Illegal unlifted type: GHC.Prim.Int# 02:00:54 In a type in a GHCi command: Typeable GHC.Prim.Int# 02:01:00 aha 02:01:12 :k Typeable (GHC.Exts.Int# -> GHC.Exts.Int#) 02:01:13 Constraint 02:01:20 hm 02:04:38 is there a separate Typeable for unboxed types? 02:06:38 i'm not sure how it works now 02:06:52 i am steadfastly refusing to try to install GHC HEAD :P 02:07:20 (or 7.10, until the platform comes out.) 02:08:05 they're not allowed 7.8, anyway. 02:08:12 *in 02:08:31 what's not allowed 02:08:35 # -> Constraint ? 02:08:39 Typeable Int# 02:08:42 oh 02:08:46 i cannot get it to derive 02:09:10 but in 7.10, Typeable is so magical that it _probably_ exists. 02:10:05 it allowed =>, after all, util this latest fix. 02:10:19 *these latest fixes 02:12:17 i just don't know how to test it in lambdabot if it doesn't export any unboxed types in its > environment 02:13:11 :t typeRep (Proxy :: Proxy Int#) 02:13:12 Not in scope: type constructor or class ‘Int#’ 02:13:12 Perhaps you meant one of these: 02:13:12 ‘Int’ (imported from Data.Int), ‘Int8’ (imported from Data.Int) 02:13:20 :t typeRep (Proxy :: Proxy GHC.Exts.Int#) 02:13:21 Illegal unlifted type: GHC.Prim.Int# 02:13:22 In an expression type signature: Proxy GHC.Prim.Int# 02:13:22 In the first argument of ‘typeRep’, namely 02:13:29 hmph 02:13:44 there's Proxy# type but i'm not sure what it does 02:13:46 :t typeRep (Proxy :: Proxy (GHC.Exts.Int# -> GHC.Exts.Int# -> *)) 02:13:47 parse error on input ‘*’ 02:13:51 oops 02:14:17 :t typeRep (Proxy :: Proxy (Proxy :: GHC.Exts.Int# -> *)) 02:14:18 ‘GHC.Prim.Int#’ of kind ‘#’ is not promotable 02:14:18 In the kind ‘GHC.Prim.Int# -> *’ 02:14:18 In an expression type signature: 02:14:31 * oerjan may be confusing emself 02:14:46 i suppose they're not allowed in enough places 02:15:01 :t typeRep (Proxy :: Proxy (GHC.Exts.Int# -> ())) -- ? 02:15:02 TypeRep 02:15:13 ah. 02:15:48 ok it thinks that exists, at least. 02:17:20 -!- Sgeo|web has joined. 02:17:30 :t let x :: forall a b c. (a b c ~ GHC.Exts.Int# -> ()) => TypeRep in typeRep (Proxy :: Proxy a) 02:17:31 parse error on input ‘->’ 02:17:36 So, many Wikias now have autoplaying loud video ads 02:17:50 :t let x :: forall a b c. (a b c ~ (GHC.Exts.Int# -> ())) => TypeRep in typeRep (Proxy :: Proxy a) 02:17:51 The type signature for ‘x’ lacks an accompanying binding 02:17:55 oops 02:18:08 :t let x :: forall a b c. (a b c ~ (GHC.Exts.Int# -> ())) => TypeRep; x = typeRep (Proxy :: Proxy a) in x 02:18:09 Couldn't match kind ‘*’ with ‘#’ 02:18:09 When matching types 02:18:09 b0 :: * 02:18:19 BAH 02:18:57 -!- Hijiri has quit (Ping timeout: 248 seconds). 02:19:33 :k (a b c ~ (GHC.Exts.Int# -> ())) => a 02:19:34 Expecting two more arguments to ‘a’ 02:19:34 Expected a type, but ‘a’ has kind ‘k0 -> k1 -> *’ 02:19:34 In a type in a GHCi command: (a b c ~ (GHC.Prim.Int# -> ())) => a 02:19:48 -!- edirc has joined. 02:20:24 * oerjan is confusing himself again 02:22:56 does Typeable impredicativity actually cause any problems 02:22:58 even theoretically 02:23:14 I mean other than GHC being really broken 02:27:13 of => you mean? i doubt it, but it's sort of intuitively fishy. 02:29:53 because the things on the left of => are of a fragile existence, being automatically instantiated all the time 02:30:32 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 02:32:19 so depending on whether Eq T has been instantiated, Eq T => U is in a sense the same thing as U. 02:32:48 and having something in the language that can distinguish them is fishy. 02:35:21 it gets even worse if you somehow break coherence of type classes so that there are two different Eq Ts in scope 02:35:50 (i saw someone complain on stackoverflow, i think, about this sometimes happening with GADTs) 02:36:15 (well, at least the part about not picking the instance from the right source.) 02:43:29 -!- GeekDude has quit (Ping timeout: 248 seconds). 02:52:20 -!- TodPunk has quit (Read error: Connection timed out). 02:52:51 -!- TodPunk has joined. 02:53:03 :t I# 02:53:03 0 02:53:03 ? 02:53:04 Not in scope: data constructor ‘I#’ 02:53:04 Perhaps you meant ‘In’ (imported from Lambdabot.Plugin.Haskell.Eval.Trusted) 02:53:18 oh wtf 03:29:00 Is it weird to find syntax-rules more elegant than imperative macros 03:29:14 I feel like what I'm doing isn't cheating because it's syntax-rules only 03:29:44 Like, if what I wanted to do was too inelegant, then I'd be forced into syntax-case 03:29:50 -!- dianne has quit (Ping timeout: 272 seconds). 03:31:07 -!- dianne has joined. 03:35:52 did you know that printf has "int" in it? i just found out it does, with s/int/float/g 03:35:54 prfloatf 03:36:51 floateresting 03:36:57 haha 03:40:21 -!- bb010g has joined. 03:46:51 @tell int-e [...] I've narrowed it down to KindSignatures + ScopedTypeVariables + TypeFamilies for the first one and PolyKinds + ScopedTypeFamilies for the second one. [...] <-- pretty sure you switched those 03:46:51 Consider it noted. 03:47:21 * oerjan ignores the actual typo 03:50:54 -!- zadock has joined. 03:53:45 oerjan: the actual typo is that you didn't @tell float-e hth 03:54:11 O KAY 03:57:29 someone needs to make a programming language using prfloatf 03:58:58 the problem is, what should it _do_? printf already prints floats. 04:00:16 oerjan: clearly it should prfloat them hth 04:00:31 O KAU 04:07:03 -!- ProofTechnique has joined. 04:13:08 `addquote what? I just wanted a laugh... lol I need to stop using lol, lol just stop then 04:13:10 1240) what? I just wanted a laugh... lol I need to stop using lol, lol just stop then 04:13:17 oops 04:13:21 `addquote what? I just wanted a laugh... lol I need to stop using lol, lol just stop then, hth 04:13:25 oh wait 04:13:27 1241) what? I just wanted a laugh... lol I need to stop using lol, lol just stop then, hth 04:13:32 `delquote 1240 04:13:34 ​*poof* what? I just wanted a laugh... lol I need to stop using lol, lol just stop then 04:13:51 lol 04:14:07 ... 04:14:13 I just used lol again, lol 04:14:43 careful or your lol may become another django 04:15:07 sorry, I don't know what a django means 04:15:12 `quote django 04:15:23 261) django is named after a person? thought it would be a giraffe or something \ 306) `quote django ​352) django is named after a person? thought it would be a giraffe or something thankfully only one \ 307) `quote django ​352) django is named a 04:16:16 oh yeah... 04:16:21 lol 04:16:34 `` quote django | tail -n +5 04:16:35 318) `addquote two quotes about quotes about django I guess the worst part is that I appear in all three hackego quotes about django elliott_: another quote? you're not helping :/ \ 884) `pastequotes django http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5404 oh miscounted 04:17:16 `` quote django | tail -n +3 04:17:16 307) `quote django ​352) django is named after a person? thought it would be a giraffe or something \ 407) `quote django ​352) django is named after a person? thought it would be a giraffe or something thankfully only one thankfully only two \ 31 04:17:36 `pastequotes django 04:17:41 http://codu.org/projects/hackbot/fshg/index.cgi/file/tip/paste/paste.22857 04:18:28 django must be a giraffe! 04:19:53 new operator: 04:20:18 if(var =! var2){ 04:20:40 the =! operator is for messing 04:21:24 gah why is youtube so slow 04:23:23 html5? 04:24:11 right, because