00:13:41 -!- jix has quit (Read error: 104 (Connection reset by peer)).
00:14:47 -!- jix has joined.
00:48:05 -!- sebbu has quit ("@+").
01:08:44 -!- Mahjong has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )").
01:13:08 -!- jix has quit ("This computer has gone to sleep").
01:15:59 -!- jix has joined.
01:20:46 -!- aschmack has joined.
01:54:32 <ihope> bsmntbombdood: the output of /dev/random is probably a bit more random.
01:55:11 <pikhq> . . . Oh, right. XD
01:55:25 <pikhq> (as opposed to that fake, decreasing entropy?)
02:04:27 <ihope> As opposed to /dev/urandom
02:04:37 <ihope> Or /dev/blum, which probably doesn't exist.
02:06:04 <pikhq> Or as opposed to /dev/null.
02:06:16 <pikhq> Can *you* prove that it's not random?
02:06:22 <pikhq> It might very well emit a 1!
02:34:06 -!- jix has quit ("CommandQ").
02:39:37 <ihope> Doesn't it not emit anything at all?
02:42:19 <pikhq> Actually, it emits 0x00.
02:44:52 <ihope> So it's equivalent to /dev/zero?
02:45:13 <ihope> Wikipedia says otherwise.
02:45:16 <pikhq> Hmm. . . I might be wrong. XD
02:45:41 <pikhq> *Am* wrong, rather.
02:45:56 <pikhq> (it does emit 0x00 if it's a 0-on-EOF BFI :p)
02:59:50 -!- GregorR-L has joined.
03:00:40 <ihope> When does I ignore its argument? Never. When does K ignore its argument? Never. When does Kx ignore its argument? Always. When does Kxy ignore its argument? Whenever x does. When does S ignore its argument? Never. When does Sx ignore its argument? I'll come back to that one. When does Sxy ignore its argument? Whenever x and y both do. When does Sxyz ignore its argument? I'll come back to...
03:00:41 <ihope> ...that one as well.
03:01:10 <ihope> Sx reduces to \yz.xz(yz), and we're looking to know whether the y is ignored.
03:01:42 <ihope> The y is ignored iff the yz is ignored, I believe, so it's... um, just a minute.
03:02:36 <ihope> I'm trying to come up with a few rules for when an SKI calculus expression is a constant.
03:02:45 <ihope> Obviously, there's no complete set of rules.
03:03:15 <pikhq> Obviously, such an expression is constant when it's constant.
03:03:29 <ihope> A constant function, that is.
03:03:46 <ihope> Whether Sx ignores its argument depends on both x and the next argument. It's whenever x(next argument) ignores its argument.
03:04:28 <ihope> Sxyz ignores its argument whenever xz(yz) ignores its argument, but actually following this rule could result in nontermination.
03:04:55 <ihope> I think I conclude that writing a good compiler is really fun.
03:05:11 <ihope> There's always something to be discovered...
03:07:01 <ihope> Now, here's a challenge: try to find a constant in SKI calculus whose smallest form is *not* Kx form.
03:07:22 <bsmntbombdood> i just wrote a compiler for a string matching language
03:08:50 <pikhq> Or, alternately, Ix
03:09:11 <pikhq> Do you mean SK calculus, instead?
03:09:26 <pikhq> (I=(lambda (x) (x)))
03:09:43 <ihope> SKKx is Kx(Kx) which is x, which may not be a constant. Ix is x, which may not be a constant.
03:12:13 <ihope> SIKx is Ix(Kx) which is x(Kx). Is that always a constant?
03:13:21 * pikhq prefers lambda calc. . . (lambda () ())
03:13:45 <ihope> SKI is easier to express :-)
03:14:24 <pikhq> Yeah, but lambda is shinier.
03:14:43 <ihope> When converting lambda calculus into SKI calculus, since many parts of the expression sometimes don't contain the argument, it may be useful to optimize "weird" constants to "obvious" ones.
03:14:59 <ihope> Then again, if an argument is ignored, it probably won't even be present.
03:19:28 <ihope> SKSKx is KK(SK)x which is Kx, but Kx is shorter than SKSKx.
03:21:54 <pikhq> You asked for the shortest constant not of the form "Kx".
03:22:07 <pikhq> SKSKx != Kx (although they reduce to the same thing)
03:22:28 <ihope> No, a constant whose shortest form is not Kx.
03:22:57 <ihope> Rather, whose shortest form is not of the form Kx.
03:22:58 <pikhq> I don't think there's any other functions which can ignore its argument.
03:24:03 <pikhq> Well, Sxy *can*, but I think that's doomed to reduce to Kx.
03:24:26 <ihope> Any functions other than what?
03:25:23 <pikhq> Well, any that are guaranteed to.
03:25:35 <ihope> Is S(Kx)(Ky) something you'd say reduces to K(xy)?
03:26:54 <ihope> Well, S(Kx)(Ky) certainly isn't shorter than K(xy).
03:27:34 <ihope> If there's something whose Kx form uses a variable more times than some other form does...
03:27:58 <ihope> You mean Kxz(Kyz)?
03:28:26 <ihope> Well, K(xy)z is shorter...
03:28:49 <ihope> And Kxz(Kyz) isn't a constant; its an expression whose value doesn't depend on the value of some variable.
03:29:24 <pikhq> You're the one who suggested S(Kx)(Ky).
03:29:46 <ihope> Well, it's longer than K(xy).
03:30:14 <pikhq> Yes. . . Anything not of the form K(xy) is doomed to be.
03:30:48 <ihope> Anything not of the form K(xy) is doomed to be longer than its corresponding K(xy) form?
03:32:13 -!- ihope_ has joined.
03:32:31 <pikhq> When you specify "not of the shortest way possible", you shouldn't be surprised when it's longer than that.
03:34:14 -!- aschmack has quit ("No beer and no TV makes Homer go something").
03:38:33 <ihope_> Did I imply that S(Kx)(Ky) was shorter than K(xy)?
03:49:44 -!- ihope has quit (Connection timed out).
03:49:50 <pikhq> No, you complained about it being longer, almost as though you expected something shorter.
03:55:23 <ihope_> Now, K(xyy) can also be stated as K(SS(KI)xy)...
04:05:34 -!- GregorR-L has quit ("Leaving").
05:25:42 -!- ihope_ has quit (Connection timed out).
05:30:50 -!- oerjan has joined.
05:35:36 -!- Sillyman has joined.
05:36:05 -!- Sillyman has left (?).
06:18:45 -!- tokigun_ has quit (Read error: 104 (Connection reset by peer)).
06:51:21 -!- tokigun has joined.
07:39:33 -!- oerjan has quit ("leaving").
07:43:41 -!- GreaseMonkey has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:09:01 -!- oerjan has joined.
08:54:28 -!- sebbu has joined.
09:19:49 -!- oerjan has quit ("leaving").
09:57:14 -!- jix has joined.
10:16:34 -!- sebbu2 has joined.
10:18:12 -!- sebbu3 has joined.
10:18:47 -!- calamari has quit ("Leaving").
10:22:08 -!- RedDak has joined.
10:38:47 -!- GreaseMonkey has quit (Read error: 104 (Connection reset by peer)).
10:39:34 -!- sebbu has quit (Success).
10:40:36 -!- sebbu has joined.
10:41:19 -!- sebbu2 has quit (Nick collision from services.).
10:41:19 -!- sebbu3 has quit (Nick collision from services.).
10:45:59 -!- RedDak has quit ("I'm quitting... Bye all").
12:16:52 -!- ehird` has joined.
12:17:53 <ehird`> Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | UNRELATED WEBSITE: http://purple.com -- NO, IRP ALLOWED
12:17:56 -!- ehird` has set topic: Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | UNRELATED WEBSITE: http://purple.com -- NO, IRP ALLOWED.
12:18:05 <ehird`> UNRELATED WEBSITE is the best thign any topic can have
12:32:20 * ehird` is working on an esolang based on alchemy
12:32:24 <ehird`> it is creatively called Alchemy
13:20:12 -!- jix has quit (Read error: 104 (Connection reset by peer)).
13:21:57 -!- jix has joined.
15:06:10 -!- zbrown has left (?).
15:17:09 -!- jix has quit (Nick collision from services.).
15:17:23 -!- jix has joined.
16:26:23 -!- Blejdfist has joined.
16:35:58 -!- ihope_ has joined.
16:36:19 -!- ihope_ has changed nick to ihope.
18:18:11 -!- ihope has quit (Connection timed out).
19:19:28 <SimonRC> http://bash.org/?789185 :-S
19:32:40 -!- oklofok has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )").
21:23:01 -!- cmeme has quit (Excess Flood).
21:25:06 -!- RedDak has joined.
21:25:54 -!- cmeme has joined.
22:07:13 -!- Twangly has joined.
22:10:22 -!- Twangly has quit (Client Quit).
22:26:41 -!- jix has quit ("CommandQ").