00:00:58 !help glass 00:01:01 To use an interpreter: Note: can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem. 00:01:21 what is glass? 00:07:49 -!- NoneGiven has joined. 00:11:45 SimonRC: http://www.esolangs.org/wiki/Glass 00:17:20 -!- NoneGiven has quit ("Leaving"). 00:17:43 SimonRC: And incidentally, if you want an interpreter added to EgoBot, feel free to ask :P 00:17:44 !help 00:17:47 help ps kill i eof flush show ls 00:17:49 1l 2l adjust axo befunge bch bf{8,[16],32,64} glass glypho kipple lazyk malbolge pbrain rail sadol sceql udage01 01:35:31 * SimonRC goes to bed 01:43:11 I'll understand that as "no comment" on Glass :P 02:06:55 GregorR: hmm, Glass is interesting. 02:08:01 If you can write conventional algorithms in it, a Java-->glass compiler could actually be a sane thing to do, to use glass as an OO interemediate language. 02:08:10 * SimonRC really goes to bed this time. 03:29:50 -!- fungebob has joined. 04:39:01 -!- GregorR has quit (Remote closed the connection). 04:39:52 -!- GregorR has joined. 06:28:42 -!- CXI has quit (Connection timed out). 06:35:28 -!- Sgeo has quit. 06:37:24 HELLO 06:37:25 ELLO 06:37:25 LLO 06:37:26 LO 06:37:26 O 06:38:19 * GregorR listens to the crickets chirping. 06:42:06 My what an empty chaaaaannel, my what a boooooring buuuuuuuuuuuunch :-P 06:53:07 It's something improper like 08am here. (Well, closer to 09am, now.) What time is this to be awake anyway? 06:55:30 It's almost 11PM here :P 07:13:02 !glass {M[m(_d)(Debug)!(_d)(cl).?]} 07:13:05 A Arr Arre BF Debug Emote F Fib Hsh Hshe I JixMath L LameQuine M O Rand S Tape TapeItem V 07:47:27 -!- CXI has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:08:30 -!- calamari has quit ("Leaving"). 08:10:45 !glass {(BF)[(c__)m(Arr)!(mp)<0>=][(bf)(_a)A!(_o)O!(_s)S!(_t)$(_p)1=,(_pp)<0>=(_pc)(_pp)*(_p)*(_s)l.?(_a)(le).?=/(_pc)(_pcur)(_p)*(_pp)*(_s)i.?(_s)(sn).?=(_isc)(_pcur)*<43>(_a)e.?=/(_isc)(_isc)<0>=(_c)(mp)*mg.?=(_c)(_c)*<1>(_a)a.?=(mp)*(_c)*ms.?\(_isc)(_pcur)*<45>(_a)e.?=/(_isc)(_isc)<0>=(_c)(mp)*mg.?=(_c)(_c)*<1>(_a)s.?=(mp)*(_c)*ms.?\(_isc)(_pcur)*<60>(_a)e.?=/(_isc)(_isc)<0>=(mp)(mp)*<1>(_a)s.?=(_b)(mp)*<0>(_a)(lt).?=/(_b)^\\(_isc)(_pcur)*<62>(_a)e.?= 08:10:48 OK 08:10:55 And now, to kill myself. 08:11:20 Oh, wait, it didn't get the whole thing :( 08:13:50 * GregorR waits for the unusually slow pastebin .. 08:14:45 !glass http://www.rafb.net/paste/results/Na3OEx44.txt 08:14:48 OK 08:15:51 !glass {M[m(_b)(BF)!">+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+."(_b)(bf).?]} 08:16:47 ... 08:17:04 !glass {M[m(_d)(Debug)!"BF"(_d)(fl).?]} 08:17:08 bf c__ 08:17:10 !ps 08:17:14 1 GregorR: glass 08:17:16 2 GregorR: ps 08:17:21 Holy hell that's slow XD 08:17:38 !flush 1 08:17:44 !ps 08:17:46 1 GregorR: glass 08:17:48 2 GregorR: ps 08:17:50 !kill 1 08:17:52 Process 1 killed. 08:18:29 !glass {M[m(_b)(BF)!">+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+."(_b)(bf).?"\n"(_o)O!(_o)o.?]} 08:18:46 Strange that it works great when I run it from the console :P 08:19:07 Anyway, for everybody who's on and interested: There is my BF interpreter in Glass. Now I shall kill myself 8-D 08:19:58 08:22:14 -!- Freya has joined. 08:22:18 hi] 08:22:32 -!- fungebob has quit (Read error: 110 (Connection timed out)). 08:22:58 'ello 08:23:05 -!- Freya has changed nick to nooga. 08:23:08 And goodbye soon, as I'm about to go to sleep ;) 08:23:12 oh 08:23:17 it's morning here 08:23:20 Heh 08:23:27 I just finished writing a BF interpreter in Glass. 08:23:37 woh 08:23:51 did you see a quine in sadol? 08:24:08 Somewhere on #esoteric? 08:24:35 !help 08:24:38 help ps kill i eof flush show ls 08:24:40 1l 2l adjust axo befunge bch bf{8,[16],32,64} glass glypho kipple lazyk malbolge pbrain rail sadol sceql udage01 08:24:55 !sadol (4:C",216!"9(4:C",216!C!C!"9(4:C",216!C!C 08:24:58 (4:C",216!"9(4:C",216!C!C!"9(4:C",216!C!C 08:25:02 :) 08:25:02 Cooooooooooool 8-D 08:25:31 or reversed quine 08:25:37 !sadol (7:C",228!R!C!"7822,"R:!R!"9822,"C:7(:R",228(7:C",2289"!R!:R",2287"!C!RR!C!"7822,"R:!R!"9822,"C:7( 08:25:40 BDSM: Parsing: Unexpected end of file (index:98,row:1,col:99) 08:25:45 Hah 08:25:49 heh, w8 08:25:59 btw, there's a BDSM2 08:26:03 better 08:27:11 http://www.regedit.risp.pl/BDSM/ 08:27:19 Oh, guess it's time to upgrade EgoBot 08:27:28 and here's cool doc: http://www.regedit.risp.pl/BDSM/BDSM2.html 08:27:54 and even more obfuscated 99b: http://www.regedit.risp.pl/BDSM/99_bottles_of_beer.sad 08:29:51 !sadol (7:C",228!R!C!"7822,"R:!R!"9822,"C:7(:R",228(7:C",2289"!R!:R",2287"!C!RR!C!"7822,"R:!R!"9822,"C:7( 08:30:00 My BF in Glass, btw: http://esoteric.voxelperfect.net/svn/esofiles/glass/src/bf.glass 08:30:16 !ps 08:30:20 1 GregorR: ps 08:30:29 Hmm, that had no output (...?) 08:30:33 werid 08:30:39 Wait a tick, I'm still updating. 08:31:06 hm, Glass is soo cool 08:31:11 damn 08:32:21 Hah, why thank you :) 08:32:26 !reload 08:32:45 !sadol (4:C",216!"9(4:C",216!C!C!"9(4:C",216!C!C 08:32:49 (4:C",216!"9(4:C",216!C!C!"9(4:C",216!C!C 08:32:51 !sadol (7:C",228!R!C!"7822,"R:!R!"9822,"C:7(:R",228(7:C",2289"!R!:R",2287"!C!RR!C!"7822,"R:!R!"9822,"C:7( 08:32:55 BDSM: Parsing: Unexpected end of file (index: 99, row: 1, col: 100) 08:32:55 Should be BDSM2 now. 08:33:01 hm hm 08:33:01 Or ... hmm. 08:33:08 Or I'm confused :P 08:33:10 wait a sec 08:33:35 Oh, BDSM2 still says BDSM: in errors :P 08:33:51 it's not my fault :> 08:34:09 btw. BDSM isn't really "Bad Developed" 08:34:30 imho it's great... it has optimisations, copy on write and so on 08:36:06 Anyway, I really ought to get to sleep, have to get up in the morning - if you happen to see jix, tell him http://esoteric.voxelperfect.net/svn/esofiles/glass/src/bf.glass :P 08:36:30 okay 08:36:44 !sadol \+2.222 08:36:50 !sadol !\+2.222 08:36:53 2 08:37:03 hah yes it's BDSM2 08:51:32 -!- SimonRC_ has joined. 08:52:59 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)). 09:17:19 !help 09:17:21 help ps kill i eof flush show ls 09:17:23 1l 2l adjust axo befunge bch bf{8,[16],32,64} glass glypho kipple lazyk malbolge pbrain rail sadol sceql udage01 09:17:33 !help glass 09:17:35 To use an interpreter: Note: can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem. 09:18:12 hm? 09:23:58 does egobot use fork? 09:24:30 or rather some kind of threading inside? 10:29:35 -!- lindi- has quit (Read error: 60 (Operation timed out)). 10:33:39 -!- lindi- has joined. 11:35:09 -!- lirth has joined. 11:37:59 -!- klutzy has quit (clarke.freenode.net irc.freenode.net). 12:19:54 -!- CXII has joined. 12:28:41 -!- CXI has quit (Connection timed out). 13:10:05 -!- nooga has quit (Read error: 104 (Connection reset by peer)). 14:14:29 hi 14:14:45 -!- SimonRC_ has changed nick to SimonRC. 14:37:32 -!- CXII has quit (Read error: 104 (Connection reset by peer)). 14:37:51 -!- CXII has joined. 14:38:15 -!- CXII has changed nick to CXI. 14:55:27 * SimonRC is slightly annoyed. 14:55:42 BDSM2 still only has dynamic scope, not lexical. 14:57:28 If you used lexical scope and changed ~ to act as a lambda, it would actually become practical to translate large functional or OO programs into sadol. 14:59:36 Oh, and a LET* or LETREC mechanism would be nice, unless the y combinator was handy. 15:01:32 Actually, that could confuse the hell out of the parser, which relies on being able to tell functions from data at compile-time :-( 15:03:14 -!- jix has joined. 15:06:11 hi 15:09:46 !help 15:09:48 help ps kill i eof flush show ls 15:09:50 1l 2l adjust axo befunge bch bf{8,[16],32,64} glass glypho kipple lazyk malbolge pbrain rail sadol sceql udage01 15:10:06 !sadol !5 15:10:08 5 15:10:27 !sadol !!5 15:10:30 55 15:10:46 !sadol !+!42 15:10:50 46 15:11:00 !sadol !-!42 15:11:02 42 15:11:05 heh 15:14:41 !sadol !+$212$212 15:14:44 (1,2,1,2) 15:18:44 !sadol :a$212!a:ba!b:#b23!a!b 15:18:46 BDSM: Executing: Cannot return element of list as l-value - index 2 out of bounds (index: 14, row: 1, col: 15) 15:19:32 !sadol :a$212!a:ba!b:#b13!a!b 15:19:36 (1,2)(1,2)(1,2)(1,3) 15:19:59 ooh, a and b are seperate lists. 15:20:37 !sadol !:a$212!a!:ba!b!:#b13!a!b 15:20:40 (1,2)(1,2)(1,2)(1,2)3(1,2)(1,3) 15:37:10 * SimonRC wonders abuot the practicality of recursion in sadol 15:40:50 !sadol ~R1(3~r2$0~r2(3:f_0:s_1?>#s0(3:e[s]ferfsf 15:40:52 BDSM: Parsing: Local function redefinition: 'r' (index: 10, row: 1, col: 11) 15:40:58 feck 15:41:14 how in the name of Tux do I do recursion? 15:42:22 * SimonRC tries the naive way 15:43:07 !sadol ~R1(3~r2$0~r2(3:f_0:s_1?>#s0(3:e[s]ferfsfr$0_0 15:43:09 nonono 15:43:10 BDSM: Parsing: Local function redefinition: 'r' (index: 10, row: 1, col: 11) 15:43:22 !sadol ~R1(2~r2(3:f_0:s_1?>#s0(3:e[s]ferfsfr$0_0 15:43:24 BDSM: Executing: Cannot extract element from integer with '#' on index: 0 - invalid type (index: 20, row: 1, col: 21) 15:43:57 It is confused i think 15:46:27 !sadol ~R1 (2 ~r2 (3 :f_0 :s_1 ?>#s-010 (3 :e[s ]fe rfs f r$0_0 15:46:31 BDSM: Executing: Cannot extract element from integer with '#' on index: -1 - invalid type (index: 31, row: 1, col: 32) 15:47:18 !sadol #$256-01 15:47:23 !sadol !#$256-01 15:47:25 2 15:49:20 !sadol :s$256!#s-01 15:49:23 2 15:50:21 !sadol :s$256!s!#s-01 15:50:25 (5,6)2 15:51:28 !sadol :f$234:s$3567!f!s 15:51:31 (3,4)(5,6,7) 15:51:52 !sadol :f$234:s$3567!>#s-011 15:51:55 1 15:52:14 !sadol :f$234:s$3567!?>#s-011!"4true!"5false 15:52:17 truetrue 15:52:34 !sadol :f$234:s$3567!?>#s-011"4true"5false 15:52:37 true 15:53:41 !sadol :f$234:s$3567!?>#s-011(3:e[s]fe(3!e!f!s"5false 15:53:45 7(3,4,7)(5,6)(5,6) 15:53:55 !sadol :f$234:s$3567?>#s-011(3:e[s]fe(3!e!f!s!"5false 15:53:59 7(3,4,7)(5,6) 15:55:42 !sadol ~r2(3:f$234:s$3567?>#s-011(3:e[s]ferfsf 15:56:10 !sadol ~r2(3:f_0:s_1?>#s-011(3:e[s]ferfsf 15:56:13 BDSM: Executing: Cannot extract element from integer with '#' on index: -1 - invalid type (index: 15, row: 1, col: 16) 15:56:17 hmm 15:56:26 ah 15:56:31 I though _ was a function 15:56:35 ah 15:56:51 !sadol ~r2(3:f#_0:s#_1?>#s-011(3:e[s]ferfsf 15:57:43 !sadol ~R1(2~r2(3:f#_0:s#_1?>#s-011(3:e[s]ferfsfr$0#_0 15:58:00 !sadol ~R1(2~r2(3:f#_0:s#_1?>#s-011(3:e[s]ferfsfr$0#_0 !R$567890 15:58:05 (0,9,8,7) 15:58:12 hmm, buggy 15:59:46 !sadol ~R1(2~r2(3:f#_0:s#_1?>#s-011(3:e[s]fe(4!f!s!erfsfr$0#_0 !R$567890 15:59:49 (0)(6,7,8,9)0(0,9)(6,7,8)9(0,9,8)(6,7)8(0,9,8,7)(6)7(0,9,8,7) 16:00:36 !sadol ~R1(2~r2(3:f#_0:s#_1?>#s-011(3:e[s]fe (4!f!s!#s-01 rfsfr$0#_0 !R$567890 16:00:39 (0)(6,7,8,9)4(0,9)(6,7,8)3(0,9,8)(6,7)2(0,9,8,7)(6)1(0,9,8,7) 16:01:47 !sadol ~R1(2~r2(4:f#_0:s#_1!#s-01?>#s-011(3:e[s]fe (3!f!srfs fr$0#_0 !R$567890 16:01:51 5(0)(6,7,8,9)4(0,9)(6,7,8)3(0,9,8)(6,7)2(0,9,8,7)(6)1(0,9,8,7) 16:02:48 !sadol :l$3123!l![l!l 16:02:51 (1,2,3)3(1,2) 16:03:08 !$0 16:03:22 * SimonRC has found a bug! 16:03:29 !$1 16:03:38 erm, oops 16:03:43 !sadol !$0 16:03:45 () 16:03:47 oh 16:04:24 !sadol :l$1!l![l!l 16:04:27 00() 16:04:39 erm 16:06:11 !sadol ~R1(2~r2(4:f#_0:s#_1!#s-01?>#s-011(4(2!f!s:e[s]fe (3!f!srfs fr$0#_0 !R$567890 16:06:15 5()(6,7,8,9,0)(0)(6,7,8,9)4(0)(6,7,8,9)(0,9)(6,7,8)3(0,9)(6,7,8)(0,9,8)(6,7)2(0,9,8)(6,7)(0,9,8,7)(6)1(0,9,8,7) 16:06:51 d'oh! 16:06:58 !sadol ~R1(2~r2(4:f#_0:s#_1!#s-01?>#s-010(4(2!f!s:e[s]fe (3!f!srfs fr$0#_0 !R$567890 16:07:01 5()(6,7,8,9,0)(0)(6,7,8,9)4(0)(6,7,8,9)(0,9)(6,7,8)3(0,9)(6,7,8)(0,9,8)(6,7)2(0,9,8)(6,7)(0,9,8,7)(6)1(0,9,8,7)(6)(0,9,8,7,6)()0(0,9,8,7,6) 16:07:18 There, that 1 should have been a 0 16:07:58 !sadol ~R1(2~r2(3:f#_0:s#_1?>#s-010(3:e[s]ferfsfr$0#_0 !R$567890 16:08:01 (0,9,8,7,6) 16:08:04 yay! 16:08:14 R is the reverse function 16:10:21 * SimonRC gets an interpreter instead of spamming the channel. 16:19:29 !sadol ~R1(2~r2(3:f#_0:s#_1?>#s-010(3:e[s]ferfsfr$0#_0 !R$567890 16:19:31 No repeats. 16:19:34 hmm 16:19:49 ah 18:08:11 -!- cmeme has quit (Remote closed the connection). 18:08:49 -!- cmeme has joined. 18:17:46 * SimonRC leaves 18:54:42 jix: http://esoteric.voxelperfect.net/svn/esofiles/glass/src/bf.glass (it's on EgoBot too but doesn't work so well on EgoBot for some reason ...) 18:56:47 cool 19:03:03 -!- lindi- has quit (clarke.freenode.net irc.freenode.net). 19:03:56 -!- lindi- has joined. 20:23:31 -!- calamari has joined. 20:24:04 hi 20:39:51 bye 20:39:53 -!- calamari has quit ("Leaving"). 21:09:23 -!- Sgeo has joined. 21:29:33 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 21:36:38 -!- int-e has joined. 21:49:53 -!- ihope has joined. 21:59:15 Suppose I have an Unlambda expression `Av. I know nothing about the value of A. Is d the only way to keep it from evaluating? 22:02:35 !help 22:02:38 help ps kill i eof flush show ls 22:02:40 1l 2l adjust axo befunge bch bf{8,[16],32,64} glass glypho kipple lazyk malbolge pbrain rail sadol sceql udage01 22:02:51 No Unlambda, eh? 22:07:18 ihope: i believe so 22:07:23 ihope: unlambda sucks :) 22:07:34 But it has a c combinator! 22:07:59 what about ``ki`Av 22:08:29 will that evaluate? 22:08:48 Not per se. 22:08:54 it won't parse 22:09:01 A, in this case, is a continuation. 22:09:40 call/cc is evil. 22:09:59 It can be useful... 22:10:17 Like when testing for v :-P 22:11:02 | is really cool - in programs that don't do I/O :) 22:11:38 ihope: and thus totally useless in languages that don't have v! :P 22:12:12 lament: well, then, everything's totally useless except s and k combinators, right? 22:12:21 (and I/O?) 22:12:53 lazy k manages without IO :) 22:13:10 or rather, does IO in a sane fashion 22:14:43 -!- GregorR-L has joined. 22:15:09 What unlambda interpreter should I use in EgoBot? 22:15:15 Please note the word "interpreter" 22:15:30 i believe the ocaml one is fastest 22:15:57 Does the ocaml one show you the end results of evaluating the program? 22:17:08 * int-e wonders if more than one person ever found http://web.inf.tu-dresden.de/~bf3/unlambda/ 22:18:02 If said one person isn't me, the answer's probably yes. 22:18:47 Then again, maybe not. 22:19:40 Did whoever was writing a Glass->Java bytecode compiler ever get anywhere? 22:19:57 I could look through the logs, but am a lazy **** 22:23:25 is the ocaml one the caml one from the unlambda 2.0.0 distribution or is there another one? 22:25:17 i only know of that one 22:25:30 then I'd claim that my C one is faster :) 22:25:55 BATTLE TO THE DEATH 22:30:18 Why aren't you battling to the death? :( 22:31:20 * ihope battles GregorR-L 22:31:26 * GregorR-L dies. 22:31:42 * ihope cries 22:32:08 -!- GregorR-L has changed nick to GregorR-L[dead]. 22:32:11 Well. 22:32:14 That sucks. 22:32:23 even for insanely call/cc-ing programs like quine12.unl :) (that's the one where mandelson-unlambda does so poorly) 22:32:28 You still have two lives left, don't you? 22:32:35 I left 'em at home. 22:32:39 Oh. 22:32:46 I'll get them after class. 22:32:51 Okay. 22:37:21 Wait, where's quine12.unl? 22:37:46 CUAN 22:38:03 unlambda-2.0.0/CUAN/quine/quine12.unl 22:38:25 There's no quine12.unl over here... 22:39:09 hmm. ftp://quatramaran.ens.fr/pub/madore/unlambda/CUAN/quine/ then 22:40:23 there used to be an archive for that. 22:40:32 That seems to consist of a very large number of spaces... 22:41:00 Apparently my browser is displaying it as white on white. 22:42:46 'Ere we go. 22:44:03 it's still part of the unlambda archive (ftp://quatramaran.ens.fr/pub/madore/unlambda/unlambda-latest.tar.gz) in the directory that I mentioned. oh ... unless you don't have symbolic links, then it'd be ../Olivier.Wittenberg/quine5.unl 22:44:30 Looks like it. 22:44:42 So three instances of call/cc is insane? 22:44:44 I should have thought of that :) 22:46:00 It looks like `cc is a fancy identity function... 22:46:16 So `c`cc should be some continuation of some sort... 22:46:35 ihope: at runtime, it call/cc's a lot ... and creates many continuations that are alive simultaneously 22:48:25 ah, neat. then ``c`cc`c`r`.o`.o`.f`cc prints 'foo' over and over :) 22:50:11 If you have a continuation that returns into A in `cA... 22:51:01 -!- GregorR-L[dead] has changed nick to GregorR-L. 22:52:19 Unlambda can't do file I/O, can it? 22:53:43 it can only read from stdin and write to stdout 22:53:55 Perfect. Wonder why I haven't included it yet. 22:54:09 When I get home I'll add it to EgoBot. 22:54:17 it can eat a lot of memory and run into infinite loops :) 22:54:25 So can BF :P 22:54:39 true 23:08:25 -!- ihope has quit (Read error: 110 (Connection timed out)). 23:28:48 -!- pgimeno has quit ("This is the default quit message"). 23:29:10 -!- pgimeno has joined. 23:31:08 -!- ihope_ has joined. 23:31:10 -!- ihope_ has changed nick to ihope. 23:32:39 call/cc is an annoying thing... 23:33:10 * int-e is trying to understand a quine using call/cc that he himself wrote a few years ago 23:33:13 * int-e agrees 23:33:15 :) 23:33:31 It's too durn easy to write an infinite loop with that stuff! 23:34:23 Hmm, apparently I have a claim on the word "schtouffe". 23:36:02 I think I got it. Luckily I kept the corresponding lambda terms around :) 23:36:30 ever tried writing an infinite loop in malbolge? it's pretty difficult, even with random programs 23:36:51 hmm. I think someone wrote a cat program in Malbolge 23:37:22 indeed 23:37:23 Oh, that reminds me, I was going to find out how many times a BF-PDA program of length 5 can run the . instruction... 23:37:35 ...before halting. 23:38:24 -PDA? 23:38:38 Push-Down Automaton. 23:38:50 Lemme ask that properly, BF-PDA? 23:39:39 Brainf*** push-down automaton. 23:40:02 It's on the wiki. 23:40:03 lol, I got that >_> ... do you just mean a BF program that could be implemented as a PDA? 23:40:05 Oh, OK. 23:40:37 Ah, got it. 23:41:01 A program of length 1 can do it once, one of 2 can do it twice, etc. 23:43:03 ...up to 4. 23:43:39 To do it more than five times, . must be in a loop somewhere. 23:44:09 [.] results in an infinite loop, so something else must be there. 23:44:49 An @ must be before the loop. 23:45:52 Idonno, I think you'll have to go higher. 23:46:16 There are only 8 programs that meet those criteria. 23:46:40 ...I mean 7, one of which is @[..], which doesn't count. 23:47:08 < and > seem to simply act as zeroers. 23:47:35 So the only valid programs are @[.@] and @[@.] 23:47:47 * GregorR-L disappears (class is over) 23:47:48 -!- GregorR-L has quit. 23:48:11 Both of those will output once, so ..... is the best. 23:51:49 Ho to the Report, 1-2-3-4-5! 23:52:34 hmm ... for 15, a program that prints 16 digits exists. @<<<<@[....>@] 23:53:52 oh, that's 14 23:54:05 Outputs 14 or has length 14? 23:54:15 outputs 16 and has length 14 23:54:21 Ah. 23:54:38 Well, what's the best of length 6? 23:54:48 Probably 6, again. 23:56:45 hmm. if your program has only a single loop, that loop has to reduce the stack size (or run only once). 23:56:58 True. 23:57:23 that makes at least 3 characters for the loop ([>]) 23:57:44 And the loop has to have at least 1 . in it to be of any use. 23:57:51 and, for each iteration, an additional < 23:58:00 Yep. 23:59:05 so it has to have at least 3 . in it to be a win. 23:59:28 err. 2. 23:59:34 Yep. 23:59:41 ...Well, I dunno.