00:05:02 -!- sebbu2 has joined. 00:05:05 -!- sebbu has quit (Ping timeout: 245 seconds). 00:05:23 -!- sebbu2 has changed nick to sebbu. 00:12:12 -!- sebbu has quit (Ping timeout: 240 seconds). 00:12:35 -!- werdan7_ has changed nick to werdan7. 00:22:19 -!- sebbu has joined. 00:44:29 -!- sshc has joined. 01:19:09 -!- Asztal has quit (Ping timeout: 260 seconds). 01:21:09 -!- dev_squid has quit (Ping timeout: 264 seconds). 01:22:37 -!- cheater2 has quit (Ping timeout: 240 seconds). 01:33:18 -!- oklofok has quit (Read error: Connection reset by peer). 01:33:41 -!- oklopol has joined. 01:34:13 -!- dev_squid has joined. 01:57:14 -!- sebbu2 has joined. 01:57:55 -!- sebbu has quit (Ping timeout: 268 seconds). 01:57:58 -!- sebbu2 has changed nick to sebbu. 02:00:32 -!- oerjan has quit (Quit: Good night). 02:08:39 -!- dev_squid has quit (Ping timeout: 258 seconds). 03:16:52 -!- dev_squid has joined. 03:19:08 -!- augur has joined. 03:31:29 -!- Oranjer has left (?). 04:24:53 -!- augur has quit (Ping timeout: 260 seconds). 04:26:29 -!- augur has joined. 04:52:30 -!- dev_squid has quit. 06:34:37 -!- augur has quit (Ping timeout: 252 seconds). 06:38:37 -!- MizardX has quit (Ping timeout: 240 seconds). 06:39:15 -!- augur has joined. 06:46:07 -!- FireFly has joined. 07:04:04 -!- tombom has joined. 07:06:47 -!- bsmntbombdood has quit (Read error: Operation timed out). 07:50:06 -!- tombom has quit (Quit: Leaving). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:18 -!- kar8nga has joined. 08:26:13 -!- FireFly has quit (Quit: Leaving). 09:06:24 -!- coppro has quit (Ping timeout: 248 seconds). 09:46:03 -!- cheater2 has joined. 09:57:08 -!- adam_d has joined. 09:57:46 -!- cheater3 has joined. 10:00:03 -!- cheater2 has quit (Ping timeout: 260 seconds). 10:02:17 -!- oerjan has joined. 10:15:50 -!- oklopol has quit (Read error: Connection reset by peer). 10:16:06 -!- oklopol has joined. 10:26:45 -!- lereah_ has joined. 10:35:03 -!- kar8nga has quit (Ping timeout: 260 seconds). 10:36:38 -!- oerjan has quit (Quit: leaving). 11:01:50 -!- adam_d has quit (Ping timeout: 240 seconds). 11:15:09 -!- oklofok has joined. 11:15:11 -!- oklopol has quit (Read error: Connection reset by peer). 11:21:26 -!- BeholdMyGlory has joined. 12:29:16 -!- kar8nga has joined. 12:32:22 -!- Tritonio_GR has joined. 12:42:12 -!- kar8nga has quit (Remote host closed the connection). 13:05:09 -!- MigoMipo has joined. 13:08:17 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 13:09:21 -!- adam_d has joined. 13:12:09 -!- ais523 has joined. 13:54:23 -!- lereah_ has quit (Remote host closed the connection). 13:58:17 -!- adam_d has quit (Ping timeout: 276 seconds). 13:59:09 -!- lereah_ has joined. 14:29:50 -!- MizardX has joined. 14:40:09 -!- MizardX has quit (Ping timeout: 276 seconds). 14:42:03 -!- BeholdMyGlory has joined. 14:57:14 -!- adam_d has joined. 15:08:36 -!- MigoMipo has quit (Quit: Page closed). 15:17:22 -!- oerjan has joined. 15:17:44 *pin dropping* 15:21:52 I didn't hear anything, the join-quit noise is so loud. 15:23:32 and there's such a terrible lasting echo 15:23:45 hmm, can anyone here think of a decent way to parse reverse-polish using Parsec? 15:24:04 at the moment, I'm reversing the input string then parsing the resulting forward-polish, but the resulting error messages are ridiculous 15:24:54 like forth? 15:25:30 oerjan: or Confloddle, which is what I'm trying to implement atm 15:25:34 Forth isn't really parsed 15:26:03 hm that does sound weird to do without a stack 15:26:04 (incidentally, Confloddle can be cut down from 5 to 4 characters trivially; it turns out that you can deduce the location of every < in the program even if it's not stated) 15:27:29 i suppose you'd like to detect stack underflows at the spot? 15:27:47 (so I'm considering making the character set just re@: where @ is > and the location of the < is implied) 15:27:51 oerjan: hmm, maybe 15:28:08 both bottom-up parsers and LR(1) parsers don't have a problem with this sort of thing, although they both use stacks internally 15:30:07 yes this is a left-recursion problem isn't it 15:30:18 yes 15:30:24 the obvious way to write it in Parsec gives you an infinite loop 15:30:34 I've been considering just writing a parser by hand 15:35:50 you can do the reversing while parsing instead of before at least, maybe that gives better messages? 15:36:05 oerjan: how? 15:37:04 -!- FireFly has joined. 15:40:56 parseRest l = do (t <- token; let a = noArgs t; guard (length l >= a); parseRest (apply t (take a) l : drop a l)) <|> ...finished... 15:41:01 something like that 15:41:45 hmm, that's confusing 15:42:12 you just pass in what's parsed so far, and apply to arguments immediately 15:42:42 *(reverse $ take a), probably 15:42:59 *(reverse $ take a l), probably 15:43:06 oh 15:43:32 that l should have been inside the parentheses to start with 15:44:04 it might be a good idea to split on whether t takes arguments or not 15:44:46 oh and noArgs is numberOfArgs, not absense 15:45:42 is it still confusing? 15:46:17 I'm trying to figure out why you care about the number of args of the first token 15:46:49 ais523: it's not the first token, parseRest l is applied recursively to get each token 15:47:07 (well it's the first token too, called as parseRest []) 15:47:14 -!- Asztal has joined. 15:47:16 oerjan: hmm, l is the list of tokens you've seen so far? 15:47:27 I'm starting to see how that works now, but it's still really unintuitive to me 15:47:36 not just tokens, collected expressions 15:47:59 ah 15:48:59 it essentially does a parsing using a stack, just inside parsec 15:49:35 in which case you may as well write it by hand and make it clearer 15:50:13 yes, it's just to get parsec's error messages (and it's just a sketch) 15:51:22 that guard should be replaced with something with a proper underflow error message 15:52:03 "t applied to too few arguments" and i suppose parsec provides the position 15:52:24 hmm, perhaps you could just use fail? 15:54:50 yes, that looks like the right thing for user-generated ones 15:56:55 -!- ais523 has quit (Remote host closed the connection). 16:03:24 -!- Tritonio_GR has quit (Quit: Leaving.). 16:13:06 -!- cheater2 has joined. 16:14:40 -!- cheater3 has quit (Ping timeout: 245 seconds). 16:18:16 -!- MizardX has joined. 16:29:16 -!- lereah_ has quit (Remote host closed the connection). 17:08:56 -!- ais523 has joined. 17:10:10 -!- tombom has joined. 17:20:55 -!- oerjan has quit (Quit: leaving). 17:57:37 -!- augur has quit (Ping timeout: 240 seconds). 18:08:25 -!- charlls has joined. 18:27:36 -!- augur has joined. 18:31:57 -!- hiato has joined. 18:51:31 -!- ehirdiphone has joined. 18:51:47 What?! 18:52:00 Dispatch? No; only half so. 18:52:55 Hi ehirdiphone 18:53:19 It is hardly dramatic with so few around. 18:53:19 What do you mean by half a dispatch? 18:53:48 I am merely an illusion. 18:53:58 ?? 18:54:05 An iPhone, used covertly, smuggled in. 18:54:43 o.O 18:54:44 But impermanent as are all such things; I'm not of the sort required to keep such a thing hidden. 18:54:58 Be careful :/ 18:55:17 The iPhone encorages verbosity... It is easier than a multitude of error correction. 18:55:32 Oh, no worries. 18:56:08 If anyone asks it is my company's: and I am using it to play games. 18:56:46 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info). 18:57:09 -!- ehirdiphone has joined. 18:57:11 Oops. 18:57:29 ehirdiphone: turns out you can remove < from confloddle 18:57:35 as the location of the < is implied by the location of the > 18:57:36 Hail, ehird. 18:57:39 Oh, so that wasn't someone walking by? Although I guess if someone walked by, it would be easier to abruptly hide it than close out of IRC 18:58:11 Link to Confloodle? 18:58:17 I don't see it on the wiki 18:58:19 there isn't one, check logs 18:58:21 I presume that you're not that well monitored at night? 18:58:43 basically, it's a tarpit based on foldl and cons 19:01:00 pikhq: It is approx 19. 19:01:28 ehirdiphone: Well: evening times. 19:01:53 Actually for a while, at the start, they checked on me every five minutes through the night: apparently I was considered at risk of attempting suicide. 19:02:18 Ridiculous: if I was of that disposition I'd have done it so much earlier. 19:02:42 But yeah; my room is the one place I am mostly alone. 19:02:59 Or at least have been much more creative about it. 19:03:30 Rubber chicken with a pully in the middle. 19:03:36 See? 19:04:11 A reference to the Secret of Monkey Island, actually. 19:04:25 brb. 19:08:44 don't rubber chickens turn things to stone? 19:09:24 -!- ehirdiphone has quit (Ping timeout: 264 seconds). 19:15:52 -!- ehirdiphone has joined. 19:16:07 Since brb said? 19:16:49 don't rubber chickens turn things to stone? 19:17:04 Sgeo: NetHack reference 19:17:09 ais523, I know 19:17:12 Since brb said? 19:17:51 ah 19:18:05 * Sgeo dons gloves and throws a c at ais523 19:18:14 -!- ehirdiphone has quit (Client Quit). 19:18:18 * ais523 dodges, on the basis that c corpses have a 0% hit chance 19:18:27 ..oh 19:18:37 -!- ehirdiphone has joined. 19:19:05 * Sgeo throws some c eggs at ais523 19:19:16 Sgeo: are you wearing gloves? 19:19:22 anyway, /me eats a lizard corpse 19:19:38 I don't think lizard corpses help against instant petrification 19:19:39 eggs cause slow stoning, not instastoning 19:19:43 Just against his.. oh 19:25:11 Oerjan:http://www.reddit.com/r/pics/comments/bk6s0/norwegian_life/c0n6q13 19:27:17 Dyydydyufug 19:28:54 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info). 19:29:13 -!- ehirdiphone has joined. 19:29:34 -!- adam_d_ has joined. 19:32:07 -!- adam_d has quit (Ping timeout: 246 seconds). 19:39:37 -!- oklofok has quit (Ping timeout: 240 seconds). 19:41:22 ais523: So > 19:41:28 Tome traveling syntax 19:41:31 Time 19:41:47 why do you need syntax for that? 19:45:54 * Sgeo loves how right-clicking can make explorer.exe crash 19:45:56 *cries* 19:47:41 ais523: Confluddle I mean 19:47:51 confloddle has time travel? 19:48:06 Fucckkkk 19:48:09 > 19:48:10 Is 19:48:14 Time t syntx 19:48:18 * Sgeo should probably read the logs at some point 19:48:21 Without opener 19:48:41 Traveling not travel 19:48:41 hmm, no, you can just dedcude the location of the opener 19:48:48 by looking at arities going bacwards from the > 19:48:52 Oh shaddup 19:50:07 hmm, sorry 19:50:25 :p 19:51:16 -!- charlesq__ has joined. 19:52:25 -!- charlls has quit (Read error: Connection reset by peer). 19:52:40 You have... 19:52:46 0 minutes 19:53:53 Goodbye but I this week will return ...Thursday! 19:54:15 Can you live one more day without me? :) 19:54:23 don't worry, we'll manage somehow 19:54:37 Maybe two if I'm tired on Thurs. 19:55:09 Gx's l' r'v'd', m' 'm'k'. 19:55:13 * uorygl loves how refreshing can make Safari crash 19:55:19 Formal goodbye time. 19:55:45 --alise; in the land of Mordor where the Shadows lie. 19:55:54 co'o 19:55:55 ko cinsne 19:56:20 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info). 19:56:36 pikhq: Esperapostropho? 19:56:43 uorygl: J's 19:56:52 Now let's talk about how we hate ehird and ought to flay him alive. 19:56:53 * uorygl nods. 19:57:15 Unfortunately, I don't know enough Esperanto to construct a meaningful response. 19:57:40 So let me just acknowledge that you said "jes", which means "yes". 19:58:23 esperaco 20:03:32 Indeed. 20:03:50 Also, a meaningful response would just be "Mi komprenas". 20:03:51 :P 20:04:25 Or perhaps even 'Mi komprenas ke "j's" estas "jes"'. 20:04:57 Alternately, you could just speak English, as such is the typical language for this room. 20:05:19 m' sh't's 'sp'r'nt' 20:05:25 translation: "my shits sprint" 20:06:39 Sナtqゐエpbヴ葉Sペりうじゃギアpcvkx偽PツQ件がspd 20:06:57 Translation: fuck if I know, I just hit Ctrl-Space and pounded on the keyboard for a bit. 20:12:12 -!- adam_d_ has changed nick to adam_d. 20:15:36 So, he committed without a test build, and left an infinite loop somewhere in there 20:15:47 I'm just going to shove it to the side while I try to make the deadline 20:15:55 His code is not deadline related in any way 20:28:58 -!- oklopol has joined. 20:31:12 -!- charlesq__ has quit (Quit: Saliendo). 20:31:20 -!- charlls has joined. 20:34:04 -!- werdan7 has quit (Ping timeout: 615 seconds). 20:37:39 -!- MigoMipo has joined. 21:03:26 -!- hiato has quit (Ping timeout: 246 seconds). 21:04:02 -!- hiato has joined. 21:20:56 -!- adam_d has quit (Ping timeout: 246 seconds). 21:34:05 -!- Oranjer has joined. 21:43:55 this rihanna song seemed a lot nicer before i read the lyrics 21:49:20 -!- coppro has joined. 21:55:40 -!- atrapado has quit (Ping timeout: 276 seconds). 21:57:58 lol 22:04:06 -!- cheater2 has quit (Ping timeout: 276 seconds). 22:05:19 -!- MigoMipo has quit (Remote host closed the connection). 22:05:22 -!- gigo has joined. 22:05:49 I am using L for lambda. I represent 1 = Ls.s, 2 = Ls.ss, 3 = Ls.sss and so on. I want a way to express addition operation in lambda calculus. 22:06:02 I mean, I want some function S such that 2S3 or S23 results in 5 = Ls.sssss 22:06:12 i'm a complete newbie in lambda calculus. the book had some good definitions of successor, addition, etc. but I modified the definition of 1 from Lsz.s(z) to Ls.s and now I am trying to make my own successor, addition, etc. 22:07:12 -!- mblondin has joined. 22:07:18 isn't it just S? 22:07:23 -!- mblondin has left (?). 22:07:31 i mean isn't your S just the S from SKI 22:08:06 S23f = (2f)(3f) = (ff)(fff) = (fffff) 22:08:30 what is SKI? 22:08:59 Sxyz = (xz)(yz) 22:10:52 gigo: SKI is the SKI combinator calculus. It's Turing complete by way of equivalence with lambda calculus. 22:11:23 It can be defined as follows: S:=\xyz.xz(yz);K:=\xy.x;I:=\x.x 22:11:25 is there any way to do lambda calculus on computers? 22:11:32 Several. 22:11:45 I use Debian Linux. any suggestions? 22:11:47 Are you familiar with functional programming languages? 22:11:54 yes, I know Scheme. 22:12:05 Scheme is a superset of lambda calculus. 22:12:09 ok 22:12:28 So, you already possess an interpreter. ;) 22:12:32 ok 22:13:14 (define s (lambda (x) (lambda (y) (lambda (z) ((x z) (y z))))) 22:20:42 So, if S = \xyz.xz(yz) can I say that S23 = \z.(2z (3z)) = \z.( (\s.ss z)(\s.sss z) ) = \z.zzzzz = 5 ? 22:24:09 the last-but-one step is wrong 22:24:16 hmm, I think, not sure 22:24:19 how are 2 and 3 defined? 22:27:15 2 = \s.ss and 3 = \s.sss 22:27:20 ais523, 22:28:15 yes? 22:30:47 ais523, i answered your question about how 2 and 3 are defined 22:30:53 yep, I noticed 22:30:57 just didn't have anything more to say 22:31:09 so, why is the last-but-one step wrong? 22:31:13 I don't see how \z.(2z)(3z) = 5 22:31:35 -!- cheater2 has joined. 22:31:45 2z = \s.ss z = zz 22:31:54 similarly, 3z = zzz 22:31:58 yep, and (zz)(zzz) != (zzzzz) 22:32:04 ok 22:32:28 -!- hiato has quit (Quit: underflow). 22:32:31 the usual definition of 2, btw, is \f.\x.f(fx) 22:32:59 and that of 3? 22:33:06 \f.\x.f(f(fx)) 22:33:20 why do you write the inner most thing as fx and not f(x) 22:33:29 how about 2 as \f.\x.f(f(x)) ? 22:33:37 it's a standard abbreviation 22:33:40 ok 22:34:17 abc = (a(b))(c) 22:34:30 and langs like haskell actually let you write that 22:34:36 rather than having to put all the parens in 22:35:43 so, abcd = ((a(b))(c))(d) ? 22:36:05 yes 22:36:16 can i wrte abc = (ab)c as well? 22:36:20 and in a lang that uses currying, that's the standard way to pass three args to a function 22:36:25 (ab)c is fine, if you want to disambiguate 22:36:27 ok 22:36:36 but with a(bc) you can't remove the parens 22:36:55 so a(bc) = a((b)c) 22:37:09 ok, that looks weird, but yes I suppose 22:37:22 (b)c is less usual than b(c), and bc is more common than either when talking in combinator calculus 22:38:00 the same trick happens with data types; Int -> Int -> Int means Int -> (Int -> Int) 22:40:53 so for my definitions of 2, 3, etc. can I make a sum function S? 22:41:14 2 = \s.ss, 3 = \s.sss, 4 = \s.ssss, 5 = \s.sssss, etc. 22:42:27 -!- tombom has quit (Quit: Leaving). 22:43:10 -!- coppro has quit (Ping timeout: 246 seconds). 22:56:20 Numbers in lambda calculus are defined via 0 and the successor function 22:57:22 -!- coppro has joined. 22:57:30 -!- jcp has joined. 23:00:23 hmm, that's the first rangeblock I've done on Esolang 23:00:29 hopefully that should stop much of the recent untargeted spam 23:00:39 -!- augur has quit (Ping timeout: 276 seconds). 23:02:41 goodbye 212.235.106.0/23 23:04:23 also, jury finds for Novell in SCO v. Novell 23:04:40 this is a momentous day, in that nobody can think of a plausible way for SCO to weasel its way out of /that/ one 23:04:51 although I'm looking forward to what implausible ways they try 23:06:27 -!- augur has joined. 23:08:41 it can still be appealed on procedural grounds 23:09:18 but that seems unlikely to succeed 23:09:36 -!- oerjan has joined. 23:12:33 yep, I can't think of a procedural ground where SCO would have a leg to stand on 23:12:47 unless something happened that isn't generally known 23:15:34 I wonder if they're stupid enough to try appealing the verdict directly 23:15:52 so do I, actually 23:16:13 they're running out of money pretty quickly, though 23:17:02 well, yeah 23:17:16 and it's not like appealing a jury verdict works that well in any case 23:18:40 Our "law in network society" course requires a two-page case note on some related case; I was thinking of writing something about the SCO mess, but it's such a great mess you can't even get started in two pages; I may need to focus on some particular submess of it. 23:19:18 -!- Tritonio_GR has joined. 23:19:58 news from SCO is that they plan to sue IBM for breach of contract, because they can do that even without the copyrights 23:20:13 that doesn't mean they can /win/, ofc 23:20:16 S23f = (2f)(3f) = (ff)(fff) = (fffff) 23:20:22 the final equation is wrong 23:21:09 application is not associative 23:25:02 2 = \s.ss, 3 = \s.sss, 4 = \s.ssss, 5 = \s.sssss, etc. 23:25:14 i can see how to increment those, but addition looks tricky 23:26:23 in fact to use it i would probably want to convert into the usual \fx.f(f(...(fx)...)) form first 23:26:57 if that is possible, then it's easy to do addition afterwards 23:28:07 -!- charlls has quit (Quit: Saliendo). 23:28:18 the tricky thing about your definition is that it is not obvious how to make an s that can be usefully used with an arbitrary number 23:28:35 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 23:28:39 -!- FireFly has quit (Quit: Leaving). 23:28:55 also, how do you define 0? 23:29:18 the usual definition \x.\y.y doesn't seem to map at all to the fffff version 23:29:41 \s.i probably works for that, actually 23:30:18 since (inc n) = \s.(ns)s 23:30:28 oh wait 23:30:31 heh, that's the same definition as normal, isn't it? 23:30:33 \s.ki 23:31:07 (or in pure lambda, \s.\t.\x.x) 23:31:26 hmm, `k`ki? 23:31:35 yeah 23:31:44 oh wait 23:31:45 I was considering making that a constant in the underlambda standard library 23:31:50 as an "absence of value" constant 23:31:50 * oerjan is confusing himself 23:31:56 unlike `ki, which is just 0 which is a value 23:32:09 \s.i is correct 23:32:16 so \s.\x.x 23:32:47 why are we using s as a lambda variable anyway? 23:32:49 it has a different meaning 23:32:59 gigo did 23:33:09 -!- augur has quit (Ping timeout: 276 seconds). 23:33:17 and didn't seem to have heard of combinators before 23:34:07 hm 23:34:20 conspiracy 23:35:52 now an s to pass in usefully has to be appliable to itself, and somehow construct an "incremented" version of itself when doing so 23:36:42 and to be useful, there has to be something else that it can be applied to in order to stop the gobbling up of indefinite arguments 23:37:10 that's what i mean 23:37:58 oklopol: that's a lot to get out of the word "conspiracy" 23:39:06 or is it? 23:39:24 >_> 23:40:05 now you're getting it 23:44:11 -!- augur has joined. 23:45:11 ROFL 23:45:32 My sliding blocks puzzle has a bug where you can click a piece diagonally adjacent, and it will go in 23:46:47 too easy 23:50:23 What's the easiest way to scramble a sliding blocks puzzle? Simulating random valid moves? 23:50:52 Sgeo: yep, to ensure it's solvable 23:51:04 IIRC there's a parity rule on those things 23:51:20 I think the original 14-15 was unsolvable 23:51:25 it was 23:51:57 hmm, what if you turn the 6 and 9 upside-down? 23:52:09 * Sgeo feels cheap for having used a 1 indexed [multidimensional] array, but it turned out to be handy 23:52:29 The individual blocks have MoveTo() methods, that null out where the block came from 23:52:39 So when starting up, I just say they came from 0,0 23:53:10 couldn't you use a dedicated null value? 23:53:13 like Haskell's Nothing? 23:53:23 rather than forcing an absurd use of 0 in? 23:53:37 this is as bad as Underlambda's adding 1 to all character codes so it can use 0 for EOF 23:53:46 and it's an esolang, and so can get away with that sort of thing 23:53:59 I happened to be using 1-based indexing anyway, to ease pain on my brain 23:54:10 Although it occurs to me that it wasn't that helpful 23:54:15 Speaking of blocks, to follow-up on llbf (LLVM-targeting brainfuck translator), I wrote a Piet compiler that targets LLVM too. 23:57:19 Well, it did, a little 23:57:39 In-world, in a way that would be difficult to change, there was already a 1-indexed numbering scheme 23:58:07 But that would just turn into a -1 in ONE place in my code, if I went with 0-indexed 23:58:18 I'm already switching x and y