00:00:50 ((lambda (a) (eval `(a b 6)) b) define) b 00:01:13 smth like that, but i need lambda to take multiple... statements (?) 00:01:20 words are so hard 00:01:29 now swedish vocabulary -> 00:02:27 define can only be used at the beginning of a "block" 00:04:04 expressions, i guess, and the expressions of a lambda is one example of a block 00:04:44 -!- xor has quit (Connection timed out). 00:07:03 lessee, b is the length of the _arc_ so something trigonometric is necessary 00:07:10 argh! 00:08:07 -!- jix_ has quit (Read error: 113 (No route to host)). 00:47:22 -!- oerjan has quit (heinlein.freenode.net irc.freenode.net). 00:47:22 -!- dibblego has quit (heinlein.freenode.net irc.freenode.net). 00:47:22 -!- EgoBot has quit (heinlein.freenode.net irc.freenode.net). 00:47:57 -!- oerjan has joined. 00:47:57 -!- dibblego has joined. 00:47:57 -!- EgoBot has joined. 00:48:52 -!- oerjan has quit (heinlein.freenode.net irc.freenode.net). 00:49:21 -!- oerjan has joined. 01:11:42 -!- navaburo has joined. 01:47:23 -!- bsmntbombdood has joined. 01:48:10 -!- kwertii has joined. 01:54:49 i hate my internets :( 02:15:19 all of them? 02:23:33 i don't have any good ones 02:24:22 Uh. . . 02:24:27 I like singing? 02:29:09 I love to sing-a About the moon-a and the June-a and the spring-a ... 03:30:52 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 03:34:14 -!- bsmntbombdood_ has joined. 04:17:38 -!- poiuy_qwert has joined. 04:22:25 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)). 04:23:26 -!- bsmntbombdood_ has joined. 05:06:43 -!- oerjan has quit ("Good night"). 05:14:56 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)). 05:15:25 -!- bsmntbombdood_ has joined. 05:42:20 -!- navaburo has left (?). 05:57:40 -!- bsmntbombdood_ has quit (Read error: 110 (Connection timed out)). 06:44:35 -!- poiuy_qwert has quit. 07:20:32 -!- sorear has joined. 07:25:24 -!- oklopol has quit (Remote closed the connection). 07:44:09 -!- sorear has quit ("zzz"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:16:39 -!- pbxs2002 has joined. 08:17:21 someone please tell me if i should call this girl at 2:15AM .. thanks 08:34:35 -!- ololobot has quit (Read error: 104 (Connection reset by peer)). 08:38:23 -!- pbxs2002 has quit (Read error: 110 (Connection timed out)). 09:01:38 -!- oklopol has joined. 09:02:36 -!- kwertii has quit. 09:27:19 -!- Arrogant has joined. 10:05:59 -!- Karnaugh has left (?). 10:18:16 -!- Arrogant has quit ("Leaving"). 10:39:32 -!- Tritonio has quit ("Bye..."). 11:37:04 -!- jix_ has joined. 11:39:34 -!- ololobot has joined. 11:39:43 >>> i okokokoko 11:39:44 okokokoko 11:39:51 >>> k okokokokoko okokoko 11:39:52 okokokokoko 11:40:37 hmm... 11:40:46 >>> s a b c 11:40:46 Please tell oklopol how the standard combinator should behave. 11:40:55 i actually think i know what that should do... 11:40:58 but it's not pretty. 11:43:21 plus it's not possible with the current infrastructure 12:17:40 -!- jix_ has quit (Read error: 104 (Connection reset by peer)). 12:28:53 -!- jix_ has joined. 12:55:01 -!- pikhq has quit (Read error: 110 (Connection timed out)). 13:34:17 -!- jix_ has quit (Nick collision from services.). 13:34:33 -!- jix__ has joined. 14:26:35 -!- navaburo has joined. 14:27:23 is there a straight forward way to find an elegant program to produce a certain output? 14:28:12 say in brainfuck, i want to output some string of eight bytes using the fewest possible instructions.... 14:28:27 umm 14:28:36 you can't find the shortest program in the general case 14:28:55 !bf_gen you can use this for starters 14:28:58 Huh? 14:29:02 !bf_text_gen you can use this for starters 14:29:06 Huh? 14:29:06 !bf_txt_gen you can use this for starters 14:29:08 heh 14:29:10 Huh? 14:29:13 i fail 14:29:14 !help 14:29:16 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 14:29:18 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 14:29:22 !bf_txtgen you can use this for starters 14:29:24 right 14:29:30 due to incompleteness 14:29:34 yes 14:29:54 but if i restrict the program to output only (no , instruction), perhaps i can? 14:30:05 err no 14:30:38 161 +++++++++++[>+++>+++++++++++>+++++++++>++++++++++<<<<-]>>.>>+.<<----.<-.>>.--.>-.<<<.>.--.>++++.<<.>+.>+++.+.<-.<.>>---.>+.+++.<<<.>.+.>-----.<--.>>++.<++++.<.+. [244] 14:30:57 and if i prefilter for indefinate loops? 14:31:08 how do you do that? 14:31:20 well... dont run any program containing [] 14:31:30 or [.] 14:31:31 +[>+] 14:31:31 ? 14:31:34 or [+-] 14:31:52 oklopol: sure, that one would get past a naive prefilter 14:31:57 well, you can't spot infinite loops 14:32:09 i ment loops giving repeating identical conditions 14:32:22 those aren't the only infinite loops 14:32:29 sure 14:33:06 you can do stuff like finding the shortest program that produces a string in *reasonable* time 14:34:34 but because you prolly don't actually need the absolutely shortest program, just find a way to produce strings with *pretty* short code for most strings, and then make a program that converts string -> code for that string 14:34:40 exactly like bf_txtgen does 14:34:55 but you don't have to use 4 cells 14:35:18 i would sleep better at night knowing it was the provably shortest program 14:35:47 do you need a spesific string or the general case? 14:36:35 mmm a specific string i suppose 14:36:45 for what? 14:37:26 i can't get wikipedia open today, dunno why, but there's the shortest programs for numbers 0...255 there 14:37:35 well 14:37:37 some pedia. 14:37:45 ook, i will check that out 14:38:38 dunno if those are proven to be the shortest ones, but they most likely are 14:40:33 mm i am having trouble fnding it 14:42:12 can't help ya :\ 14:42:18 my internets don't work 14:42:24 except for this client 14:42:28 for some reason 14:42:28 well thanks anywho, i hope you get them fixed 14:46:55 (my firefox has been crazy unstable lately... idk if it is an update problem) 15:24:01 -!- Figs has joined. 15:27:18 Good morning 15:27:19 http://cpp.sourceforge.net/?show=39846 15:27:31 I have produced real obfuscated C :) 15:27:44 muahaha. 15:30:42 -!- oerjan has joined. 15:45:06 that "odd" is fun 15:45:37 too odd 15:48:29 :P 15:48:30 thanks 15:48:36 I like self-documenting code... 15:50:22 hmm... i'm pretty sure i was gonna say pretty that exact same line 15:50:23 :\ 15:51:20 at least i was thinking it 15:51:34 guess that's a pretty common obfuscation joke 15:51:42 guess that's the only obfuscation joke. 15:53:14 :P 15:53:18 must be 15:53:39 I wonder if I can figure out how to get my brainfuck interpreter to be smaller than that... 15:59:01 is that a bf interpreter? 16:01:10 no 16:01:17 it's a hello world program 16:01:26 my next one will be the bf interpreter 16:01:42 (already wrote an interpreter... just need to think of a crap load of evil ways to obfuscate it) 16:09:48 -!- helios24 has quit (Read error: 60 (Operation timed out)). 16:10:39 oklopol: you were thinking of [[Brainfuck constants]] on esolangs 16:11:01 can any of you compile my code? :S 16:12:22 the wrapping ones are probably the shortest possible. 16:13:05 wrapping? 16:13:24 oerjan: indeed i was 16:13:40 255+ -> 0 and vice versa 16:13:48 -!- lakupuu has left (?). 16:16:06 the wrapping allows you to do tricks based on division (mod 256) 16:16:25 ah 16:16:35 on my computer wrapping -> negative 16:16:59 I did a few things with that... 16:16:59 oerjan: you think non wrapping stuff is harder to make as short as possible? 16:17:06 maybe that's why some people are having problems 16:17:26 well they are longer so it's more to search for 16:17:32 Figs: depends on whether you're using signed or not 16:17:41 ah, i didn't think of that 16:18:23 I think I only wrapped 16:18:29 but I don't really remember 16:18:32 umm 16:18:35 what does that mean? 16:18:41 no, I think I subtracted once 16:18:42 :P 16:18:44 damn 16:18:48 that's probably what killed it 16:18:55 eh... i have no idea what you mean 16:19:01 :P 16:19:12 oklopol, char c = 0; c--; 16:19:21 char can be either signed or not 16:19:30 it's implementation defined 16:20:19 in any case wrapping -128..127 or 0..255 don't make a difference for brainfuck 16:20:43 it's just a 256-element cycle in any case 16:20:45 yeah 16:20:47 does in my program though :P 16:21:45 egobfi has several bitsize options, so it can map on 2^16 or 2^32, also 2^8 is not the default 16:21:53 !help 16:21:56 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 16:21:59 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 16:22:21 but no unbounded version 16:22:33 >>> bf is unbounded 16:23:12 * Figs wonders if he can find a good use for longjmp(foo,rand%n+1)... 16:23:32 rand() if you actually expect it to think about compiling itself. 16:33:25 -!- sebbu has joined. 16:36:19 `night 16:40:15 bye! 16:46:40 -!- helios24 has joined. 16:56:30 -!- Figs has quit (Read error: 110 (Connection timed out)). 17:25:55 zabber ook al in 17:25:58 euhm 17:26:00 wrong channel 17:40:35 ook is perfectly on topic :) 18:11:08 -!- bsmntbombdood has joined. 18:18:10 why can't you do ` over y... :| 18:18:31 you can have ´ and ` on aeiou, but y only does ý 18:20:01 Because our system for encoding letters is very primitive and doesn't allow arbitrary accents on arbitrary letters. 18:20:07 presumably because it isn't used in a western european language 18:20:55 yeah, but it kinda sucks if it's the *only* one that doesn't exist, thus breaking a nice set just to save one character :< 18:21:08 aáà eéè iíì oóò uúù yý`y 18:21:41 what does ã/õ do usually? 18:22:08 -!- bsmntbom1dood has joined. 18:22:15 is there a list of different phonemes with sound samples somewhere? 18:22:24 nasal vowels, i think 18:22:30 nasal vowels in Portuguese 18:22:42 hmm, indeed 18:22:53 the little squiggle on top used to be an "n" 18:23:58 hmm... ãa diphtong is quite hard to make :D 18:24:14 ãäa is easy 18:25:40 does unicode have all vocals "`"'d? 18:26:05 ãa seems pretty easy... 18:27:06 it becomes an "ãä" when i do it... 18:27:46 i mean, when i do it fast 18:28:04 maybe you're not doing it right? The only change between the two is in nasality 18:28:27 hmm, it actually became pretty easy now that i actually added some thought 18:28:29 oklopol: unicode has combining accents 18:29:16 in "ãa" you basically say "a", but you make a nasal dip, my nose makes a funny move when i do it 18:29:20 but indeed, it's pretty easy 18:29:39 combining accents 18:29:42 i so know what you mean 18:30:30 * oerjan detects a subtle sarcasm 18:30:44 oh? open a window! 18:31:05 you can write the accents as separate characters, to be combined with letters 18:31:33 so can you do ~+`+¨+u? 18:31:40 i can easily pronounce that 18:31:55 i don't even know how you'd write that on paper though... 18:31:57 some south-east asian languages have so many accents on their vowels you cannot possibly include all possibilities 18:32:21 you can have more than one on a letter, certainly 18:32:28 cool 18:32:29 serializing writing is a lost cause anyway 18:32:32 it's too complicated 18:32:34 i recall there is some kind of predefined stacking order 18:32:52 any encoding method will be either extremely inefficient or extremely complicated 18:33:03 currently we're using extremely inefficient ones 18:33:20 please say "foo bsmntbom1dood" 18:33:29 foo bsmntbom1dood 18:33:29 which, apart from being exremely inefficient, don't allow to encode anything you might want to encode 18:35:34 is there a list of different phonemes with sound samples somewhere? <<< i'll assume "no" from all your enthusiasm? 18:35:49 to answer 18:36:04 probably... i'd start with the IPA wikipedia article 18:40:06 oklopol: perhaps use phoneme speaking software, and feed it each phoneme individually 18:40:22 text to speach packages frequently allow either natural language or phonetic input 18:41:25 natural language = english pronunciation? 18:41:39 natural language being normal text 18:41:59 in finnish there's no real difference 18:42:24 i think i have a text->speech thing 18:42:36 don't remember the name, but it's a finite hard-drive... 18:45:04 what OS? 18:45:25 windows 18:45:33 dl'd a million years ago 18:45:42 but never opened it 18:46:01 there is a built in text to speech utility in XP 18:46:10 ah that one 18:46:19 does that do phoneticz? 18:46:22 i dont think it will take phonetic inputs with the control panel interface 18:46:58 -!- bsmntbom1dood has changed nick to xor. 18:50:05 well i am SURE festival can do what you want 18:50:13 from what i see you can compile it on windows 18:51:02 festival? 18:51:10 thuz the name? 18:51:12 http://www.cstr.ed.ac.uk/projects/festival/ 18:51:28 cool 18:51:41 -!- kwertii has joined. 18:51:46 it works well, kinda a pain in the ass to get set up iirc, but it is super flexible 18:52:59 i'll try it when i'm less tired 18:53:43 yea, i tried building it from source but gave up and got the unix binary :) 18:55:29 someone should come up with a regex-like notation for context-free grammars 18:55:51 why? 18:56:07 because BNF is too verbose 18:56:21 er, you haven't heard of EBNF? 18:57:06 it essentially means using regex things inside BNF to shorten it 18:57:14 that's still not regex-like 18:57:35 better than straight up bnf, but not good enough 18:57:36 xor: i have the nestor syntax for that exact purpose 18:57:58 though nestor also has macros for making more general bnf's 18:58:08 not good enough for what? 18:58:15 what exactly do you want this for? 18:58:30 nothing 18:58:40 lament: he obviously wants BNF to look like line noise 18:59:12 i want something that doesn't involve production rules 18:59:34 well you need recursion somehow 18:59:38 or multiple statements 18:59:52 regexes have | 19:00:35 multiple named statements, then 19:00:56 point-free BNF 19:01:36 try running haskell's Parsec through lambdabot's @pl 19:01:37 hm, you could just express BNF in haskell and then @pl 19:01:40 haha :) 19:02:03 that doesn't change anything 19:02:08 parsec stuff sits in a monad, that must be a huge pain to @pl 19:02:21 well use @undo first 19:02:30 xor: what do you mean, doesn't change anything? 19:02:44 it's still just bnf 19:03:38 -!- oerjan has quit ("Supper"). 19:03:38 oerjan: i don't think @pl would work, though... 19:03:58 xor: yeah, but this procedure would get rid of named statements (if it does work) 19:04:12 and that doesn't mean anything 19:04:22 well, it means i don't know how to describe what i want 19:04:51 that would be more verbose than bnf 19:04:55 yes, it would 19:04:58 by far 19:05:05 you said nothing about being less verbose 19:05:12 yeah i did 19:05:27 anyway 19:05:31 < lament> why? 19:05:34 < xor> because BNF is too verbose 19:05:52 yeah, but your specific requests were to get rid of production rules and named statements 19:05:56 anyway 19:06:13 the reason such a thing doesn't exist is primarily because it would be horrendously ugly and useless 19:06:23 making it anonymous doesn't get rid of production rules 19:06:26 but since we're in #esoteric, feel free to invent one 19:08:54 exactly 19:19:30 -!- xor_ has joined. 19:23:22 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 19:24:16 -!- bsmntbombdood has joined. 19:24:51 -!- xor__ has joined. 19:30:10 -!- xor___ has joined. 19:30:46 -!- xor has quit (Read error: 110 (Connection timed out)). 19:35:29 -!- xor has joined. 19:36:22 -!- xor_ has quit (Success). 19:38:02 -!- ihope has joined. 19:41:41 -!- xor__ has quit (Connection timed out). 19:46:59 -!- xor___ has quit (Connection timed out). 20:00:31 -!- pikhq has joined. 20:09:35 -!- xor_ has joined. 20:14:53 -!- xor__ has joined. 20:20:27 -!- xor has quit (Read error: 110 (Connection timed out)). 20:26:27 -!- xor_ has quit (Connection timed out). 20:45:37 -!- pikhq has quit (Read error: 110 (Connection timed out)). 20:54:47 -!- importantshock has joined. 20:56:47 -!- RedDak has joined. 20:59:18 -!- xor has joined. 21:00:52 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 21:04:39 -!- importantshock_ has joined. 21:06:19 What an important shock that was. 21:11:11 -!- xor__ has quit (Read error: 110 (Connection timed out)). 21:20:45 -!- SunJazz has joined. 21:27:37 -!- SunJazz has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.6/2007072518]"). 21:28:51 -!- importantshock_ has quit. 21:28:52 -!- importantshock has quit (Remote closed the connection). 21:32:14 -!- Figs has joined. 21:44:36 -!- pikhq has joined. 22:03:51 -!- oerjan has joined. 22:13:45 -!- RedDak has quit ("I'm quitting... Bye all"). 22:29:26 -!- ihope_ has joined. 22:47:32 -!- ihope has quit (Read error: 110 (Connection timed out)). 23:02:12 -!- sebbu has quit ("@+"). 23:26:37 -!- Sgeo has joined. 23:27:02 Hi all 23:27:11 olleh 23:27:20 Aloh. 23:27:54 * Sgeo wonders if he can make 0x00 0x00 0x00 be "print NUL" instead of 0x00 0x00 23:28:14 * Sgeo is thinking of removing the whole domain switching thing 23:28:24 g'luck 23:28:32 I'm going to disappear for a while 23:28:37 Isn't domain switching the main feature or something? 23:28:41 -!- Figs has left (?). 23:30:20 -!- poiuy_qwert has joined. 23:30:44 Instead of doing, to call function 0x02 in domain 0x01: [0x00 0x01 0x01] 0x00 0x02, you just do 0x00 0x01 0x02 23:31:11 * SimonRC has an idea... 23:31:15 SimonRC, hm? 23:31:29 go get a copy of, erm 23:31:38 * SimonRC fails to recal the doument name 23:31:47 "X.something" 23:31:59 OST, it is a crap idea 23:32:26 OST? 23:32:48 On second Thoughts 23:35:32 The question is, can I make "Print NUL" be function 0x00 in domain 0, or should I shift the PSOX-System domain to 1, and make a special psuedodomain for 0x00 0x00? 23:36:19 dilemma 23:36:25 maybe, you have a tree 23:36:52 most of the top level is the often-used stuff, butsome of the top-level is reserved for expanding inot lower levels 23:37:23 Reserve low bytes for commands, high bytes for other stuff? 23:37:52 maybe 23:38:03 erm, what? 23:38:51 7F and below is a plain old function. 80 and above is a domain thing. 23:39:12 ..why? 23:39:38 So you can introduce as many plain old functions as you like without intruding on domains, I guess. 23:39:49 (For some values of "as many as you like".) 23:39:54 well, you could then have 1-byte codes for things like "print NULL", while keeping everything else ordered 23:40:01 * ihope_ nods 23:40:27 All of the special stuff will be in PSOX-System domain 23:40:35 in fact, reserve a 0x80-0xff byte in any position for subtrees 23:41:58 "256 functions will be enough for any domain designer" --said ala Bill Gates 23:42:05 *255 23:42:12 *256 23:43:23 257. 23:43:40 eh? 23:44:00 You changed it from 256 to 255 and back. I like 257 better. 23:44:50 You could either use two bytes for two commands or use a much more clever arithmetic-coding-like scheme. 23:50:08 My question simply is, would it be better to have 0x00 0x00 be a special case and have to shift everything around, or use 0x00 0x00 0x00 as "print NUL" 23:50:52 And I said, neither 23:52:12 Shifting around doesn't sound hard. 23:54:40 Shifting things around and leaving a pseudodomain feels inelegent to me :/ 23:56:05 Sgeo: that's why I suggested my idea 23:57:26 erm, I had some trouble understanding it.. 23:57:32 Could you please explain it? Sorry.. 23:58:03 first, one sends a 0, as already 23:58:37 next, a byte 0-127 is a command, and a byte 128-255 is a domain specifier. 23:59:02 within each domain, 0-127 will be commands, an 128-255 are subdomain specifiers 23:59:05 etc 23:59:52 this allows the common stuff to be short (e.g. printing NUL is still "0,0"), but there is plenty of room, and it is *organised*