00:00:10 I mean, I have new rants about the intellect of the community, but that's separate 00:03:56 what are they 00:04:14 i don't generally take notes of the exact details of what people rant about 00:04:40 YOU'RE SO STUPID YOU CANNOT FIND YOUR WAY OUT OF A SLEEPING BAG hth 00:05:16 Well, I guess more about one specific person. I mean, how do you manage to make a monad library and just break the monad laws for one of the provided monads? 00:06:49 probably by concluding that haskellers are full of shit when they tell everyone it's very important to follow the laws and then fail to give any concrete reason for it 00:09:03 Arc_Koen: btw was chris pressey's message on Talk:Maze what got you started on this? It's essentially the same as what you are doing. :) 00:09:10 yes it is 00:09:17 ok, I've implemented > 00:12:17 -!- ais523 has joined. 00:12:45 hi alex 00:14:54 who calls ais523 alex 00:15:18 I do think you can sensibly do something similar to what algo.monads does, though. Wait, hmm, not like that 00:15:30 * Sgeo needs to think a bit 00:15:42 elliott: his mom, probably 00:15:52 hi elliott 00:16:14 unless she's the only person in the world to inscrutably use his middle name 00:16:16 q: does ais523 even have parents. do parents even exist? 00:16:41 i dunno 00:16:44 i never had any 00:17:00 his grandmother _thinks_ she's using his middle name, but has forgotten that the i isn't for isaac 00:17:17 though i've known people to utter that pornographic obscenity "mother" from time to time 00:17:45 ok 00:17:50 "ais523" reminds me of "sam512" 00:17:55 ok 00:19:17 they are the same person 00:19:18 obv 00:19:28 two different personalities in the same body 00:22:08 http://everything2.com/title/The%2520Teach%2520Yourself%2520to%2520be%2520a%2520Dummy%2520in%252024%2520Hours%2520Bible 00:22:59 do i really want to click that link 00:23:06 Maybe. 00:23:23 There's a really weird Perl subroutine. 00:23:28 Assuming that it really is valid Perl 00:23:50 http://everything2.com/title/Primality+testing+with+Perl+regexs 00:24:50 oh this is pretty simple actually 00:25:49 /^(11+)\1+$/ is a perl "reg"ex matching composite unary numbers 00:25:54 /^(11+)\1+$/ is a perl "reg"ex matching composite unary numbers 00:26:38 o.O what 00:27:01 (11+) captures 2 or more '1' digits 00:27:17 \1+ matches one or more copies of what was captured 00:27:24 \1 meaning "first capture group" 00:27:50 a unary number is composite if you can take off 2 or more 1s, and then represent the rest of the number by n copies of that 00:27:57 (in which case it is divisible by n+1) 00:30:05 -!- augur has joined. 00:32:58 exercise: prove that the language of all composite unary numbers is not actually regular 00:34:00 if composite numbers were regular, primes wouldn't be half as interesting as they are 00:34:02 q.e.d. 00:44:33 I guess regexes aren't always efficient 00:44:37 nope 00:45:17 perl regexes can do a lot of things, you can even embed arbitrary perl code in them 00:45:28 but also some cases even of actual regular expressions are very slow on some common interpreters 00:45:31 http://swtch.com/~rsc/regexp/regexp1.html 00:45:45 proof: if it's regular then there is a DFSA recognizing it. for a long enough string of 1's it must repeat state, which means there is some number k that can be added to any sufficiently large number and keep it as prime or composite. but if p is a large prime then p+k*p is then also prime, a contradiction. 00:51:16 -!- yiyus has quit (Ping timeout: 245 seconds). 00:55:54 kmc: Of course, common interpreters are often very poorly implemented. 00:56:55 ... As that article describes. :) 01:01:39 ok, [ and ] translated into maze as well 01:01:48 Maze successfully passed its Turing final exam! 01:05:30 `run java -jar clojure-1.4.0.jar -e "(use 'clojure.template) (macroexpand-1 '(do-template [a b c] (+ a b (- a c)) 1 2 3 4 5 6 7 8 9))" 01:05:52 ​(do (+ 1 2 (- 1 3)) (+ 4 5 (- 4 6)) (+ 7 8 (- 7 9))) 01:08:25 nice 01:08:58 * Sgeo couldn't think of a useful and easily demonstratable demonstration off the top of my head, but I think it's useful in general 01:09:45 How common is do-template/ 01:09:45 *Commonly used 01:09:50 Sgeo: ~never 01:10:19 what is it for 01:10:55 I can imagine using it for defining a bunch of similar functions with different distinct parts 01:11:09 Erm, and what parts are different fixed 01:11:43 didn't you just describe all macros 01:13:20 Well, yes, but if I have a series of these things, I might not want to write a macro name repeatedly. I could just write a macro that takes a bunch of forms the way do-template does, but why not just use do-template? 01:13:24 Arc_Koen: yay! 01:15:17 * oerjan thinks he just finished his construction proving reversible brainfuck TC 01:15:43 reversible brainfuck? 01:16:01 like brainfuck, except [ jumps when _not_ zero 01:16:46 this makes it reversible (apart from possibly I/O, dependent on how you look at it) 01:22:26 What about reversible boof?! 01:25:11 no clue, sorry 01:28:34 -!- DHeadshot has joined. 01:30:35 `run java -jar clojure-1.4.0.jar -e "(repeat 5) 01:30:36 `run java -jar clojure-1.4.0.jar -e "(repeat 5)" 01:30:38 bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file 01:31:11 ​(5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 01:34:41 `run /proc/self/exe 01:35:13 exe: cannot set terminal process group (-1): Inappropriate ioctl for device \ exe: no job control in this shell \ exe-4.1$ 01:36:41 `run cat /proc/self/cmdline 01:36:44 cat 01:37:42 oerjan: do you have a link to your proof that 3-cell brainfuck is turing complete? 01:41:34 -!- augur has quit (Remote host closed the connection). 01:42:07 well I posted my proof 01:42:07 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:42:21 -!- DHeadshot has joined. 01:43:04 `run cat /proc/$PPID/cmdline 01:43:07 sh 01:46:11 Arc_Koen: http://esolangs.org/wiki/Collatz_function 01:46:40 oh, right 01:46:58 well that link is missing both from the brainfuck page and your user page 01:47:28 n-cell brainfuck is similar to an n-counter minsky machine. 01:49:09 well that's easy to say now that both have been shown turing complete ;) 01:50:08 They are obviously similar. Now they're proved to be equivalent. 01:50:18 (For n=3) 01:51:07 pops the champagne 01:53:11 98 bottles of champagne 01:54:50 * itidus21 spasms and shrieks. emits hq9c+ 01:55:14 :o 01:55:20 no no forget that 01:55:21 Arc_Koen: no it is in the brainfuck page under computational class 01:55:23 but i did have an idea 01:55:38 a use for the accumulator. 01:55:55 Jafet: n-1 or n-2 counter minsky machine, actually. that restricted control flow _hurts_. 01:56:52 oh... I checked that but somehow the sentence "Oerjan has made a conversion from iterated Collatz functions to 3-cell brainfuck." did not make me realize the proof was at the Collatz functions page 01:57:03 Ok, so you need to encode the input as fractran does. 01:57:15 let's say that's because it is 4am 01:57:19 gnight to you all 01:57:38 it's also linked on my own article, although as "brainfuck" 01:57:42 if the accumulator could be used as input for the h and 9 functions in hq9+, being reset to zero after 01:58:19 so in the case of 9, in the case that the accumulator is not zero, it would count accumulator bottles of beer 01:59:00 and for h it would do something or other 01:59:17 or nothing@ 01:59:19 ! 01:59:24 well let's say I did not spot it, once again because of the time! 01:59:38 nevermind.. creeps back into my corner 02:04:08 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk). 02:05:52 http://esolangs.org/wiki/Reversible_Brainfuck#Computational_class 02:25:32 -!- DH____ has joined. 02:25:50 `run ls / 02:25:54 bin \ dev \ etc \ hackenv \ home \ lib \ lib64 \ opt \ proc \ sbin \ sys \ tmp \ usr \ var 02:26:01 -!- DHeadshot has quit (Read error: Connection reset by peer). 02:27:33 `run echo 'import Data.List;import System.Process;import System.Posix;main=do x<-readProcess "ps"["axo","pid,ppid"]"";s<-getProcessID;let{ps=map((\[a,b]->(read a,read b)).words)$tail.lines$x;c=unfoldr(\p->case lookup p ps of Just pp->Just(pp,pp);_->Nothing)$fromEnum s};print c' | runghc 02:27:38 ghc: can't find a package database at /usr/lib/ghc-6.12.1/package.conf.d 02:29:13 `pastelogs mkdir: cannot create directory `/hackenv': File exists \ http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23181 02:29:52 `pastelogs http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9081 02:30:08 Gregor: WHAT THE FUCK IS WRONG WITH YOUR BOT 02:30:20 i mean hi 02:30:35 I'll just have to exploit it in a less elegant language. 02:30:40 Jafet: I removed ghc because it was friggin' enormous 02:30:57 `run ghc --version 02:31:01 The Glorious Glasgow Haskell Compilation System, version 6.12.1 02:31:20 except not the actual binary 02:31:28 Why 02:31:45 GHC should ship the base compiler for free and charge for extensions. 02:32:14 Jafet: I removed ghc because it was friggin' enormous 02:32:16 Monad transformer SDK 02:32:24 oerjan: why keep the binary 02:32:34 Jafet: wtf does that do 02:32:46 because it wasn't in the directory he deleted with everything else in it 02:32:57 o kay 02:34:30 Looks like it traces a process tree or something? 02:35:02 Recursive ppid 02:35:07 Yes. 02:36:53 `run i=$$; while [ $i -ne 0 ]; do echo $i; i=$(ps -p $i -o ppid=); done 02:36:57 276 \ 274 \ 272 \ 1 02:38:16 So inelegant 02:38:47 `run echo /proc/272/cmdline 02:38:50 ​/proc/272/cmdline 02:38:57 `run cat /proc/272/cmdline 02:39:02 ​/init 02:40:16 `run stat /init 02:40:19 stat: cannot stat `/init': No such file or directory 02:41:39 `run cat /proc/272/cmdline | tr '\000' ' ' 02:41:42 ​/init 02:41:47 `run cat /proc/$PPID/cmdline | tr '\000' ' ' 02:41:51 sh -c 'env' 'PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin' 'HACKENV=/hackenv' 'http_proxy=http://127.0.0.1:3128' '/home/hackbot/hackbot.hg/multibot_cmds/lib/limits' 'bash' '-c' 'cat /proc/$PPID/cmdline | tr '\''\000'\'' '\'' '\''' | cat 02:53:58 Jafet: You can "hack" in PM, btw. 02:55:10 Good to know. But collaborative hacking is better. 02:55:56 And yes, the binary is only there because everything else was in /opt/ghc :) 02:56:24 Gregor: Can you "hack" a working GHC onto the server? 02:57:15 "thx" 02:57:45 "DOLBY" 02:57:53 shachaf: I could. I choose not to. 02:58:14 Gregor: Would you "hack" yourself so that you choose to install GHC? 02:58:27 shachaf: I could. I choose not to. 02:59:11 hack, n. to connect a bunch of LEDs to an Arduino 02:59:25 fine, v. 02:59:28 Interesting how that definition is for a verb, right — 02:59:37 -_- 02:59:37 Corrected yourself before I could finish ^^ 03:01:42 fine, v. Punish (someone) by making them pay a sum of money, typically as a penalty for breaking the law. 03:02:27 fine fare 03:02:35 shacha, f. 03:02:51 the difficult verb in that sentence, as always, is "making them" 03:03:04 funpun, s. 03:03:07 the transitive verb of making someone do something is always awkward 03:07:18 http://en.wikipedia.org/wiki/Causative 03:07:47 "There are no regular causative inflections in English, nor in any of the major European languages, which resort to idiomatic uses of certain verbs like English make or have, French faire or laisser, or German lassen." 03:10:06 @tell Arc_Koen I think your [ in Maze is buggy, (1) It checks the rightmost cell not the middle, but only on the initial iteration (2) There shouldn't be any delays at the end of the straight down path. 03:10:07 Consider it noted. 03:11:26 -!- Phantom_Hoover has quit (Remote host closed the connection). 03:14:41 -!- DH____ has quit (Read error: Connection reset by peer). 03:18:16 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 03:19:47 -!- epicmonkey has joined. 03:19:54 -!- Nisstyre-laptop has joined. 03:40:06 -!- nys has quit (Quit: quit). 03:41:12 butts 03:41:57 no iffs? 03:43:12 nope 03:48:04 -!- epicmonkey has quit (Ping timeout: 248 seconds). 03:53:17 There was a bot in #jesus that would ban people if they said anything that matched the regex an[^t]s 03:53:40 (Among other regexes) 03:54:50 membranes? 03:55:41 doorjambs 03:55:47 hmm 03:55:48 They don't like angst. 03:55:57 oh that's a good one 03:56:10 oh I wrote ambs, not anbs 03:56:12 * copumpkin fails 03:56:16 and they never read manuscripts 03:56:54 The intelligence of civilization waxes and wanes. 03:57:17 ants. 03:57:26 erm 03:57:26 ands 03:57:33 sands 03:58:06 Did they remove it? 03:58:22 Yes 03:59:50 Did it strip control characters? 04:00:09 And Unicode zero-width spaces? 04:00:35 What if your nickname, username, domain name, or cloak included such words? 04:01:36 Technically, irc doesn't have unicode. 04:02:01 zzo38, I don't remember, it was a time ago 04:06:11 I know, IRC is ASCII, although you can use any encodings compatible with ASCII in your message texts. 04:09:28 -!- augur has joined. 04:11:34 Some IRC servers do not allow to send certain words in PRIVMSG and NOTICE, and if you send it in a QUIT your entire quit message will be erased, but allows it in NS INFO and so on. I have also been told some IRC servers disconnect you if you send certain words to the server at all, regardless of message. But what if you put it in your reverse DNS? 04:16:11 heh 04:16:28 is Freenode like this? 04:16:41 kmc: Do you know about & channels? 04:16:44 Freenode doesn't have them. 04:17:18 nope 04:17:23 or i forgot what they are 04:17:32 Some networks have channels that start with & instead of # 04:17:38 They're specific to one IRC server. 04:18:58 are they server-local? 04:19:02 ah yeah 04:19:05 Java interop confuses me 04:19:10 require vs import vs use 04:19:16 I suppose you might use the & channel for server status, for discussion of only one server, etc. There are four channel types in IRC: !#&+ and # is the only one subject to takeovers during a split. 04:19:23 Sgeo: Is Java Inte a new kind of ROP? 04:22:49 No no, java uses exceptions for control flow. 04:26:54 what are ! and + channels like 04:27:27 -!- oerjan has quit (Quit: leaving). 04:27:54 Channels with + do not support MODE; it is fixed at +nt. Channels with ! are like # except that there is some hidden numbers before the name which is used by servers, so if you try to takeover during a split you will end up with a new channel instead. 04:28:24 Therefore, # is the only one which is vulnerable to takeovers. 04:30:36 zzo38: Where are you getting that? 04:30:44 http://www.ietf.org/rfc/rfc1459.txt 04:30:54 Channels names are strings (beginning with a '&' or '#' character) of length up to 200 characters. 04:31:48 Maybe the ! and + channels are a different RFC. I don't know. 04:39:35 that is mega ad hoc 05:24:50 * Sgeo does something with the dual intentions of being useful to him and perplexing to #esoteric 05:26:03 poik 05:26:26 Sgeo: what is it 05:26:44 You'll find out 05:26:56 elliott: Clojurmplaining? 05:27:29 Sgeo: i'm about to leave and then not join this channel again for another few weeks so probably not 05:27:58 Well, in less than 15 minutes, I just gave it away. 05:27:58 elliott: How's the C++? 05:28:27 bad 05:28:38 Hmm, it actually might not work as I'm hoping, hmm 05:29:13 (I'm abusing /timer to issue a thing to lambdabot in #esoteric to tell me when the water I'm boiling is done boiling) 05:36:12 #cslunch has a bot specifically for that 05:36:30 -!- ogrom has joined. 05:37:36 o.O 05:38:12 How do I use it? 05:38:47 forgot 05:39:17 %time 15 rice 05:40:16 Cool, I'll use it, thanks 05:40:36 does #cslunch have lunch 05:41:00 > "Sgeo: Water done boiling" 05:41:01 "Sgeo: Water done boiling" 05:41:43 hi 05:42:14 Oh, actually, sending it privately doesn't work 05:42:24 It doesn't respond in private to setting it, but it does when the timer completes 05:42:55 -!- elliott has quit (Remote host closed the connection). 05:46:27 kmc: #cslunch seems to exist. 05:46:42 * shachaf tries to figure it out. 05:48:17 it is the food topic channel associated with #cslounge 05:48:36 a more creative name than #cslounge-food, is all 05:48:50 Did you leave all associated channels when you left? 05:50:08 yeah 06:08:02 kmc, is "going on tangents" one of the reasons you left #haskell ? Because #cslounge is now debating over the meaning of the word "forum" after someone used "forum" instead of "channel" 06:09:40 no, tangents are fine in general 06:09:55 my complaints with #haskell are more specific than that 06:22:09 it would be pretty hard to have any interesting conversations with any interesting people if you minded tangents 06:22:37 And this is the wrong room to be in if you hate tangents. 06:24:59 yep :) 06:25:44 Tangents are hardly a sin. 06:26:12 Hmm, we were on topic today. 06:26:16 That's a rarity. 06:31:50 let's debate the merits of tactile vs. linear keyswitches 06:32:10 Which keyswitch is which? 06:32:21 -_- 06:36:06 shachaf: is your "sin" comment also a pun? 06:36:09 oh, yes. yes it is. 06:36:24 of cos it is 06:36:51 kmc: Everything I say has at least one pun hidden in it. 06:36:58 If you look deeply enough. 06:37:21 everything i say has at least one gun hidden in it 06:37:55 If you see a loaded pun in the first act, it'll be used in the second act. 06:38:54 http://www.jerkcity.com/jerkcity1151.html 06:40:11 Man, Comic Chat was weird. 06:41:04 I bet nobody here's tried IRCing with it. Maybe I should be the first to do so. 06:41:20 in my time in #haskell i saw at least one comic chat user 06:41:36 I don't know what Comic Chat is. 06:41:43 But I once set my font in irssi to Comic Sans. 06:41:48 shachaf: http://upload.wikimedia.org/wikipedia/en/6/62/MsComicChat.png This sums it up. 06:41:51 That has to count for something, right? 06:41:58 Actually, yes. 06:41:58 i always find it odd to see comic chat screenshots that aren't full of obscene nonsense 06:42:12 Comic Chat used Comic Sans. 06:42:56 Sorry, minor correction, *shipped with*. 06:43:22 you know, just because drugs make music sound better, is no excuse to make awful music that's only tolerable when you're on drugs 06:43:38 just throwing that out there 06:43:39 Which drugs are we talking about? 06:43:44 I have no experience with the former, but have to agree with the latter. 06:43:52 I'd ask which music, but it's terrible, so why bother. 06:43:56 lots of them but marijuana in particular 06:44:12 loltrance 06:44:39 -!- zzo38 has quit (Remote host closed the connection). 06:44:52 nah, trance is one of the lesser offenders here, as far as electronic genres go 06:45:02 at least, i find psytrance pretty enjoable to listen to while sober 06:45:14 and by "psytrance" i mainly mean "infected mushroom" 06:45:18 accept no imitations 06:45:37 but i have just written a script which plays a random genre from di.fm and i am sort of regretting it 06:46:12 Space Dreams - DIGITALLY IMPORTED - ambient space music for expanding minds 06:46:13 el oh el 06:46:18 I still don't really know what dubstep is. 06:46:25 Or trance, for that matter 06:47:33 http://gizmodo.com/5894092/dubstep-explained-with-hilarious-animation 06:47:59 -!- Slereah_ has quit (*.net *.split). 06:47:59 -!- copumpkin has quit (*.net *.split). 06:47:59 -!- aloril has quit (*.net *.split). 06:47:59 -!- hogeyui_ has quit (*.net *.split). 06:47:59 -!- atehwa has quit (*.net *.split). 06:47:59 -!- ssue has quit (*.net *.split). 06:48:00 -!- fizzie has quit (*.net *.split). 06:48:00 -!- ion has quit (*.net *.split). 06:48:00 -!- Jafet has quit (*.net *.split). 06:48:00 -!- Cryovat has quit (*.net *.split). 06:48:00 -!- mroman has quit (*.net *.split). 06:48:01 -!- fungot has quit (*.net *.split). 06:48:01 -!- comex has quit (*.net *.split). 06:48:01 -!- kallisti has quit (*.net *.split). 06:48:01 -!- ogrom has quit (*.net *.split). 06:48:01 -!- coppro has quit (*.net *.split). 06:48:01 -!- shachaf has quit (*.net *.split). 06:48:02 -!- Dovregubben has quit (*.net *.split). 06:48:02 -!- FireFly has quit (*.net *.split). 06:48:02 -!- HackEgo has quit (*.net *.split). 06:48:02 -!- Sanqui has quit (*.net *.split). 06:48:03 -!- lahwran has quit (*.net *.split). 06:48:03 -!- variable has quit (*.net *.split). 06:48:03 -!- FreeFull has quit (*.net *.split). 06:48:03 -!- soundnfury has quit (*.net *.split). 06:48:03 -!- lifthrasiir has quit (*.net *.split). 06:48:03 -!- Zuu has quit (*.net *.split). 06:48:04 -!- sivoais has quit (*.net *.split). 06:48:04 -!- sirdancealot7 has quit (*.net *.split). 06:48:04 -!- ineiros_ has quit (*.net *.split). 06:48:04 -!- tswett has quit (*.net *.split). 06:48:05 -!- carado has quit (*.net *.split). 06:48:05 -!- rodgort has quit (*.net *.split). 06:48:05 -!- kinoSi has quit (*.net *.split). 06:48:05 -!- subleq has quit (*.net *.split). 06:48:05 -!- chicken1 has quit (*.net *.split). 06:48:05 -!- jix_ has quit (*.net *.split). 06:48:05 -!- Lumpio- has quit (*.net *.split). 06:48:06 -!- nvt has quit (*.net *.split). 06:48:06 -!- Tod-Autojoined has quit (*.net *.split). 06:48:06 -!- Deewiant has quit (*.net *.split). 06:48:06 -!- sebbu has quit (*.net *.split). 06:48:06 -!- ais523 has quit (*.net *.split). 06:48:06 -!- kwertii has quit (*.net *.split). 06:48:06 -!- yorick has quit (*.net *.split). 06:48:07 -!- Sgeo has quit (*.net *.split). 06:48:07 -!- hagb4rd has quit (*.net *.split). 06:48:07 -!- olsner has quit (*.net *.split). 06:48:07 -!- glogbackup has quit (*.net *.split). 06:48:07 -!- EgoBot has quit (*.net *.split). 06:48:07 -!- pikhq has quit (*.net *.split). 06:48:07 -!- augur has quit (*.net *.split). 06:48:08 -!- Gregor has quit (*.net *.split). 06:48:08 -!- nortti- has quit (*.net *.split). 06:48:08 -!- lambdabot has quit (*.net *.split). 06:48:08 -!- heroux has quit (*.net *.split). 06:48:08 -!- itidus21 has quit (*.net *.split). 06:48:08 -!- clog has quit (*.net *.split). 06:48:08 -!- Nisstyre-laptop has quit (*.net *.split). 06:48:09 -!- kmc has quit (*.net *.split). 07:11:38 -!- ogrom has joined. 07:11:38 -!- Vorpal has joined. 07:11:38 -!- glogbackup has joined. 07:11:38 -!- augur has joined. 07:11:38 -!- Nisstyre-laptop has joined. 07:11:38 -!- ais523 has joined. 07:11:38 -!- kwertii has joined. 07:11:38 -!- kinoSi has joined. 07:11:38 -!- carado has joined. 07:11:38 -!- yorick has joined. 07:11:38 -!- Jafet has joined. 07:11:38 -!- pikhq has joined. 07:11:38 -!- FreeFull has joined. 07:11:38 -!- Sgeo has joined. 07:11:38 -!- fungot has joined. 07:11:38 -!- sivoais has joined. 07:11:38 -!- hagb4rd has joined. 07:11:38 -!- subleq has joined. 07:11:38 -!- coppro has joined. 07:11:38 -!- atehwa has joined. 07:11:38 -!- Gregor has joined. 07:11:38 -!- soundnfury has joined. 07:11:38 -!- ssue has joined. 07:11:38 -!- Cryovat has joined. 07:11:38 -!- sirdancealot7 has joined. 07:11:38 -!- nortti- has joined. 07:11:38 -!- chicken1 has joined. 07:11:38 -!- mroman has joined. 07:11:38 -!- lambdabot has joined. 07:11:38 -!- ineiros_ has joined. 07:11:38 -!- shachaf has joined. 07:11:38 -!- fizzie has joined. 07:11:38 -!- lifthrasiir has joined. 07:11:38 -!- heroux has joined. 07:11:38 -!- ion has joined. 07:11:38 -!- olsner has joined. 07:11:38 -!- jix_ has joined. 07:11:38 -!- Tod-Autojoined has joined. 07:11:38 -!- Lumpio- has joined. 07:11:38 -!- kmc has joined. 07:11:38 -!- itidus21 has joined. 07:11:38 -!- Zuu has joined. 07:11:38 -!- Dovregubben has joined. 07:11:38 -!- Deewiant has joined. 07:11:38 -!- rodgort has joined. 07:11:38 -!- tswett has joined. 07:11:38 -!- Sanqui has joined. 07:11:38 -!- FireFly has joined. 07:11:38 -!- lahwran has joined. 07:11:38 -!- variable has joined. 07:11:38 -!- HackEgo has joined. 07:11:38 -!- clog has joined. 07:11:38 -!- nvt has joined. 07:11:38 -!- sebbu has joined. 07:11:38 -!- EgoBot has joined. 07:11:38 -!- comex has joined. 07:11:38 -!- kallisti has joined. 07:11:43 -!- glogbackup has left. 07:11:43 (who the hell tried that?) 07:11:43 http://www.seattlepi.com/national/article/Woman-accused-of-giving-husband-lethal-sherry-1165596.php 07:11:50 "You can't drink anymore." "Is that a challenge?" 07:11:55 -!- copumpkin has joined. 07:11:55 -!- aloril has joined. 07:11:55 -!- hogeyui_ has joined. 07:11:58 Well, I suppose it'd be more of an enema. 07:12:10 obviously the best way to take any drug is to dissolve it in DMSO and then just stick your hand in 07:12:23 Win. 07:12:32 DMSO vodka. 07:12:34 Best thing. 07:13:39 if you put your hand in DMSO you will taste garlic a moment later 07:13:48 That sounds like fun. 07:14:02 this sounds like a highly dangerous thing 07:14:20 allegedly it is pretty safe by itself 07:14:30 but it lets other stuff through your skin 07:14:45 theres a lot of evil things that could be done with something liek that 07:15:00 itidus21: Yup. 07:15:13 squirt gun full of LSD and DMSO 07:15:33 LSDMSO 07:15:59 also someone should just genetically engineer e. coli to produce psilocybin 07:16:02 what could go wrong 07:16:20 i think this is a hilarious apocalypse scenario 07:16:37 Nah, it's better to just convert cellulose to ethanol. 07:16:52 Thereby turning all plants into booze. 07:17:01 :3 07:17:05 That way you get drunked with every brain cell u lose, right? 07:17:15 your aim gets hecked 07:17:20 Oh no. :-( 07:17:31 kmc: Everyone is trying to get me to move to Boston these days. 07:17:38 people besides me? 07:17:44 Have you considered moving to antiBoston? 07:17:52 Yes, all the other Bostonpeople. 07:17:57 pikhq: Thank you. 07:19:05 boston is great 07:20:14 i heard that boston came second on a biased list of world's most livable cities. 07:20:39 amazing 07:20:56 kmc: Have you ever tried DMSO? 07:21:03 no 07:21:54 -!- ais523 has quit. 07:32:27 -!- parapooper has joined. 07:48:55 -!- itidus20 has joined. 07:52:16 -!- itidus21 has quit (Ping timeout: 252 seconds). 07:53:23 -!- Dovregubben has quit (Ping timeout: 246 seconds). 07:56:08 -!- itidus20 has changed nick to itidus21. 08:00:49 -!- itidus21 has changed nick to bf. 08:01:04 * bf is brainfuck, and brainfuck is bf. 08:01:28 -!- bf has changed nick to itidus21. 08:12:27 -!- Dovregubben has joined. 08:39:29 -!- ogrom has quit (Quit: Left). 09:08:59 hi 09:09:11 so, GHC 7.6 now has a lambda case extension 09:12:00 -!- nooga has joined. 09:14:02 kmc: Did you see http://blog.ezyang.com/2012/01/problem-set-the-codensity-transformation/ ? 09:22:59 -!- Tod-Autojoined has quit (Read error: Connection reset by peer). 09:23:12 -!- Tod-Autojoined has joined. 09:32:49 -!- oerjan has joined. 09:47:39 -!- Tod-Autojoined2 has joined. 09:49:02 -!- Tod-Autojoined has quit (Read error: Connection reset by peer). 10:08:16 -!- Vorpal has quit (Changing host). 10:08:16 -!- Vorpal has joined. 10:08:44 -!- parapooper has changed nick to Guest34907. 10:09:02 -!- Guest34907 has left. 10:11:23 -!- Slereah has joined. 10:16:42 -!- yiyus has joined. 10:19:39 -!- nooga_ has joined. 10:21:16 -!- nooga has quit (Ping timeout: 245 seconds). 10:26:02 -!- Arc_Koen has joined. 10:26:12 hello 10:26:13 Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it. 10:26:17 @messages 10:26:17 oerjan said 7h 16m 11s ago: I think your [ in Maze is buggy, (1) It checks the rightmost cell not the middle, but only on the initial iteration (2) There shouldn't be any delays at the end of the 10:26:17 straight down path. 10:26:49 hmm, indeed 10:26:52 to clarify, it doesn't do _any_ test of a cell other than on the initial iteration 10:26:53 > :t 3 10:26:54 : parse error on input `:' 10:27:19 I wanted to make the rightmost cell the "current" cell to ease things, but I forgot 10:27:28 yeah that does look simpler 10:27:44 and yes you're right it doesn't do tests besides the first iteration, I'll change that 10:28:40 :t 3 10:28:41 forall t. (Num t) => t 10:44:00 oerjan: as for %D and others being usable in functions, that's one of the things the page is very imprecise about; I suspect you could use ## or -- or whatever as well in a function 10:45:05 "IF ==0 THEN << ELSE >>" 10:45:51 Arc_Koen: erm the original text before you formatted said a lot of "maze only" and "functions only" 10:46:09 hmm right 10:46:23 i just fixed the remaining exception 10:46:45 you're sure it was the only one? 10:46:54 actually comments should also be allowed everywhere 10:47:30 yep 10:47:49 though if I was to implement Maze I wouldn't bother with comments in the maze 10:48:17 the 99 bottles has lots of comments 10:48:20 I'd store everything in a 2d array and only check where the car is going 10:48:39 yes, but I mean, it's like in Befunge - as long as you don't drive through the comments, there is no need to mark them as such 10:48:45 indeed 10:50:12 ok, other bug in '[': if the condition is met in the first occurrence (so cars must continue downwards without bothering), they'd be desynchronized by the timings 10:50:20 oh right that's what you meant 10:50:23 yes that was my (2) 10:51:14 > 3 4 5 10:51:15 3 10:52:49 -!- Phantom_Hoover has joined. 10:53:00 Bye for now 10:53:04 -!- oerjan has quit (Quit: Later). 10:53:05 see you later 11:19:54 -!- Jafet has quit (Quit: Leaving.). 12:10:51 -!- ogrom has joined. 12:48:09 -!- ogrom has quit (Ping timeout: 256 seconds). 12:54:17 -!- nooga_ has quit (Ping timeout: 244 seconds). 13:17:39 -!- kinoSi has quit (Read error: Connection reset by peer). 13:18:07 -!- kinoSi has joined. 13:45:04 -!- nooga has joined. 13:51:25 -!- AnotherTest has joined. 13:51:33 Hello 13:57:42 -!- nooga has quit (Ping timeout: 268 seconds). 14:17:52 -!- MoALTz has joined. 14:49:02 -!- ogrom has joined. 15:30:13 -!- nooga has joined. 15:41:23 -!- nooga has quit (Ping timeout: 272 seconds). 16:07:07 -!- ogrom has quit (Ping timeout: 255 seconds). 16:24:45 shachaf: did you know that Ivy Bridge contains a hardware RNG? http://spectrum.ieee.org/computing/hardware/behind-intels-new-randomnumber-generator/0 16:25:56 shouldn't the first example on the page http://esolangs.org/wiki/Real_Fast_Nora%27s_Hair_Salon_3:_Shear_Disaster_Download be LAMBDA LAMBDA LAMBDA APPLY ONE MORE THAN ONE MORE THAN ONE MORE THAN ZERO APPLY ONE MORE THAN ONE MORE THAN ZERO ONE MORE THAN ZERO ? 16:35:42 I think JNAerator may be more tuned to generating code made to be accessible in Java vs making it easy to use from Clojure 16:35:44 *shock* 16:35:51 (No actual shock intended) 16:37:35 http://saveie6.com/ 16:38:34 :3 16:40:31 You have to love the way that the site uses XHTML and CSS. 16:41:14 it does? 16:41:31 well I didn't notice that when using links2 16:43:41 "IE6 is the only browser that gets the box model right. Content + padding + border = overall width. What else should it be?" 16:43:47 What is it supposed to be? 16:44:00 And what's ... wrong with whatever it is that IE6 is described as doing there? 16:50:32 VIA PadLock has had a hardware on-chip RNG since January 2003. 16:51:54 Sgeo: In the CSS model, the width is content only 16:51:59 padding and border are on top of widht 16:52:03 http://en.wikipedia.org/wiki/File:W3C_and_Internet_Explorer_box_models.svg 16:52:30 fizzie: yeah 16:52:41 -!- impomatic has joined. 16:55:33 The IE model does make sizing easier 16:55:47 I think nowadays you can switch box models in CSS though? 16:57:11 no 16:58:11 You can box-sizing: border-box; though. 16:58:47 http://www.css3.info/preview/box-sizing/ 16:59:32 "Internet Explorer 8, WebKit browsers such as Apple Safari 5.1+ and Google Chrome, Opera 7.0 and later, and Konqueror 3.3.2 and later support the CSS3 box-sizing property. Gecko-based browsers such as Mozilla Firefox support the same functionality using a proprietary "-moz-box-sizing" property," 16:59:38 (From Wikipedia) 16:59:45 Are we allowed to have Firefox over this? 16:59:56 *hate 17:05:37 Sgeo: They're probably dropping the prefix as soon as https://bugzilla.mozilla.org/show_bug.cgi?id=243412 gets closed. 17:06:03 -!- carado has quit (Remote host closed the connection). 17:08:18 fizzie, so, never? 17:11:30 Well now... they've closed a few of the depends. 17:25:03 Why do both and exist? 17:29:54 -!- atriq has joined. 17:30:20 @messages? 17:30:20 Sorry, no messages today. 17:30:23 :) 17:39:00 Hmm, Acid3 requires a web server that knows what it's doing 17:43:52 -!- AnotherTest has quit (Quit: Leaving.). 17:44:12 -!- AnotherTest has joined. 17:47:51 please sign this petition: http://saveie6.com/ 17:52:39 -!- atriq has quit (Ping timeout: 240 seconds). 17:53:22 -!- zzo38 has joined. 17:53:25 -!- oerjan has joined. 17:58:46 nortti: Where will I get IE6 for Linux from 17:59:08 why would you use linux 17:59:11 you can't get ie6 17:59:16 FreeFull: ie4linux 17:59:31 nortti: On ARM? 17:59:40 use qemu 17:59:49 That's slow 18:00:16 then sign the petition so ie6 will be ported to other architectures 18:00:22 -!- atriq has joined. 18:02:30 Why do you need IE6 on Linux? 18:02:58 qemu is surprisingly fast 18:03:13 zzo38: http://saveie6.com/ 18:03:30 shouldn't the first example on the page http://esolangs.org/wiki/Real_Fast_Nora%27s_Hair_Salon_3:_Shear_Disaster_Download be LAMBDA LAMBDA LAMBDA APPLY ONE MORE THAN ONE MORE THAN ONE MORE THAN ZERO APPLY ONE MORE THAN ONE MORE THAN ZERO ONE MORE THAN ZERO ? 18:03:43 i think i checked the example was correct... 18:03:50 yours is, lessee... 18:04:56 \ \ \ (3 (2 1)), or \x y z -> x (y z). that is composition, not church addition. 18:05:06 \xyz.q(xy) 18:05:16 Indices are zero-based 18:05:20 oh 18:05:22 oh duh 18:05:36 well it's wrong even so 18:06:12 atriq: i'm not sure if you've been on since i made the implementation 18:06:27 Oooh, I saw that! 18:06:39 Haven't looked at it in detail, though 18:06:44 I've been a crazy homestuck this weekend 18:07:03 crazy homestuck, or crazy with homestuck? 18:07:10 Sort of both 18:07:53 Been hanging out with all the other readers of homestuck 18:08:03 In the North-East of England 18:08:09 Who are willing to be hung out with 18:08:17 ah, a con 18:08:26 Today was a con 18:08:29 Yesterday was a meet-up 18:09:46 Well, less a con and more "let's see if we can get 200 people in anime costumes into two small rooms" 18:09:50 so we now know who here is a con man 18:10:04 I reckon it's zzo38 18:10:08 1. (1) victimize, swindle, rook, goldbrick, nobble, diddle, bunco, defraud, scam, mulct, gyp, gip, hornswoggle, short-change, con -- (deprive of by deceit; "He swindled me out of my inheritance"; "She defrauded the customers who trusted her"; "the cashier gypped me when he gave me too little change") 18:10:30 "mulct". 18:10:51 no:mulkt means en:fine 18:11:00 @wn mulct 18:11:00 *** "mulct" wn "WordNet (r) 3.0 (2006)" 18:11:00 mulct 18:11:00 n 1: money extracted as a penalty [syn: {fine}, {mulct}, 18:11:00 {amercement}] 18:11:00 v 1: deprive of by deceit; "He swindled me out of my 18:11:02 [6 @more lines] 18:11:19 Apparently no:mulkt also means en:mulct. 18:11:21 yep, the n 1 meaning 18:11:45 Sorry, but it's a silly word. 18:11:49 although no:bot is more common 18:12:03 Anyway 18:12:07 I should not be allowed to dance 18:12:08 Ever 18:12:16 O KAY 18:12:19 "no:bot" is some kind of an IRC bot. 18:12:30 @wn wn 18:12:30 No match for "wn". 18:12:32 @wn win 18:12:33 *** "win" wn "WordNet (r) 3.0 (2006)" 18:12:33 win 18:12:33 n 1: a victory (as in a race or other competition); "he was 18:12:33 happy to get the win" 18:12:33 2: something won (especially money) [syn: {winnings}, {win}, 18:12:35 [20 @more lines] 18:12:38 @more 18:12:38 {profits}] [ant: {losings}, {losses}] 18:12:39 v 1: be the winner in a contest or competition; be victorious; 18:12:41 "He won the Gold Medal in skating"; "Our home team won"; 18:12:42 @less 18:12:43 "Win the game" [ant: {lose}] 18:12:45 Maybe you meant: let list oeis 18:12:47 2: win something through one's efforts; "I acquired a passing 18:12:49 [15 @more lines] 18:12:51 @too much 18:12:51 Plugin `todo' failed with: @todo has no args, try @todo-add or @list todo 18:13:38 I reckon it's zzo38 <-- hm this idea gives me cognitive dissonance - it is both obviously true and obviously false 18:14:01 for the other "con" meaning, that is 18:14:14 i doubt zzo38 would ever defraud anyone 18:15:32 zzo38: do you go to cons? 18:21:42 -!- subleq has quit (Disconnected by services). 18:23:01 -!- MoALTz_ has joined. 18:25:52 -!- MoALTz has quit (Ping timeout: 252 seconds). 18:29:45 oerjan: I go to anime convention in August 18:30:04 ah 18:31:34 * oerjan adjusts the real fast nora implementation slightly 18:32:30 i think this makes it impossible for the program to make any use of the particular number calculation mechanism used 18:32:36 If you know some things about hardware design with discrete logic: http://forums.nesdev.com/viewtopic.php?p=99641#p99641 How simple do you think such a design would be? How much would it cost? 18:33:38 basically v, which is borrowed from unlambda, is a function which is entirely unusable in a pure language without continuations 18:33:53 since applying it to anything gives itself back 18:34:10 Do you know if it is even possible to use an audio signal to clock anything? 18:34:29 zzo38: that would be a rather slow clock, wouldn't it? 18:34:53 for a cpu that is 18:36:20 (unlambda of course perversely ties it in with i/o, so you _have_ to use it.) 18:36:45 (but then unlambda is impure and has continuations.) 18:42:23 -!- ais523 has joined. 18:42:57 A pure language is kind of like a particle collider 18:43:57 MAYBE 18:44:11 oerjan: Yes it is a slow clock, but read what I wrote I did not intend it to clock a CPU, I intend it to clock a 4-bit counter, which is then mixed with the audio. 18:44:26 ok 18:44:31 I actually had thoughts behind that statement 18:44:42 Would that even work, though? 18:45:01 atriq: i feel it may tend to understate the messiness of particle collisions 18:45:40 I have a function q :: Int -> IO [Int]. 18:45:43 zzo38: i cannot see any reason why that couldn't be made... but i'm no circuit designer. 18:45:49 How can you work out what it does? 18:46:02 Throwing stuff at it and seeing which countries you destroy 18:46:48 nah q is harmless. it's blofeld you should be wary about. 18:47:48 There was a Doctor cosplayer today, and a doctor (from yesterday's episode) cosplayer too 18:47:55 The audio is already amplified, it may be a square wave (with different volume settings and duty settings) but can also be triangle wave, what happen if that is used for clock? 18:48:59 hm 18:49:40 shachaf: I can't decide whether to add CVE-2012-0056 to my kernel exploits talk 18:50:09 it's an interesting and unusual sort of vulnerability, but for exactly this reason it will be annoying to explain, and will break the flow of everything else (which is mostly about memory corruption) 18:50:21 atriq: hey, all the *function* does is return an inert IO action ;) 18:50:35 :P 18:50:53 IO actions don't kill people. Runtime systems with IO actions kill people. 18:50:57 yes 18:51:13 programming languages don't kill people, interpreters do 18:52:28 Maybe I'm evil and that contains unsafePerformIO 18:53:51 :t \k -> let x = unsafePerformIO k in x `seq` (return x `asTypeOf` k) 18:53:51 Not in scope: `unsafePerformIO' 18:55:02 IO a -> IO a 18:59:32 hm i don't know what to answer on today's iwc poll. i'll have to wait until a night i can see the big dipper. 18:59:54 oerjan, did I thread-title well? 19:00:30 um i haven't got to that forum section yet 19:00:36 K 19:00:47 i only read the forum twice a week 19:00:53 ... 19:01:08 At one point, I was only reading them twice an hour 19:01:15 XD 19:01:27 That's how I'm in the top 25 posters 19:01:34 OKAY 19:02:02 -!- AnotherTest has left. 19:02:46 Functional programming works best with a little impurity mixed in (but not too much) 19:03:04 I think everything works best with other things thrown at it 19:03:15 Hence why we're not all using Lazy K in our day-to-day lives 19:04:41 don't be lazy, k? 19:05:02 Huh. So psyduck is a pokemon. 19:05:07 ... 19:05:09 Yes? 19:05:28 THEY'RE ALL PSYCHOS 19:05:49 I just knew it from that ... thing in Canada 19:05:54 Er, the term 19:06:11 And by Canada I mean IRCnomic 19:06:50 oerjan, did I thread-title well? <-- ACCEPTABLE 19:06:57 So proud! 19:07:04 http://www.mail-archive.com/agora-business@agoranomic.org/msg04249.html 19:16:45 FreeFull: i agree 19:16:51 people always say that as though it's a damning criticism of haskell 19:16:58 as though haskell has no way to handle IO, state, etc. 19:17:22 imo Haskell's is the pragmatic moderate position 19:17:29 Haskell allows impurity if you really want to 19:17:37 rather than "side effects everywhere for no reason" it's "effects where you need them, and pay attention" 19:17:59 -!- nooga has joined. 19:18:09 i blame the haskell beginners who write breathless excited blog posts where they completely misunderstand the language and what its "purity" actually means 19:18:22 but i'm just bitter 19:25:39 imo people should stop talking about "pure" vs "impure" functions 19:25:52 in haskell you have functions and you have actions; they are separate and complimentary things 19:26:17 O no!!! Basketball is difficult! My best PG and SF are injured! I have only one SF remaining! And, I only have one PF and one C remaining! I want to buy more but it is too expensive!!!! 19:26:33 zzo38 you are employee of the month 19:26:43 Let me check. 19:26:59 I don't think so. 19:27:26 that's why i buy basketball players in bulk over the internet 19:27:29 I don't think there is "employee of the month", either in this computer game or in places where I do work. 19:27:53 kmc: You're doing the talk again? 19:28:04 kmc: You buy basketball players in bulk over the internet? 19:28:47 Ah, this is the one where a program overwrites its memory by writing to /proc/mem? 19:32:13 Do you know of Csound can use audio signals to clock other signals? 19:35:38 > "ping" 19:35:39 "ping" 19:35:50 yes 19:36:25 s/of/if/ 19:37:59 There was the author of Nyquist (the synthesis language) at this speech conference giving a talk about computers and music. (They like to schedule keynotes that are a bit "different".) 19:38:33 Arc_Koen: your Maze [ looks good now :) 19:38:55 thank you :) 19:45:58 I do not know if any Famicom cartridge uses the Audio Out pin for any purpose other than mixing with its own audio, although it seem that it could be used for other things too, such as: * Controllable filter * Controllable volume (which affects even triangle and DPCM, and gives more levels for square) * Amplitude modulation or frequency modulation of other audio 19:51:26 oerjan: I'm too lazy to implement an interpreter for Maze. Do you know of another language I might want to work on? :) 19:57:31 Eodermdrone:P 20:08:36 hmmm 20:08:56 are we sure any graph can be represented as an eodermdrome string of characters? 20:09:07 well obviously it has to be connex, but appart from that 20:10:12 -!- Vorpal has quit (Ping timeout: 276 seconds). 20:10:58 for instance if the graph is a "star" (A, B, C, D, E, with A connected to every other and others not connected between them), I don't see how it can be represented in an eodermdrome way 20:12:19 Arc_Koen: ABACADAE? 20:13:10 And certainly one string can't represent any graph; e.g. if the graph has more than 26 nodes. 20:13:12 ohhh you can duplicate edges, ok 20:13:36 "There is an arc between any two letters which are consecutive in the string, but not otherwise." 20:13:47 yes yes 20:18:02 Annoys me every time I see it: esolang wiki Eodermdrome article mentions that the initial state graph is planar, yet the illustration has crossing edges. (And it would need relatively minor changes to avoid those.) 20:20:07 Technically, there's no such thing as a "string of whitespace that contains punctuation marks". 20:23:12 fizzie, it is planar. That particular representation has crossing edges. 20:23:24 That's fizzie's point. 20:23:31 It should br drawn without crossing edges. 20:23:37 I don't see why anyone should worry 20:23:47 It's not stopping it from actually being planar 20:24:48 I didn't say I had logically immaculate reasons for being annoyed by it. 20:24:54 Oh, okay 20:25:11 It doesn't "look planar" when it has "unnecessary" crossing edges, is all. 20:25:34 I like how oerjan's bct.sss (a BCT interpreter in ///) starts by making ///'s syntax nicer. 20:34:12 I notice that the /// quine is completely unexplained. 20:35:27 tswett: is it not obvious? 20:35:46 Oh, I get it. 20:35:53 Annoys me every time I see it: esolang wiki Eodermdrome article mentions that the initial state graph is planar, yet the illustration has crossing edges. (And it would need relatively minor changes to avoid those.) <-- yeah that annoys me too, especially as i carefully made the previous ascii version have none :( 20:35:53 Those slashes go that way, and *those* slashes go *that* way. 20:36:24 tswett: :P 20:36:34 indeed.. the significant realization is that there are two kinds of slashes being used 20:36:45 tswett: it does use _almost_ the same principles as the bct interpreter, though. 20:37:26 i needed to use 3 /'s instead of 2 to start tokens, though. 20:41:09 * tswett refactors the quine. 20:41:15 AAAAAAAAAAAAAAAAAA 20:41:35 Obviously, this will cause it to cease to be a quine. 20:41:43 oh, okay 20:42:39 fwiw ///\\ is the quoting prefix in the quine, iirc 20:44:06 hmph elliott has still not fixed the broken /// links 20:46:28 * tswett introduces syntactic sugar for ///\\ 20:46:36 good move 20:46:38 As well as syntactic sugar for... everything. 20:46:51 that's essentially what . is in most of my other programs 20:47:02 (, |, and ) are all replaced with /. ! and _ are \/ and //, respectively. 20:47:18 (well sugar for whatever the quoting prefix is) 20:47:19 Also, the first two lines are, of course: 20:47:23 / /// 20:47:25 // 20:47:29 :P 20:47:44 Sending those two messages was not trivial. 20:47:47 Well... it was trivial. 20:47:54 But not absolutely trivial. 20:48:48 i don't see the point of ! and _ there 20:48:59 It makes substitutions easier to read. 20:49:16 do you mean _ = \\ ? 20:49:16 Instead of \/\/\/\\\\ for ///\\, you can see !!!__ for ///\\. 20:50:48 oh and things starting with ///\/ are other tokens. 20:51:28 you'll have to find out yourself where they end :) 20:51:47 / I don't know what . is // 20:51:56 / Whatever this is, I don't know what it is, either // 20:52:28 ...okay... 20:55:23 i vaguely recall when i made the bct interpreter, i considered introducing syntactic sugar for combinations of escaping with \ and escaping with //\\ (its quoting token), but i thought better of it 20:57:25 i think it has spots with \ escaped //\\ escaped \ escaped //\\ escaped something 20:57:34 So, uh, _ is quoted \, = is quoted _, and # is quoted =. ///\\ is replaced with a triply quoted version of itself, followed by a doubly quoted backslash and a singly quoted backslash. 20:57:48 or wait, maybe the last was just //\ for a general token 20:59:48 Er, no, remove one quotation level from what I just said. 21:00:48 well the code contains a \\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\/ replacement 21:00:58 which is escaped 21:01:11 So, the replacement for ///\\ ends with an unescaped backslash, doesn't it? 21:01:20 btw i distinguish quoting from escaping. quoting is prepending ///\\ while escaping is prepending \ 21:01:47 Okay, s/quote/escape/ in everything I said. 21:01:54 @show \\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\/ 21:01:54 "\\\\\\\\\\\\\\/\\\\\\\\\\\\\\/\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/" 21:02:08 @read "\\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\/" 21:02:08 Plugin `dummy' failed with: Prelude.read: no parse 21:02:11 argh 21:02:25 > "\\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\/" 21:02:26 : 21:02:26 lexical error in string/character literal at chara... 21:02:40 -!- kwertii has quit (Quit: kwertii). 21:02:43 there is something fishy here 21:02:58 oh wait the last / doesn't belong 21:03:05 @read "\\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\" 21:03:05 Plugin `dummy' failed with: Prelude.read: no parse 21:03:13 > "\\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\" 21:03:15 : 21:03:15 lexical error in string/character literal at chara... 21:03:19 AAAAAAAAA 21:03:36 or wait 21:03:39 > "\/" 21:03:40 : 21:03:41 lexical error in string/character literal at chara... 21:03:45 that explains it 21:04:23 Clearly, we need @sssshow and @sssread commands. 21:04:32 clearly. 21:05:03 @show \\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\ 21:05:03 "\\\\\\\\\\\\\\/\\\\\\\\\\\\\\/\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" 21:05:41 this may not be helping 21:06:05 ^def unesc bf ,,[.,,] 21:06:05 Defined. 21:06:13 ^unesc \\\\\\\/\\\\\\\/\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\ 21:06:13 \\\/\\\/\\\/\\\\\\\\\\\ 21:06:59 now imagine that in front of some arbitrary character c 21:07:08 \\\/\\\/\\\/\\\\\\\\\\\c 21:07:30 ^unesc \\\/\\\/\\\/\\\\\\\\\\\c 21:07:31 \/\/\/\\\\\c 21:07:37 ^unesc \/\/\/\\\\\c 21:07:38 ///\\c 21:07:44 uc? 21:08:11 -!- atriq has quit (Ping timeout: 272 seconds). 21:09:05 So ///\\c is replaced with a doubly escaped version of itself, followed by a singly quoted backslash, then a singly quoted c. So... 21:09:25 #esoteric is probably the only channel where you see people implement handy utility programs.. in brainfuck 21:09:29 um no ///\\c is replaced with a doubly escaped version of itself, period 21:09:35 FireFly: XD 21:09:39 Uh, right. 21:09:58 And how the Flynn–Fletcher does that help anything... 21:10:18 now you can copy it twice without losing data... 21:11:13 How do you copy something, again. You stick a pair of slashes before it, and one after, and wait for it to be executed. 21:11:47 Which, in this case, you can, of course, do twice without losing data. 21:13:21 to be more precise, you can first make two copies, then make a new copy of one of the copies. and the two versions will look _different_. 21:13:52 one will be quoted with ///\\, while one will be quoted with \/\/\/\\\\\ 21:14:57 which means you can now do a substitution on just one of the copies, to replace its quoting with just \-escaping 21:15:34 _then_ you can copy/move the other version into a designated spot of that 21:16:15 while still losing no data, as that still remains ///\\ quoted 21:16:51 and finally you replace that remaining ///\\ with \/\/\/\\\\\ again. 21:17:16 at which point you will have constructed something which prints as the original program 21:17:59 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 21:18:45 this is all very similar to the principle of all the looping programs since the second one made, except you construct something printable instead of something executable. 21:19:04 (as the original) 21:21:05 <_< any questions? >_> 21:21:24 yes 21:21:44 good, good 21:21:47 bring it on 21:22:45 hmmmmm that was something about reversible brainfuck but I can't seem to remember what 21:24:04 my TC-proof perhaps? 21:24:17 * oerjan whistles innocently 21:24:35 it was certainly related, yes 21:25:22 -> 21:25:52 Yeah, isn't there some remarkably simple modification you can do to BF to make it reversible? 21:26:38 Something like... make it so that brackets are entered if the value is 0 and skipped if the value is not 0. 21:26:44 oerjan: the guilting only works in PM. 21:32:07 tswett: um like http://esolangs.org/wiki/Reversible_Brainfuck you mean? *cough* 21:32:36 shachaf: what guilting? 21:32:49 oerjan: yeah. That's exactly the same as what I just described, right? 21:32:50 oerjan: I don't know. elliott told me to tell you. 21:33:00 shachaf: aha 21:33:08 oh the /// links right 21:33:54 tswett: yep 21:35:53 wait, so it's possible to be turing-complete and reversible at the same time? 21:36:11 shoking 21:37:26 Arc_Koen: for turing machines themselves that's an old result 21:38:01 reversible turing machines ? 21:38:54 yes you can make turing machine tables that are reversible 21:39:45 There are Turing machines that are both universal and reversible? 21:39:47 also you can make an idealized reversible computer which uses no energy 21:39:55 it's only when you want to forget stuff that you need to take in energy 21:39:55 Getting rid of heat could be interesting. 21:40:40 for such a machine, the bit bucket is physically real :P 21:41:17 *computer 21:42:52 also quantum computation is reversible 21:43:08 except for making observations (?????? this is where i run out of knowledge) 21:43:47 Under the many-worlds interpretation, that part's reversible, too. 21:44:01 yeah... 21:44:10 Given the talk about eigenratios that's happened, I'm pondering an assembly language that admits an extremely efficient self-interpreter. 21:44:18 I guess it would be pretty easy. 21:44:50 exec - execute one instruction, using the memory pointed to by as the register bank. 21:45:21 But wait, that doesn't work. You could write a one-instruction infinite loop with that. 21:45:47 that is a problem how? 21:46:03 Well, I think we should have an upper bound on the amount of time that executing a single instruction can take. 21:46:04 jmp $ is also a one-instruction infinite loop 21:46:42 olsner: yeah, true. But that one works by executing a single instruction infinitely many times. Each individual execution is finite. 21:47:00 With this instruction, however, executing that one instruction, once, could take arbitrarily long. 21:47:37 nah, it would just take one instruction time to update the pointed-to program counter and continue after the exec instruction? 21:49:14 Well, suppose that $2 points at a piece of memory whose instruction pointer points at the exec instruction. 21:50:20 Then if you tell the interpreter to exec $2, it will look up the instruction pointer at $2, load its pointee (which is exec $2), and execute exec $2, and in doing so, it will look up the instruction pointer at $2, and ... 21:59:37 -!- nooga has quit (Ping timeout: 240 seconds). 22:02:58 -!- impomatic has left. 22:13:05 -!- MoALTz_ has quit (Quit: Leaving). 22:16:08 Whelp, I've made a subleq self-interpreter. It works by copying parts of the interpretee into itself. 22:16:09 Can we make esolang that can program hardware instead of only software? 22:16:26 I'm pretty sure it's impossible to write a subleq self-interpreter that doesn't do that. 22:16:54 zzo38: those exist. Two-dimensional esolangs where all state is local. 22:20:44 I think BackFlip is a good example. 22:21:08 mm, backflip 22:21:21 never managed to make any real programs in that 22:21:49 well, real computation. of course it doesn't have io 22:23:19 zzo38: you've heard of Wireworld, I assume? 22:29:27 tswett: I have heard and know about both BackFlip and Wireworld. 22:30:02 However, I mean making actual hardware gates from it. 22:32:23 Such as: discrete logic connected manually, CPLD (such as a JEDEC file), FPGA (such as AT40k bitstreams, since someone has documented their format), ASIC, compiling into a hardware description language, or something else. 22:39:44 But regardless, these are for digital electronics. What if, you make esolang for analog electronics? 22:41:19 Proce! }:D 22:42:03 -!- oerjan has quit (Quit: RRRRRRRRR). 22:42:34 Does Game of Life count as an esolang? 22:42:56 I don't know if it counts as a programming language at all, whether or not esoteric. 22:43:32 The semantics of Proce are perhaps best defined in terms of analog electronics. 22:45:17 Can you make up a Proce->SPICE compiler, if such thing would be possible? 22:45:39 If such thing would be possible, then it would be possible. 22:45:47 It's certainly possible, yes. 22:46:26 Each signal is simply a wire. i! is an integrator, + is an adder, * is an amplifier, r! is a rectifier, and so on. 22:47:17 OK 22:47:42 Sgeo: game of life is turing complete :) 22:48:47 Yes, I saw once the turing machine in game of life. 22:49:12 I requires a large number of cells. 22:50:57 I don't think most people would consider Turing-completeness as necessary /or/ sufficient for the descriptor “programming language” 22:55:08 Yeah, I guess I'd say that to be a language, the input has to consist of text. 22:56:14 the act of programming in such cases becomes loading the initial GoL cells, and uh.. afterwards im not quite sure 22:56:18 ...Or speech or gestures. 22:56:32 or symbols? 22:57:11 I dunno. 22:57:49 What if the input is an arbitrary real number, and the "language" is simply a continuous function R -> R? 22:57:57 Is Smalltalk texty enough? What about where someone drags building blocks together? 22:58:17 Could it be Turing-complete? Would it then be a language? 22:58:52 GoL can be fitted to that definition 22:58:58 I wonder if there's a Turing-completely dynamical system whose step function is a holomorphic function of the complex numbers. 22:59:18 There are certainly languages for describing GoL patterns. Such languages would themselves probably be considered Turing-complete programming languages. 22:59:20 With an isomorphism from boards with a finite number of live cells to real numbers 22:59:32 tswett: Is it possible to prove whether or not there is a Turing-completely dynamical system whose step function is a holomorphic function of the complex numbers? 22:59:47 ais523: is there a Turing-complete dynamical system whose step function is a holomorphic function of the complex numbers? Thanks. 22:59:51 -!- Arc_Koen has quit (Quit: Arc_Koen). 23:00:15 What's a holomorphic function? 23:00:17 Uhh, make that a computable function. 23:00:28 Sgeo: a differentiable one. 23:00:41 Which, in the complex numbers, is the same thing as a smooth one. 23:00:49 Which I think is the same thing as an analytic one? 23:01:08 Yes, it is. 23:01:25 Differentiable = holomorphic = analytic, for functions of the complex numbers. According to Wikipedia. 23:01:37 The Mandelbrot set definitely looks like the sort of thing that could be computational. 23:01:51 Is there a way to make a smooth function which at integer inputs matches a GoL function? 23:02:15 There's a way to make a smooth function which, at integer inputs, matches any function Z -> R whatsoever. 23:02:25 Wait, that's not true. 23:02:39 Well, maybe it is. But in any case. 23:02:50 It's definitely possible for any bounded function Z -> R. 23:05:06 If F : Z -> R, then f(x) = sum_{n in Z} F(n) sinc(x - n) ought to coincide with it. 23:17:43 -!- kinoSi has quit (Read error: Connection reset by peer). 23:18:09 -!- kinoSi has joined. 23:19:47 -!- ais523 has quit.