00:01:08 heh 00:12:00 -!- uvanta has joined. 00:12:50 Hi 00:17:40 hi 00:27:45 should I mark my program as a cheat? 00:27:56 it still rot13s '[', '] and '_' 00:28:09 ^ and ` too 00:29:03 -!- GreaseMonkey has changed nick to ^_`. 00:31:20 o_O 00:32:05 so what does that rot13 to? :) 00:32:21 [] becomes 46 00:32:28 _ becomes 8 00:35:40 \ too then, i presume 00:36:52 ah yes 00:37:18 \[]^`_ => 546798 00:38:30 51 bytes though, not as good as I expected :( 00:41:00 ={:'a'z..?{'a-13+26%}if} ninjacode, without much thought 00:41:10 so ninjacode 0.000001 prepreprepreprealpha 00:41:15 doesn't handle uppercase though. 00:41:19 and doesn't even work properly. 00:47:43 oerjan: interesting things in that: 00:47:50 < is overloaded 00:47:55 if its first arg is a block 00:48:01 the second should be an array (or string, same thing) 00:48:06 then it works as map 00:48:23 ! with stack (a b) where both are arrays, a's contents gets destructively replaced with bs and b popped 00:48:25 Huh? 00:48:30 =... is like a perl filter. 00:48:48 "for all lines in input: do the rest of the program on them, then print out the top element of the stack and start again" 00:49:40 0=~1+.' C~. 00:49:43 -!- ^_` has changed nick to GreaseMonkey. 00:49:45 that adds a line number to all lines 00:49:57 e.g. "a\nb\n\c\n" -> "1 a\n2 b\n3 c\n" 00:51:15 quite elegant looking actually. 00:51:41 wait 00:51:43 that can be done simpler 00:51:47 0=~1+.' C~ 00:51:48 one less char! 01:07:13 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net). 01:24:53 -!- olsner has quit ("Leaving"). 01:45:10 heh 01:45:10 printf(x="printf(x=%c%s%c,34,x,34)",34,x,34) 01:48:03 Nice quine. 01:48:08 yes 01:48:20 like the standard c quine, but with an inline assignment thingy 01:48:26 pikhq: It's ruby. Do you still like it now? :D 01:49:03 I think that statement would also be valid C, actually. 01:49:11 God. A ruby-C polyglot. 01:49:12 * pikhq shudders 01:49:22 * pikhq shudders some more at Ruby 01:49:26 loads of polyglots support ruby. 01:49:33 and it's valid c, if you have x defined 01:49:39 main(x){printf(x="printf(x=%c%s%c,34,x,34)",34,x,34);} 01:49:50 HA! HA! HA! HA! HA! 01:50:21 main(){printf(char*x="printf(char*x=%c%s%c,34,x,34",34,x,34);} 01:50:32 longer than mine. 01:50:34 less hilarious. 01:50:35 fail. 01:50:53 Fair enough. 01:51:54 m(){p(c="p(x=%c%s%c,a,x,a)",a,x,a);} // if you allow judicious use of compile-time defines 01:52:20 m(){p(c="m(){p(x=%c%s%c,a,x,a);}",a,x,a);} // if you want it to also quine. :p 01:52:35 bah. 01:52:38 lame 01:52:51 um, it's not a quine unless it includes the judicious defines 01:53:40 puts [join [split "puts \[a{a}]" a] {join [split "puts \[a{a}]" a] }] 01:53:54 A Tcl quine. My brain hurts. 01:54:00 hmm 01:54:04 ninjacode quine: 01:55:19 {'{C:.'}C}'{C:.'}C 01:55:30 hm wait 01:55:37 format [set a {format [set a %s] $a}] $a 01:55:39 {'{C:.'}C.}'{C:.'}C. 01:56:30 pikhq: Figure that out. 01:56:56 * pikhq throws a calculus book at you 01:57:06 'char -> char ascii code 01:57:13 {...} -> block, usable as string 01:57:17 C -> print out char 01:57:19 : -> dup 01:57:21 . -> print out thing 01:57:30 * pikhq throws it *hard* 01:58:51 pikhq: it's easy to figure out :P 02:00:59 -!- ehird has quit. 02:01:58 Don't care. 02:02:47 RodgerTheGreat: Either you're involved in Something Awful, or someone from there reads this channel. 02:03:07 * pikhq has stumbled upon a Something Awful thread discussing that scientology video. . . 02:03:15 And the "how to make a cult" video was also in there. 02:03:58 And the Steven Fishman deposition. . . 02:10:08 -!- Corun has joined. 02:34:26 -!- sekhmet has joined. 03:07:28 -!- Corun has quit ("Arr."). 03:11:54 -!- immibis has quit (Read error: 110 (Connection timed out)). 04:16:25 -!- calamari has joined. 04:44:56 pikhq: I read something awful when I'm bored 04:45:03 I often link people to things I find 04:45:31 I'm not technically a goon, but I've been quite tempted to buy an account 04:49:26 hey, calamari- what's up? 04:49:38 not much.. you? 04:50:45 I'm thinking about making an amusing parody game 04:51:28 see if you can guess: http://nonlogic.org/dump/images/1201150121-aperTiles.gif 04:51:43 not too many clues yet, but one dead giveaway 04:53:37 -!- oerjan has quit ("Good night"). 05:06:27 -!- immibis has joined. 05:08:06 -!- adu has joined. 05:08:27 well 05:08:29 I started making my language 05:10:44 so far I've parsed the syntax into an AST, but now I don't know what to do 05:10:54 :P 05:54:40 RodgerTheGreat: Fair 'nough. 05:55:08 I think I'm going to call my new game "Gateway". 05:55:38 because as they say, "there's a hole in the sky, through which things can fly" 06:06:59 sliding block puzzle? :) 06:07:58 lol 06:08:08 calamari: they're just tiles 06:08:31 but one is white so there's an empty space to move into :) 06:08:39 Portal? 06:08:41 they can be assembled into 2d maps for games like pokemon, zelda, mario and so on 06:08:46 uvanta: ding ding ding 06:09:16 you're working on 2-dimensional parody of Portal? 06:11:52 hmm 06:11:57 uvanta: yes 06:12:11 that sounds great 06:12:23 it's entirely based on a whim I had earlier today 06:12:43 I already have a 2d engine that can *very nearly* do what I need, so I just started pounding out some graphics 06:16:39 graphical assets always feel like half the battle for game development, to me 06:30:28 uvanta: what would you want to see in a 2d parody of portal? 06:30:48 that talking gun is necessary 06:33:13 oh, yes- naturally 06:33:20 I have some ideas for the turrets 06:37:11 more stuff is completed: http://nonlogic.org/dump/images/1201156466-aperTiles.gif 06:40:40 RodgerTheGreat, you're surely aware of Portal Flash version, right? 06:40:51 yeah, the sidescroller 06:40:57 a very good implementation 06:41:11 I'm aiming for more of a puzzle/adventure game 06:46:06 I think the best thing of Portal as a game was suspensive/thrilling atmosphere 06:46:14 Puzzle genre is good for it 06:50:16 that tiles reminds me of Knytt Stories. http://nifflas.ni2.se/index.php?main=02Knytt_Stories 06:50:50 Knytt Stories is a nice puzzle/adventure game too 06:56:02 -!- schemacs has joined. 06:56:27 -!- schemacs has left (?). 06:59:19 interesting. I think I've heard of knytt before 07:16:51 'night, guys 07:17:48 -!- RodgerTheGreat has quit. 07:23:06 -!- uvanta_ has joined. 07:41:30 -!- uvanta has quit (Read error: 110 (Connection timed out)). 07:51:53 -!- helios24 has joined. 07:54:08 -!- puzzlet_ has quit (Remote closed the connection). 07:54:20 -!- puzzlet has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:57 -!- adu has quit (Remote closed the connection). 08:02:39 -!- puzzlet has quit (Remote closed the connection). 08:02:41 -!- puzzlet_ has joined. 08:03:00 http://hadjin.sourceforge.net/wiki.php/IRC_log/2008/01/24/hadjin lol (ignore the bugged logger) 08:05:17 -!- calamari has quit ("Leaving"). 08:05:41 -!- uvanta_ has changed nick to uvanta. 08:09:38 -!- puzzlet has joined. 08:10:12 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 08:14:21 -!- puzzlet_ has joined. 08:14:25 -!- puzzlet has quit (Remote closed the connection). 08:16:35 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 08:27:35 -!- puzzlet has joined. 08:28:24 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 08:38:18 -!- immibis has quit (Read error: 110 (Connection timed out)). 08:42:41 -!- puzzlet has joined. 08:43:12 -!- sarah87 has left (?). 08:54:16 -!- GreaseMonkey has quit (Client Quit). 08:57:14 Spam alert! 09:21:11 -!- jix has joined. 09:23:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 09:23:24 -!- puzzlet has joined. 09:23:34 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 09:28:57 -!- puzzlet has joined. 09:33:21 -!- GregorR has quit (calvino.freenode.net irc.freenode.net). 09:33:21 -!- Asztal has quit (calvino.freenode.net irc.freenode.net). 09:33:23 -!- oklopol has quit (calvino.freenode.net irc.freenode.net). 09:33:23 -!- Overand has quit (calvino.freenode.net irc.freenode.net). 09:33:24 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net). 09:33:24 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net). 09:34:08 -!- GregorR has joined. 09:34:08 -!- Asztal has joined. 09:34:08 -!- bsmntbombdood has joined. 09:34:08 -!- AnMaster has joined. 09:34:08 -!- Overand has joined. 09:34:17 -!- oklopol has joined. 09:36:02 -!- puzzlet has quit (Remote closed the connection). 09:36:10 -!- puzzlet has joined. 09:39:41 -!- Asztal has quit (Read error: 113 (No route to host)). 09:40:21 -!- Asztal has joined. 09:43:15 -!- puzzlet has quit (Remote closed the connection). 09:48:27 -!- puzzlet has joined. 09:49:00 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 09:53:24 -!- puzzlet has joined. 10:05:30 -!- puzzlet_ has joined. 10:09:39 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 10:17:37 -!- jix has left (?). 10:26:54 -!- Overand_ has joined. 10:38:25 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)). 10:39:03 -!- puzzlet has joined. 10:42:14 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net). 10:42:14 -!- lament has quit (calvino.freenode.net irc.freenode.net). 10:42:24 -!- Asztal has quit (calvino.freenode.net irc.freenode.net). 10:42:24 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net). 10:43:27 -!- Asztal has joined. 10:43:27 -!- sekhmet has joined. 10:43:32 -!- Overand has quit (Read error: 110 (Connection timed out)). 10:43:33 -!- Overand_ has changed nick to Overand. 10:44:10 -!- lifthrasiir has joined. 10:44:10 -!- lament has joined. 10:52:20 -!- tejeez has quit (calvino.freenode.net irc.freenode.net). 10:56:58 -!- cmeme has quit (Connection timed out). 11:04:57 -!- cmeme has joined. 11:04:59 -!- tejeez has joined. 11:15:07 -!- Tritonio_ has joined. 11:44:11 -!- helios24 has quit ("Leaving"). 13:24:02 -!- MommeMC has joined. 13:35:48 -!- ehird has joined. 13:44:05 -!- jix has joined. 13:47:21 question: 13:47:31 {'{C:.'}C.}'{C:.'}C. ; is this a cheat quine? 13:47:43 it relies on something akin to javascript's ability to print out a funcs source 13:57:57 -!- RodgerTheGreat has joined. 14:05:36 -!- timotiis has joined. 14:38:11 bye 14:38:14 -!- uvanta has quit ("blame!"). 14:40:30 -!- salparot has joined. 14:41:10 -!- salparot has changed nick to olsnerWk. 14:54:32 -!- Tritonio__ has joined. 14:55:44 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 14:59:07 -!- puzzlet has quit (Remote closed the connection). 14:59:14 -!- puzzlet has joined. 15:04:31 hmm... bef pushes the value of an uninitialised stack variable if & fails 15:04:46 so not cool :( 15:05:14 -!- oerjan has joined. 15:07:09 "bef"? 15:07:46 the reference befunge-93 interpreter, and the one anarchy golf uses 15:07:52 oh 15:22:01 -!- MommeMC has quit. 15:23:24 -!- olsnerWk has quit ("Changing server"). 15:41:25 -!- MommeMC has joined. 15:41:28 -!- MommeMC has quit (Client Quit). 15:53:57 -!- calamari has joined. 15:54:32 -!- sebbu has joined. 16:02:14 -!- calamari has quit ("Leaving"). 16:17:47 -!- puzzlet has quit (Remote closed the connection). 16:17:52 -!- puzzlet has joined. 16:23:40 -!- ehird has quit (Read error: 104 (Connection reset by peer)). 16:29:05 -!- jix has quit ("CommandQ"). 16:35:55 -!- jix has joined. 16:39:19 -!- jix has quit (Nick collision from services.). 16:39:27 -!- jix has joined. 16:55:09 -!- Slereah has quit ("Konversation terminated!"). 17:02:32 -!- slereah_ has joined. 17:48:10 -!- ais523 has joined. 17:53:15 -!- ais523 has quit ("restarting my window manager"). 17:59:00 -!- ais523 has joined. 18:20:11 -!- Corun has joined. 18:21:03 -!- RedDak has joined. 18:35:30 -!- oerjan has quit ("leaving"). 19:56:53 -!- helios24 has joined. 20:05:13 -!- SimonRC_ has joined. 20:05:13 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)). 20:07:50 -!- faxathisia has joined. 20:25:24 it's unusually quite here 20:25:29 for this time of day 20:25:36 Let's say stuff. 20:28:29 I agree 20:28:44 i should go to sleep soon 20:42:37 stuff 20:42:46 STUFF 20:43:17 it's probably quite because it isn't the case that ehird and me are here simultaneously 20:43:33 that's what caused all the traffic over the previous few days 20:44:03 Let's make up some awesome project that we'll never do but will talk about to no end. 20:44:46 * faxathisia wants to write programs to solve combinatory logic problems.. 20:45:29 what sort of problems? 20:45:34 That mockingbird is laughing at you! 20:45:39 unabstraction already exists and can be done automatically 20:45:42 I assume the riddles in "To mock a mockingbird" 20:46:00 say you have a set of combinators, Try to produce some new combinator from them 20:46:00 * ais523 doesn't have that one 20:46:07 Stuff like "prove that with the existance of the mockingbird, there's birds that love such bird" and stuff. 20:46:26 I don't think you can do that much with just a mockingbird 20:46:30 (The vocabulary in to mock a mockingbird isn't very standard) 20:46:34 because applying it to itself gives an infinite loop 20:46:40 I cant use typing because it's all in untyped lambda calc 20:46:44 and if it's the only combinator, you can't do anything else with it... 20:46:47 :( 20:46:53 It's not the only one. 20:47:00 well, obviously 20:47:02 But the first chapter says that it exists. 20:47:10 And some other axioms that I forgot 20:47:22 With that, you can prove some properties for all combinators 20:48:18 Like, every combinator has a fixed point\ 20:48:32 Ah yes, fixed point. 20:48:33 given a Mx = xx and Bxyz = x(yz) 20:48:44 It was "Fond of" in the book IIRC 20:48:47 Yes 20:49:15 and from that, you can prove that some things that sound like combinators can't be 20:49:15 Any ideas for an algorithm for this? :S 20:49:34 such as detecting if a function is a particular combinator or not 20:50:03 If I knew one, I would have found the solution on my own! 20:50:35 I got stuck this one, 20:50:36 you could just brute-force, I suppose 20:50:51 but even determining whether two combinators are the same is sometimes difficult 20:50:56 and I suspect it's undecidable in general 20:51:12 ais523, Yeah I tried this, the problem is that It's undecidable if untyped lambda terms are equal 20:51:35 -!- ehird has joined. 20:51:46 I find that up to a point, Haskell is quite good for identifying combinators, but past that point it's useless 20:51:46 'ello 20:51:57 because you can't fit a mockingbird into the normal type system... 20:51:59 oh, and hello 20:52:07 Hi. 20:52:07 ais523: you kind of can 20:52:07 m x = x x 20:52:23 and m m works 20:52:24 You can't type Y in anything 20:52:27 Maybe you meant the pure Y combinator 20:52:36 Prelude> let m x = x x 20:52:37 faxathisia: we need a typesystem allowing construction of the infinite type 20:52:43 Occurs check: cannot construct the infinite type: t = t -> t1 20:52:44 yes 20:52:50 ais523: works for me 20:52:51 faxathisia: Have you looked at the solution? 20:52:54 oh 20:52:54 no 20:53:13 ehird: I'm using ghci, and it definitely doesn't let me define m x to be x x 20:53:14 slereah, No, I'm going to work it out.. It's just taking weeks :P 20:53:22 because it's type would be t -> t -> t -> t -> t -> ... 20:53:44 on the other hand, combinators like s and k are easily identified from their types 20:53:44 y f = f (y f) -- types ok 20:53:48 I'll read it again, and tell you if it gives me an awesome algorithm idea 20:53:50 faxathisia: that's not Y 20:53:56 Yes it is 20:53:58 no 20:54:01 Y is the lambda calculus form 20:54:04 It is :P 20:54:05 and contains no free names 20:54:06 that does 20:54:13 that is 'fix' 20:54:37 It's equal to the y-combinator then... 20:54:46 What riddle is it again? 20:55:01 faxathisia: just like every other fixed point combinator 20:55:02 doesn't mean it's Y 20:55:24 according to Wikipedia, Y is the best known fixed point combinator 20:55:37 and y f = f (y f) is one way to describe its behaviour 20:55:42 Is it the "every bird is fond of at least one bird"? 20:56:09 ok, please don't tell me the answer if you do get it, but given Qxyz = y(xz) and Txy = yx, Can you make Bxyz = x(yz) ? 20:56:40 T, the Thrush bird? 20:56:44 Yes 20:56:51 (Working on lazy bird got me the names in mah noggin) 20:56:55 I wrote a typechecker for STLC, and it can type y 20:57:57 faxathisia: lazy version? 20:58:05 It's useless for solving these problems though, http://rafb.net/p/uFekWO50.txt 20:58:14 Wikipedia defines Y as S (K (S I I)) (S (S (K S) K) (K (S I I))) in ski form, so that should be enough to be an unambiguous definition 20:58:18 assuming it's right, of course 20:58:24 faxathisia: Is it question 37? 20:58:43 ehird, not sure what you mean, It's using herbrands unification algorithm 20:59:02 slereah, 45 20:59:22 "The method is a bit tricky!" 20:59:34 It must be! :S 21:00:14 Seeing the answer, brute force might work. 21:00:23 faxathisia: the lazy Y 21:00:34 \f. (\x. f (x x)) (\x. f (x x)) 21:00:35 But it doesn't really offer a detailed demonstration 21:00:35 ah yeah 21:00:36 as opposed to 21:00:45 y f = f (y f) -- Is useless in scheme 21:00:52 \f. (\x. f (\y. (x x) y)) (\x. f (\y. (x x) y)) 21:00:53 Just proves that the answer produce the same result 21:00:55 um 21:00:58 that is useless in any strict lanug 21:01:06 ae 21:01:08 ((lambda (m) ((lambda (x) (x x)) (lambda (y) (m [lambda (n) ((y y) n)])))) <-- the lambda in []'s is like basically a trick 21:01:13 DOWN WITH STRICTNESS! 21:01:48 ((lambda (m) ((lambda (x) (x x)) (lambda (y) (m (y y)))))) ;; Should work in a lazy lisp 21:01:59 faxathisia: not standard 21:01:59 also 21:01:59 here is a simple, self-referencing fixpoint 21:02:08 (define (fix f) (f (lambda (x) ((fix f) x))) 21:02:08 not standard? 21:02:15 faxathisia: the [..] 21:02:33 check r5rs if you don't believe me (r6rs is shit) 21:02:37 I am using [] to show exactly which lambda I am referring to 21:02:45 I never use [] in code 21:03:03 It saves me using two lines, one with ^^^^^ 21:03:42 anyway the cool thing is that you can create recursion 21:04:07 thats the point of the fixedcombinator 21:04:14 no pun 21:08:09 -!- slereah__ has joined. 21:08:47 faxathisia: You might want to check how the arguments of combinators affect the arity of the resulting combinator. 21:09:00 Might shorten the search, since you know B only has 3. 21:09:21 I've given up trying by hand 21:09:32 Well, in code form, or something 21:09:34 * faxathisia has pages of dead ends 21:11:13 For instance, Q(something)Q adds two to the arity, T only one. 21:11:40 (I tried to do that kind of conversions when trying to shorten some lazy bird programs) 21:12:30 Not sure if it will help. 21:12:34 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)). 21:12:51 Although it was useful to notice when it was useless to try to reduce some combinator 21:12:55 -!- slereah__ has changed nick to Slereah. 21:16:42 I first worte a program that generates every combination of a set of combinators, then checks if they are equal 21:17:23 How does it check for equality? 21:17:25 I checked equality as you would with STLC, so it can only solve the really basic problems 21:17:37 STLC? 21:17:51 just see if the simple types of the lambda terms unify 21:18:00 I don't speak that moonspeak. 21:18:25 But well, since it's just B, you can probably just apply three dummy combinator to it. 21:18:31 That's how I do it for most. 21:18:41 so (λx.x) has type α → α 21:19:20 you can check that unifying the type of SKK works 21:20:17 and since it does they must be equal, but yeah.. This is not working in general since lots of valid term in combinatory logic don't type 21:20:39 Iotat's i for one! 21:21:14 so I think I'll try to solve the problem from the other end.. 21:21:18 "Few languages ever become sufficiently popular that they are used by more than a few people" -- quote I just came across on Wikipedia 21:21:21 Problems usually arise when there's lambdas in the lambda expression 21:21:33 start mangling the solution until I get a solution 21:21:41 er.. :S 21:25:07 * Slereah adds q to Lazy Bird 21:25:14 I'll give you brute force, you'll see! 21:25:20 :D 21:25:28 Lazy Bird is your language? 21:26:45 Yes. 21:27:19 cool? 21:27:33 Is there an implementation 21:27:44 http://membres.lycos.fr/bewulf/Russell/Lazy%20Bird/Lazy%20Bird%204.py 21:27:50 Although this one lacks q. 21:28:32 http://membres.lycos.fr/bewulf/Russell/Lazy%20Bird%205.py 21:28:34 This one has. 21:29:05 Same syntax as Unlambda. Use a, n, p or x as dummy variables. 21:29:15 The evolution of the expression is displayed. 21:32:08 How come: mm is invalid? 21:32:31 `mm 21:32:37 `mm works, buut doesn't loop 21:33:02 The program halts if the previous expression is the same as the current one 21:33:07 ah ok 21:33:24 But ```sii``sii won't stop 21:33:39 There's i accumulating 21:34:36 Ooooh 21:34:51 ```sii``sii optimises into Underload's (:^):^, which doesn't accumulate is anywhere 21:35:27 Well, with lazy evaluation, it forgets that part. 21:35:32 ^a^b^c`a`bc 21:35:33 ``s``s`ks``s`k`s`ks``s`k`s`kkk`k``s``s`ksk`ki 21:35:37 awesome :D 21:36:05 It is rather a pain to do it by hand! 21:36:26 ```sii``sii -> ``i``sii`i``sii -> ```sii`i``sii -> ```sii``sii with eager evaluation 21:36:27 You can check with sum dummy combinators, too! 21:36:33 and Underload and Unlambda are eager 21:36:41 so there's no accumulation of is 21:38:39 faxathisia: Use the ABSTRACTOR for that though 21:38:47 Much shorter formulas 21:39:18 I've got some "Feather trimming" program in project somewhere, to try to do some minimal length formula 21:39:19 Is there a description of this ``` syntax? 21:39:28 Well, it's polish notation 21:39:33 I guess ` means application?? 21:39:36 Yes. 21:39:49 ok 21:39:56 There's a simple trick : take an expression with parenthesis 21:40:02 Eliminate all ")" 21:40:10 Turn "(" into "`" 21:40:39 That's clever 21:49:33 -!- sebbu2 has joined. 21:52:22 http://membres.lycos.fr/bewulf/Russell/BRUTE%20FORCE.txt 21:52:23 There. 21:52:28 The solution is at the end. 21:52:41 All you had to do was to waste half an hour! 21:54:03 I did it in quite a stupid fashion, since I used expressions without t or q 21:54:26 And I probably should have checked what kind of formulas would end up on something with three variables 21:54:37 -!- sebbu has quit (No route to host). 21:54:37 -!- sebbu2 has changed nick to sebbu. 21:55:10 Is this true? 21:55:17 ``s``s`ks``s`k`s`ks``s`k`s`kkk`k``s``s`ksk`ki = ((s ((s (k s)) (k s))) ((s (k s)) (k s))) 21:55:35 actually, It's obviously wrong :S 21:56:09 ((S((S(KS))(KS)))((S(KS))(KS))) 21:56:09 `k``ss`ss 21:56:09 Expression : `k``ss`ss 21:56:22 Well, that's after reduction. 21:56:29 So I don't know 21:56:44 oh wait we got the same answer 21:56:57 What does `k``ss`ss mean? 21:57:01 at the end 21:57:16 I did it the other way around. 21:57:44 Lazy Bird does everything in combinators in polish notation, so it translates the input into that 21:57:50 this seems to sort of work then, http://rafb.net/p/mMCqUh43.txt 21:58:15 I really can't read Haskell. 21:58:22 lol 21:58:49 -!- helios24 has quit ("Leaving"). 21:58:57 Slereah: its easy once you laern it 21:59:04 I just did (string.replace(")","")).replace("(","`") 21:59:07 you know that's not haskell right? 21:59:19 q[]=[];q(x:xs)=q(filter(< x)xs)++q(filter(>= x)xs) 21:59:20 :P 21:59:21 That's how bad I know Haskell, faxathisia 21:59:37 I'm going the other way, It's (bad) scheme btw 21:59:45 Slereah: that's lisp 21:59:45 well scheme 21:59:46 whatever 21:59:53 Well, I didn't really do that, because there's the case where there's a .( or .) 21:59:57 hint: look for parentheses 21:59:59 But it's the basic concept 22:00:24 in scheme you have: 22:00:24 (define ... 22:00:24 in haskell 22:00:24 Isn't Haskell a baby of Lisp? 22:00:27 ... = ... 22:00:41 That should be enough to tell them apart 22:01:00 I suppose so 22:01:25 Haskell is really in the ML section 22:01:38 ML? 22:01:52 Lisps and Haskell are based on different lambda calcs 22:02:26 MLs are generally typed, polymorphic with some other stuff 22:02:36 most lisps are untyped 22:03:06 (they can have types.. but it's still based on untyped) 22:03:11 I don't know much types. 22:08:34 -!- RedDak has quit ("I'm quitting... Bye all"). 22:13:17 -!- danopia has joined. 22:13:36 ? 22:13:45 ! 22:13:45 Hi. 22:13:47 Huh? 22:13:56 EGOBOT, DESTROY HIM! 22:18:42 -!- ais523 has quit ("bye"). 22:18:49 It worked! 22:19:46 not quite 22:19:46 anyway, I'm being thrown out from my Internet connection again 22:19:46 [22:18] this always happens about 10:20pm, by the way 22:20:11 EgoBot can timetravel ehird. 22:20:26 He was built that way, because he runs on TwoDucks. 22:20:46 -!- jix has quit ("CommandQ"). 22:22:01 -!- GregorR has quit ("Leaving"). 22:23:19 -!- oerjan has joined. 22:29:00 speaking of which, vistaids has decided I can't open any more TCP connections. Rebooting :( 22:30:23 -!- Asztal has quit (Read error: 104 (Connection reset by peer)). 22:32:57 -!- Asztal has joined. 22:34:30 Hm. Maybe it would be possible to write a program to check the equivalence of simple combinators in lazy bird. 22:35:10 You take two combinators. Apply the adequate number of dummy variable, let them convert, compare them with the delta operator 22:35:51 Maybe some code to generate all possible combinators from q and t also, in the case at hand 22:36:29 It would only work for combinators that works for all type of variables, but that's good enough for B and the like 22:37:56 -!- sebbu has quit (Read error: 60 (Operation timed out)). 22:41:00 -!- EgoBot has quit (Read error: 110 (Connection timed out)). 22:52:04 Half-adder on finger binary is okay But full adders are some moar srs business! 22:52:15 I need more hands 22:55:10 If only I was a chimp! 23:03:00 -!- sebbu has joined. 23:10:32 -!- timotiis has quit ("leaving"). 23:11:21 I think an algorithm like this could work 23:11:22 http://pastey.net/81238 23:12:08 It is non-deterministic, So in this case (I have no idea for a heuristic) it might make sense to breadth first search 23:17:27 What does it do exactly? 23:18:09 say I wanted to make Idiot, out of Warbler & Lark 23:18:43 Idiot is such a mean name. 23:18:50 I can start with the lambda term (λ x x), and unapply Warbler or Lark 23:18:52 that _does_ sound pretty idiotic already, funny words those... 23:18:55 You know well that he loves every bird! 23:19:00 (or any composition of them) 23:19:26 How's the unapplying done? 23:23:01 to do, (λ x x) 23:23:18 I can suppose, (λ x x) = ((λ x (λ y ((x . y) . y))) . ?1) 23:23:46 so all I have to do then (after alpha-beta) is solve ((?1 . x) . x) = x 23:24:46 so I get the solution (λ x x) = ((λ x (λ y ((x . y) . y))) . (λ x (λ y x))) = (W . K) 23:24:57 It might work? :S 23:25:05 I can't say! 23:27:26 -!- RockerMONO has joined. 23:27:35 hi 23:27:53 Hello 23:28:19 ``^x^y`````tky.xr``xx``v``t0y```t`sb``tky``t0y^x^y`````tky.xr``xx``v``t0y```t`sb``tky``t0y``v0i 23:28:24 Fibonacci :D 23:28:31 Though a very slow one 23:28:44 anyone know the most verbose code for outputting 'verbose' in brainfuck? :D 23:28:58 * RockerMONO is just getting into brainfuck and feels like messing around ab it 23:29:03 Here's a shorter oen : ``m^x^y`````tky.xr``xx``v``t0y```t`sb``tky``t0y``v0i 23:29:17 RockerMONO: Define "Most verbose". 23:29:27 You could theorically use an infinite number of symbols! 23:29:35 Slereah: as in exteremely overly lengthy useless code =P 23:29:44 Like an absurd quantity of <> that would do nothing 23:29:48 hm 23:29:51 well 23:30:06 i was thinking maybe going to 0 before doing each character? :) 23:30:30 using only + > and . would be pretty verbose 23:30:36 Well, that's how you would do it if you printed it on every cell! 23:30:50 Like ++++....+++ > ++++.... +++ > +++.... 23:31:10 And then, go back to 0, and print, >, print, until you're on 000 again 23:31:19 * oerjan assumes .... means ellipsis 23:31:28 Slereah: constant folding pwns your pitiful attempts 23:31:37 ? 23:31:40 actually, a good brainfuck compiler should generate programs like printf("hello world\n"); when it can 23:31:40 :P 23:32:27 I can't think of a verboser way that wouldn't be just adding completely useless characters 23:33:00 Well, maybe you could write it in some code on the tape, and use another part of the program to decode it and print it! 23:33:22 Like you write it in binary, except it's actually a bunch of "0" and "1" char 23:34:13 do it as a COBOL program + interpreter. that _surely_ would be verbose. 23:34:51 -!- olsner has joined. 23:35:21 so, I'm working on a sed script that translates thue into mod_rewrite rules... testing it on a brainfuck interpreter written in thue :P 23:35:42 olsner: do you get a crapload of redirects or something? 23:35:47 as if you stepped through it in your url bar 23:35:57 http://nonlogic.org/dump/text/1201217590.html <-- guess what that does :D 23:36:24 * RockerMONO should strip the newline characters... 23:36:50 basically you write http://host/brainfuckProgram:000_001_010_ to execute the brainfuck program on input [0,1,2] 23:37:45 Idea : Write a program that will input a brainfuck interpreter in brainfuck, which will do the same, and so on. 23:37:59 and I rewrite it to print.php?output in the end, and let print.php just print that string 23:38:56 have a few bugs in it I think... and the sed script isn't exactly readable (regexps producing regexps ^^) 23:41:21 I think that's the shortest Fibo in Lazy Bird : ``m^x^y````yk.xr``xx``v`y0```t`sb`yk`y0``v0i 23:41:30 Unless! 23:41:36 I get rid of the last t. 23:42:24 ``m^x^y````yk.xr``xx``v`y0```yk`sb`y0``v0i 23:42:26 Thar 23:42:35 oh noes, mod_rewritwe translates ? into a request with a query string... and only uses the URI part for future matching... more ugly sed hacking :S 23:42:47 It is painfully slow, but it does output Fibonacci! 23:43:27 Hm. Or does it? 23:43:32 I'd better check 23:43:33 http://nonlogic.org/dump/text/1201218034.html = pure evil :) 23:43:47 olsner: you can tell it to match whole 23:45:55 hmm... the apache manual suggests otherwise: "The Pattern will not be matched against the query string." 23:46:28 http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule under "Note: Query String" 23:49:22 And here it is, in combinators : ``m``s`k`s``s``s`o`kk`k.1`kr``s``s`ks``s``s`kskk`k``s``s`kv`o`k0``s``s`o`kk`k`sb`o`k0``v0i 23:49:55 -!- uvanta has joined. 23:50:27 seems the workaround they recommend is to match URI and query string separately, with a RewriteCond %{QUERY_STRING} ... before the RewriteRule 23:51:57 http://nonlogic.org/dump/text/1201217590.html <-- Microsoft EULA translated into brainfuck *insert evil grin here* 23:52:20 that one actually works too >.> 23:52:23 * RockerMONO realized his other code died 23:52:41 makes about as much sense 23:54:18 looking at that page in firefox may be worse than waiting for it to compile >.>