←2014-05-04 2014-05-05 2014-05-06→ ↑2014 ↑all
00:10:36 -!- Phantom__Hoover has quit (Remote host closed the connection).
00:18:17 -!- augur has quit (Quit: Leaving...).
00:18:44 -!- augur has joined.
00:27:17 <kmc> fungots fall on fungot falls
00:32:45 <shachaf> 700 + 132 + 942 + 732d1
00:32:46 <lambdabot> shachaf: 700 + 132 + 942 + 732 => 2506
00:33:24 <fowl> 1+2
00:33:27 <fowl> 1+2d1
00:33:27 <lambdabot> fowl: 1 + (1+1) => 3
00:33:33 <fowl> ._.
00:34:02 -!- edwardk has quit (Quit: Computer has gone to sleep.).
00:34:52 * boily screams «AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA» at fizzie for having unfungotted the channel
00:55:50 -!- pikhq has quit (Read error: No route to host).
00:57:04 -!- pikhq has joined.
00:58:11 -!- shikhin has joined.
00:58:20 -!- Ghoul_ has joined.
01:02:46 -!- boily has quit (Quit: SAXOPHONIC CHICKEN).
01:26:51 <Taneb> ~metar LIPB
01:33:26 -!- shikhin has quit (Ping timeout: 255 seconds).
01:56:08 <lexande> 2+2+0d1
01:56:14 <lexande> 2+2+1d0
01:56:24 <lexande> 2+2+1d1
01:56:24 <lambdabot> lexande: 2 + 2 + 1 => 5
01:56:44 <lexande> 3*5-1+1d1
01:56:45 <lambdabot> lexande: 3 * 5 - 1 + 1 => 15
02:08:17 <pikhq> 50d1
02:08:17 <lambdabot> pikhq: 50
02:08:26 <pikhq> 5d2
02:08:26 <lambdabot> pikhq: 6
02:08:29 <pikhq> Yaaay
02:08:35 <pikhq> 50d50
02:08:35 <lambdabot> pikhq: 1291
02:10:31 <Taneb> Aaaah
02:46:35 <lexande> 0x1d1
02:47:34 <fowl> this is like a tagged union, correct? data List a = Nil | Cons a (List a)
02:47:58 <lexande> 2**2d1
02:48:05 <lexande> 2*2d1
02:48:05 <lambdabot> lexande: 2 * (1+1) => 4
02:48:15 <lexande> 2^2d1
02:48:16 <Bike> fowl: uhhuh
02:48:39 <Bike> what ttrpgs use exponentiation of random numbers? asking for a friend
02:49:06 <zzo38> fowl: It can mean a empty list or a list consisting of a value and a list, so it is like a tagged union
02:49:08 <lexande> 2d1*2
02:49:08 <lambdabot> lexande: (1+1) * 2 => 4
02:49:17 <fowl> do "Nil" and "Cons" have any meaning outside of the list? (are they even defined?)
02:49:19 <lexande> 2d1^2
02:49:26 <Bike> fowl: they're constructors.
02:49:32 <zzo38> fowl: Nil and Cons are constructors of the datatype called List.
02:50:13 <zzo38> Bike: Can you explain how you want to use exponentiation of random numbers? You can do 2 to the power of 1 to 6 if you use a backgammon doubling cube, perhaps.
02:50:29 <Bike> i don't really care how it's used, i just want to see how it is used
02:51:03 <zzo38> I have added various things into the SQL such as a CREATE FUNCTION, CREATE COLLATION, CREATE MACRO, CREATE NAMESPACE, and the ability for trigger programs to contain SAVEPOINT, RELEASE, ROLLBACK TO, but still some missing thing such as traps, while-loops, overrides, etc
02:51:13 <zzo38> Bike: Well, I don't know.
02:58:09 -!- Sorella has quit (Quit: It is tiem!).
02:58:19 -!- tromp has joined.
03:00:07 <BlueProtoman> Anyone in here familiar with JFLAP?
03:00:33 <zzo38> I don't know what that is. What is that?
03:01:17 <BlueProtoman> It's a program for simulating various abstract machines ("Java Formal Languages and Automata Package"), including Turing machines, FSMs, PDAs, and a few others.
03:01:52 <Bike> partial differential assistant
03:05:10 <BlueProtoman> Sure.
03:06:50 <Bike> but nah i've never used it.
03:12:44 <BlueProtoman> Hm. I'm wondering why the majority of my states in a 2-tape Turing machine are highlighted as nondeterministic.
03:51:32 -!- tromp has quit (Remote host closed the connection).
03:52:04 -!- tromp has joined.
03:53:05 -!- ter2 has quit (Ping timeout: 250 seconds).
03:56:44 -!- tromp has quit (Ping timeout: 265 seconds).
04:00:14 <Sgeo> http://pixelcomic.net/287.php
04:00:19 <Sgeo> Not very "new", but it's new to me
04:07:19 -!- Ghoul_ has quit (Ping timeout: 252 seconds).
04:07:19 -!- pikhq has quit (Ping timeout: 252 seconds).
04:07:29 -!- not^v has quit (Read error: Connection reset by peer).
04:07:58 -!- not^v has joined.
04:10:31 -!- Ghoul_ has joined.
04:16:18 <fizzie> I've used JFLAP.
04:16:31 -!- pikhq has joined.
04:17:24 <fizzie> But it was quite a long time ago, and I have to board a flight any minute now.
04:42:53 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
04:43:45 -!- not^v has quit (Quit: http://i.imgur.com/DrFFzea.png).
04:49:41 <BlueProtoman> Someone give me two binary numbers likely to trip up an amateur's Turing machine that's supposed to add them.
04:51:58 -!- Slereah_ has quit (Ping timeout: 276 seconds).
04:52:25 <Bike> 18, 2^32-1
04:53:22 <BlueProtoman> Sure, one sec
04:53:49 <Bike> then -1, 0
04:54:00 <BlueProtoman> Gotta be non-negative.
04:55:45 <BlueProtoman> OK, that failed, when added in both orders
04:56:56 <BlueProtoman> Something's wrong with my carry state
05:15:20 -!- password2 has joined.
05:43:00 -!- Zerker has joined.
05:52:39 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)).
06:02:02 <kmc> `coins
06:02:03 <HackEgo> uobcoin grailcoin durcoin calcoin rktureheading-bookcoin dividencoin omhncoin acicoin hunthenamecoin bestcoin refcoin orrhycoin bigcoin concoin omnisccoin mincoin origicoin anycoin penrcoin mushelmsiecoin
06:05:42 -!- BlueProtoman has quit (Remote host closed the connection).
06:12:24 -!- oerjan has joined.
06:18:10 -!- MoALTz has quit (Quit: bbl).
06:22:20 <Sgeo> concoin, describes all coins?
06:22:27 <Sgeo> (ok probably not really)
06:23:30 <oerjan> it's a coinspiracy
06:23:55 * oerjan remembers he hasn't checked bitcoinity in a while
06:24:35 <oerjan> looks fairly stable for the last weeks
06:25:14 <oerjan> although there's still that downward trend
06:27:10 -!- atehwa has joined.
06:50:52 <kmc> `cairns
06:50:52 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cairns: not found
06:51:49 <olsner> `coins
06:51:51 <HackEgo> bringcoin automailmentraunterating-boobuminuspicoin l00pcoin odbcocoin irifycoin cobincoin rociecoin capuracoin wikincoin elogycoin exconcoin thilcoin minuscoin tminarycoin nhohtcoin camolzcoin tagcoin kiplecoin x-dcoin quatcoin
06:51:59 <olsner> nice colorful coins
06:55:18 -!- tromp has joined.
06:59:45 -!- tromp has quit (Ping timeout: 258 seconds).
07:12:23 -!- Tritonio has joined.
07:39:50 -!- slereah has joined.
07:52:41 <lexande> have we had quinecoin yet?
08:01:15 <kmc> apparently not
08:02:08 -!- edwardk has joined.
08:31:24 -!- Patashu has joined.
08:34:05 -!- Ghoul_ has quit (Quit: Connection closed for inactivity).
08:54:41 -!- Patashu_ has joined.
08:54:41 -!- Patashu has quit (Disconnected by services).
09:38:47 -!- MindlessDrone has joined.
09:44:49 -!- shikhin has joined.
09:47:33 -!- conehead has quit (Quit: Computer has gone to sleep).
10:09:07 -!- boily has joined.
10:12:20 <shachaf> `olist (951)
10:12:20 <HackEgo> olist (951): shachaf oerjan Sgeo FireFly boily nortti
10:13:35 <boily> shachellof.
10:21:38 <oerjan> ooh
10:30:11 <shachaf> i thought it was a survivor bias joke but people seem to think it's just an "in"flammable joke
10:32:09 <oerjan> i seemed to think that too
10:49:02 -!- Phantom_Hoover has joined.
10:51:23 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:53:24 -!- constant has changed nick to trout.
10:57:09 -!- Tritonio has quit (Ping timeout: 245 seconds).
11:10:14 -!- boily has quit (Quit: RECAPITULATING CHICKEN).
11:39:41 -!- Sgeo has quit (Read error: Connection reset by peer).
11:39:54 -!- nucular has joined.
11:39:54 -!- nucular has quit (Changing host).
11:39:54 -!- nucular has joined.
11:40:02 -!- yorick has joined.
11:50:36 -!- oerjan has quit (Quit: leaving).
11:59:47 <b_jonas> shachaf: I think it's "in"flammable joke too,
12:00:07 <shachaf> yes
12:00:19 <b_jonas> but then most of the airship is made of wood and textile (also hydrogen if they're relaly unlucky), so most of it is inflammable
12:05:04 <FreeFull> Helium doesn't have the same lift and is expensive
12:06:08 -!- tromp has joined.
12:10:08 <int-e> @tell oerjan I can believe that 2-cell brainfuck is not TC; it seems that the halting problem is decidable for those, but it gets messy and I have no formal proof. What if we have 2 counters and a "landing field" that is always zero and cannot be modified (say, any attempt to do so would halt the program)?
12:10:08 <lambdabot> Consider it noted.
12:12:01 <slereah> I seem to recall that you need like 6 cells or so for TC brainfuck
12:12:45 <int-e> slereah: that's certainly too much
12:13:17 <slereah> Perhaps
12:13:22 <slereah> That is just vague recollection
12:16:58 <Jafet> 3-cell can simulate 2-counter machines, which are undecidable
12:20:42 -!- john_metcalf has quit (Read error: Connection reset by peer).
12:21:02 -!- john_metcalf has joined.
12:21:26 <int-e> I guess 4 cells are easy, 3 cells need work.
12:21:57 <Jafet> 3-cell is easy, 2-cell needs work
12:22:17 <Jafet> (I would not immediately rule out the possibility that 2-cell is undecidable)
12:24:43 <int-e> Jafet: The problem is that only innermost loops can have unbounded values in both counters, and they cannot communicate with loops outside (they terminate because one of the counters is zero, and you cannot even use the position of the pointer because there's no way to check it.)
12:32:22 <Jafet> Well, with 2 cells, any terminating inner loop takes (ma,b) to (0,b+na)
12:33:31 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
12:34:06 <b_jonas> my guess is that it's not known what the exact lowest number of cells is that's enough
12:38:21 <Jafet> Actually, it may be possible to simulate fractran
12:44:34 <Jafet> p/q ==> while(A) { if (A==1) { while(B) { A+=q, B-=p; } swap(A,B); } else if (A==2) ... else if (A==q-1) { ... } else A-=q, B+=p; }
12:45:50 <Jafet> That converts (A, 0) -> (0, pA/q) if q|A, otherwise (0, A)
12:46:32 <FreeFull> You could try writing a two-cell oracle and seeing if there are any inputs that could possibly have it provide the wrong anwer
12:46:35 <FreeFull> answer*
12:46:54 <FreeFull> If there aren't any, you know it's not turing-complete
12:47:11 <Jafet> That sounds like it will take a lot of seeing.
12:48:04 <FreeFull> You would have to find a way to cover all the cases
12:48:48 <FreeFull> Can you even do fibbonacci with just two cells?
12:48:49 -!- tromp has quit (Remote host closed the connection).
12:49:22 -!- tromp has joined.
12:49:33 <ion> https://www.eff.org/privacybadger
12:50:29 <Jafet> ^bf >+<[.[->+<]>.[-<+>]]
12:50:55 <Jafet> `which bf
12:50:55 <HackEgo> No output.
12:51:02 <Jafet> o kay
12:53:57 -!- tromp has quit (Ping timeout: 258 seconds).
12:57:03 <Jafet> ion: I should really just null-route all ad networks
12:57:11 <FreeFull> ~bf
12:57:14 <FreeFull> @bf
12:57:14 <lambdabot> Done.
12:57:25 <FreeFull> Done what?
13:00:30 <int-e> it has run the whole program
13:00:33 <Jafet> Hmm, it might be hard to write the conditionals with no extra space.
13:00:39 <int-e> @bf >+<[.[->+<]>.[-<+>]]
13:00:39 <lambdabot> Done.
13:00:44 <int-e> hmm.
13:01:01 <int-e> err, that won't produce any output
13:01:08 <Jafet> @bf >+[.[-<+>]>.[->+<]<]
13:01:09 <lambdabot> Done.
13:01:14 -!- Sorella has joined.
13:01:18 <Jafet> @bf +[]
13:01:23 <lambdabot> Done.
13:01:27 <int-e> @bf ++++[>++++<-]>{<++++>-]<.
13:01:27 <lambdabot> bf: Ix{Int}.index: Index (-1) out of range ((0,15))
13:01:33 <int-e> @bf ++++[>++++<-]>{<++++>-]>.
13:01:34 <lambdabot> bf: Ix{Int}.index: Index (-1) out of range ((0,15))
13:01:39 <int-e> @bf ++++[>++++<-]>[<++++>-]>.
13:01:39 <lambdabot> Done.
13:01:44 <int-e> @bf ++++[>++++<-]>[<++++>-]<.
13:01:45 <lambdabot> @
13:02:07 <int-e> oh. two spaces, that's odd.
13:02:22 <Jafet> @bf +[.+]
13:02:22 <lambdabot> !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij...
13:04:05 <int-e> @bf +[>+<+++]>.
13:04:05 <lambdabot> U
13:05:18 <FreeFull> Why did +[] terminate?
13:05:30 <Jafet> lambdabot was done with it.
13:05:38 <Jafet> (duh)
13:05:44 <FreeFull> And it still just prints Done. even for infinite loops?
13:05:52 <FreeFull> @bf .+[]
13:05:57 <int-e> because the brainfuck interpreter sets resource limiits
13:05:57 <lambdabot> Done.
13:06:01 <int-e> gets killed, without output.
13:06:05 <FreeFull> @bf +++++++++++++++++++++++++++++++++++++=.+[]
13:06:10 <lambdabot> Done.
13:06:14 <int-e> =?!
13:06:28 <Jafet> brainfuck+=
13:07:46 <FreeFull> I added the = accidentally
13:07:54 <FreeFull> Doesn't matter since it gets ignored
13:31:59 -!- edwardk has quit (Quit: Leaving...).
13:33:24 -!- edwardk has joined.
13:34:02 <b_jonas> @bf >+++++++++[->+>++++<<]>[->.+.+.+.+.+.+.+.+.+.+.+.+<]
13:34:02 <lambdabot> $%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn...
13:35:17 <b_jonas> `perl-e printf"%c",$_ for 32..127
13:35:18 <HackEgo> ​ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
13:38:50 -!- Melvar` has changed nick to Melvar.
13:39:49 -!- Frooxius has quit (Quit: *bubbles away*).
13:40:08 -!- nycs has changed nick to `^_^v.
13:43:57 -!- conehead has joined.
13:45:29 -!- Sprocklem has quit (Ping timeout: 245 seconds).
13:50:23 -!- Frooxius has joined.
13:56:01 -!- Patashu_ has quit (Ping timeout: 276 seconds).
14:12:34 -!- idris-ircslave has quit (Quit: Terminated).
14:12:57 -!- idris-bot has joined.
14:20:29 <Jafet> "EOF is a controversial issue. Many implementations return 0, some return -1, and several notable brainfuck programmers [...]" whoa notability
14:21:55 -!- yorick_ has joined.
14:23:19 -!- yorick has quit (Ping timeout: 276 seconds).
14:40:57 -!- Sprocklem has joined.
14:43:37 <slereah> The notabliest
14:43:46 <slereah> Also what do those several ones return!
14:44:25 -!- shikhout has joined.
14:47:25 -!- shikhin has quit (Ping timeout: 258 seconds).
14:53:30 -!- shikhout has changed nick to shikhin.
14:57:07 -!- yorick_ has changed nick to yorick.
15:06:21 -!- tromp has joined.
15:10:48 -!- tromp has quit (Ping timeout: 258 seconds).
15:27:31 -!- nycs has joined.
15:31:33 -!- `^_^v has quit (Ping timeout: 276 seconds).
15:37:28 <slereah> total heap usage: 666 allocs, 666 frees, 312,688 bytes allocated
15:37:31 <slereah> D: D: D:
15:41:57 -!- password2 has quit (Ping timeout: 240 seconds).
15:42:04 -!- nycs has changed nick to `^_^v.
15:45:02 <Bike> the freelist of the beast
15:46:30 <slereah> The things I had to do to plug those leaks~
15:46:37 <slereah> First born son and all tat
15:52:31 -!- tromp has joined.
15:56:45 -!- tromp has quit (Ping timeout: 240 seconds).
15:58:22 -!- drdanmaku has joined.
16:02:41 -!- slereah has quit (Quit: Leaving).
16:27:21 -!- MoALTz has joined.
16:32:05 -!- ^v has joined.
16:34:22 -!- john_metcalf has quit (Ping timeout: 258 seconds).
16:36:32 -!- password2 has joined.
16:42:32 -!- BlueProtoman has joined.
16:46:09 <BlueProtoman> So I'm trying to either prove or disprove that the language {M where M is a Turing machine that, given blank input, will write a non-blank symbol somewhere} is decidable. Can't I just have a Turing machine B that halts if M writes a non-blank and loops if not?
16:47:34 <Bike> yeah, but during the loop you might never know definitively that you can stop looping
16:49:29 <BlueProtoman> Would that make the language I specified undecidable?
16:50:03 <Bike> decidable means total, so, your recognizer needs to halt on all inputs, no?
16:50:26 <BlueProtoman> Yes.
16:50:55 <Bike> and your recognizer isn't going to halt on any M that doesn't halt and doesn't write a non-blank symbol
16:51:37 <BlueProtoman> Oh, I see. So the input M doesn't have to halt, it just has to write a non-blank symbol.
16:53:05 <zzo38> If it never writes a non-blank symbol then I would think an infinite loop is detectable?
16:53:19 <zzo38> (You can ignore the tape position)
16:53:52 <BlueProtoman> ?
16:53:55 -!- shikhin has quit (Remote host closed the connection).
16:58:37 <BlueProtoman> What do you mean, zzo38?
17:01:31 <Bike> zzo's saying that it's probably computable to see if a turing machine that never writes a non-blank symbol halts.
17:01:58 <zzo38> If the number of states is finite then you can look for a loop in the state considering that the symbol is first at blank, that it leads to one you have been on before when the written symbol is also blank.
17:03:33 <BlueProtoman> zzo38: So it's similar to solving the halting problem for FSMs?
17:04:46 <fowl> 313.9 - 101.77
17:04:50 <Bike> yeah, turing machines have "infinite states" because they can write all the symbols they want, but you're restricting that
17:04:51 <fowl> 313.9 - 101.77d1
17:05:05 <Bike> i forget enough about strict during machines to remember if you can do something weird with blanks in unary, though
17:05:46 -!- Slereah_ has joined.
17:07:03 <zzo38> If there is only one kind of blank symbol and the tape is infinite both ways then any tape position on a blank tape is the same as any other
17:07:29 <Bike> oh right, it starts out all blank.
17:07:39 <BlueProtoman> zzo38: But it *might* write a non-blank symbol.
17:08:10 <BlueProtoman> That's what I'm trying to prove; whether the language of all Turing machines that write a non-blank symbol given blank input is decidable.
17:08:31 <Bike> i imagine you can look at all states to see which can write a non-blank symbol, and see if any of those are reachable from the starting state on a blank tape
17:09:03 <BlueProtoman> OK, but what if we loop forever with blank input?
17:09:29 <Bike> once you've found no non-blank writing you're just dealing with an FSM
17:09:44 <zzo38> Bike: Yes, that is what I meant.
17:13:02 <BlueProtoman> So then what happens if I have a Turing machine B that takes some M as input, and halts iff it runs M and then M writes a non-blank symbol?
17:14:24 <BlueProtoman> Oh, I think I get it.
17:16:09 <BlueProtoman> The actual definition of L is L = { M where M is a Turing Machine which, when started with a blank input tape, will finally write some non-blank symbol on its tape.} Does that "finally" change anything?
17:18:02 <int-e> meaning "eventually"?
17:18:50 <int-e> (the other interpretation, though unlikely, is "in its last step".)
17:21:09 <BlueProtoman> I'm going to assume that the professor just means it'll write a non-blank symbol at some point, as opposed to halting on a non-blank symbol.
17:21:20 <int-e> Unfortunately, that detail changes the answer.
17:21:22 <BlueProtoman> Because I have other problems to do and this homework is due at midnight.
17:21:53 -!- b_jonas has quit (Ping timeout: 264 seconds).
17:22:02 <BlueProtoman> How does it change the answer?
17:22:08 <Bike> So then what happens if I have a Turing machine B that takes some M as input, and halts iff it runs M and then M writes a non-blank symbol? <-- like i said, that's not sufficient. you could have the machine that writes nothing and doesn't move but doesn't halt.
17:22:10 -!- Froox has joined.
17:23:04 -!- b_jonas_ has joined.
17:23:05 -!- Frooxius has quit (Read error: Connection reset by peer).
17:23:19 <BlueProtoman> This is my solution:
17:23:20 <BlueProtoman> Let L=\left\{ \string M|\mbox{\ensuremath{M} is a Turing machine that will write a non-blank symbol on its tape if the input is blank}\right\}
17:23:20 <BlueProtoman> . We will prove that L
17:23:20 <BlueProtoman> is decidable. Note that Turing machines have a finite number of states. Thus, they have a finite number of transitions of the form \delta\left(q,\square\right)
17:23:20 <BlueProtoman> . If, for a given M
17:23:22 <BlueProtoman> and q
17:23:24 <BlueProtoman> , we see \delta\left(q,\square\right)
17:23:26 <BlueProtoman> more than once before we write a non-blank symbol, then we know that M
17:23:29 <BlueProtoman> won't halt. So let's have a decider \decider L
17:23:30 <BlueProtoman> that takes some \string M
17:23:34 <BlueProtoman> as input and runs M
17:23:36 <BlueProtoman> on \varepsilon
17:23:38 <BlueProtoman> , and accepts if M
17:23:40 <BlueProtoman> writes a non-blank symbol and rejects if M
17:23:42 <BlueProtoman> is deduced to loop forever before writing a non-blank symbol. Hey, look, \decider L
17:23:44 <BlueProtoman> exists, thus L
17:23:44 <int-e> The real problem is this: a typical TM interpreter will put non-blank symbols on the tape.
17:23:46 <BlueProtoman> is decidable. \qed
17:23:48 <BlueProtoman>
17:23:50 <BlueProtoman> Oh, shit
17:24:22 <int-e> BlueProtoman: yes, you shouldn't have pasted it here, but that looks about correct.
17:24:41 <BlueProtoman> It's all the newlines that snuck in there.
17:25:05 <Bike> int-e: starting with blank input is part of the conditions, though
17:25:21 <int-e> ... hmm. or not. I'm not sure what you're doing at "o let's have a decider \decider L".
17:26:45 <int-e> Bike: The TM degenerates to a finite automaton or a single counter machine (depending on whether you can test for the left tape end or not) if it can't write (non-blank symbols) to the tape.
17:27:43 <Bike> yes?
17:27:52 <Bike> i mean i'm not sure what you meant by "the real problem"
17:28:39 <int-e> Bike: at that point I was assuming that we wanted to show that L is undecidable by the usual diagonalization. I probably misread something.
17:28:50 <Bike> oh.
17:28:53 -!- oerjan has joined.
17:29:38 <BlueProtoman> How does M *writing a non-blank then halting* change the answer?
17:30:22 <int-e> BlueProtoman: as I meant it it would allow M to also write non-blank symbols at other times, only the final write would count.
17:30:55 <BlueProtoman> int-e: OK, would that affect decidability, then?
17:31:12 <BlueProtoman> Actually, maybe it wouldn't.
17:31:40 <BlueProtoman> Actually, it would.
17:31:50 <int-e> BlueProtoman: obviously. Just take any turing machine and make sure it writes a non-blank symbol in its halting state.
17:32:08 <int-e> (introducing a new halting state in the process)
17:32:14 <BlueProtoman> Yeah. If you wanna be pedantic, check the cells immediately to its left and right.
17:32:23 <BlueProtoman> But what happens if you don't halt?
17:32:35 <int-e> then there won't be a final step
17:32:55 <int-e> hence no non-blank symbol written in the final step
17:33:04 <BlueProtoman> You'd have to solve the halting problem, though, since now you're not limited to what's effectively an FSM.
17:33:15 <int-e> yes.
17:33:22 <int-e> that was the point
17:33:58 <int-e> @yell oerjan HI!
17:33:58 <lambdabot> Consider it noted.
17:35:15 <oerjan> @messages-LOUD
17:35:15 <lambdabot> Unknown command, try @list
17:36:01 -!- Sprocklem has quit (Quit: School labs/lunch).
17:36:02 <oerjan> @messages-yold
17:36:03 <lambdabot> int-e said 5h 25m 54s ago: I can believe that 2-cell brainfuck is not TC; it seems that the halting problem is decidable for those, but it gets messy and I have no formal proof. What if we have 2 counters and a "landing field" that is always zero and cannot be modified (say, any attempt to do so would halt the program)?
17:36:03 <lambdabot> int-e said 19m 23s ago: (Re: 2-cell brainfuck) I found the following refinement of the insight that loops terminate with zeros helpful: At each point outside of innermost loops, one of the counters is bounded by a constant.
17:36:03 <lambdabot> int-e said 2m 4s ago: HI!
17:36:39 <BlueProtoman> OK, problem 4 solved. 5 more to go.
17:36:59 <oerjan> yold is past participle of yell, right?
17:39:04 <Bike> ye old
17:40:03 <oerjan> int-e: ah yes. i recall thinking about that constant thing. except that it's almost decidable _exactly_ which constant. at least in some spots.
17:40:32 <BlueProtoman> Now I'm trying to prove that you can simulate a 2-stack machine with a 4-counter machine (or vice versa). P2 is the 2-stack PDA and C4 is the 4-counter Lambek machine. This is my proof: http://i.imgur.com/aNDr8BE.png Any thoughts?
17:40:37 <Bike> the language of turing machines that halt and write some certain output at the same time is fairly obviously undecidable so your prof probably didn't mean that, but you might want to mention the ambiguity
17:40:52 <oerjan> but there's some branching possible when you return to the beginning of a loop.
17:41:08 <BlueProtoman> Bike: Yeah, I just went ahead and did that.
17:41:47 <Bike> BlueProtoman: c1 and c2 are stack pointers, c3 and c4 are godel-encoded stacks? makes sense to me. you might be able to reduce the time complexity by using a less dumb coding but you're just being asked about decidability, so
17:42:30 <BlueProtoman> Bike: Strictly speaking, the problem is this: "Compare the running time (i.e., number of steps) of the following equivalent machines: (c) two-stack machine and a four-counter machine."
17:42:46 <Bike> oh. that's an odd question.
17:43:14 <BlueProtoman> Yeah, I clarified it. He said to just describe what it would take to simulate one with the other. We're given that they're Turing-equivalent, at least.
17:43:23 <Bike> oh, well alright.
17:43:23 <BlueProtoman> *Yeah, I had the professor clarify it.
17:43:35 <Bike> you could use a prefix coding or something for the stacks, then. don't need no stinkin primes.
17:43:59 <BlueProtoman> Prefix coding?
17:44:16 <Bike> a code where no codeword is a prefix of another codeword
17:44:31 <Bike> like, if your alphabet is AB, you could encode A -> 1, B -> 01, end of stack -> 00
17:44:56 <Bike> really the prefix isn't necessary, you can just use a block code, eh.
17:45:42 -!- Phantom_Hoover has joined.
17:45:46 <oerjan> pretty sure you can simulate two stacks with 3 counters pretty easily, without even gödel encoding, just base representation.
17:45:57 <Bike> so say A -> 11, B -> 01, end of stack -> 00, then it's obviously linear to get somewhere on the stack.
17:46:12 <oerjan> because the two stacks can share their "temporary" storage counter
17:46:21 <Bike> and increment and decrement of the stack pointer are just increment and decrement.
17:46:34 <Bike> the thing about godel coding is that it makes sense mathematically but it's really fucking dumb practically speaking :V
17:47:00 <oerjan> with gödel encoding you only need 2 counters, of course.
17:47:19 <BlueProtoman> So I'd use Godel encoding for simulating 2 counters with 2 stacks (or vice versa)?
17:48:19 <oerjan> also a stack doesn't need a pointer. you just pop off the top hth
17:48:32 <BlueProtoman> Bike: What if the stacks have more than one unique symbol each?
17:48:34 <Bike> oh. uh. right
17:48:45 <Bike> well i guess i gave you two RAMs then
17:48:50 <Bike> BlueProtoman: what?
17:48:56 <oerjan> no, with 2 stacks you just use them as a turing tape, and use something simpler than gödel.
17:49:05 <oerjan> like, interleaved binary
17:49:52 <oerjan> the prime number stuff is really only needed to get down to 2 counters.
17:49:55 <int-e> oerjan: apparently there is a separate input stream.
17:50:12 <int-e> oerjan: that's how we arrived at 4 counters yesterday.
17:50:20 <oerjan> oh?
17:50:32 <oerjan> ok then.
17:50:39 <BlueProtoman> I gave a second counter for the input because, well, the counters themselves give input.
17:50:52 <BlueProtoman> Where else would I encode the input to the 2-stack PDA?
17:50:56 <int-e> otherwise I agree with 3 of course.
17:51:07 <int-e> BlueProtoman: initial contents of one of the stacks
17:51:35 <Bike> welp it's official, never not going to read PDA as PDE
17:51:46 <BlueProtoman> int-e: I can do that?
17:52:03 <Bike> you can do anything, if only you believe in yourself
17:52:04 <int-e> BlueProtoman: it depends on your definitions, obviously.
17:53:54 <BlueProtoman> So let's go back to 2 stacks, 2 counters. I can simulate the counters with stacks easily, just have an alphabet of two symbols, and push one symbol only to c1, and one symbol only to c2. I could Godel-encode the input as a really big monosymbol stack. But what about the jump-if-zero instruction?
17:54:17 <oerjan> <slereah> I seem to recall that you need like 6 cells or so for TC brainfuck <-- SOME OF US HAVE MADE LATER PROGRESS HTH
17:54:35 <oerjan> ^wiki Collatz_function
17:54:46 <oerjan> fizzie!!!!!
17:55:05 <oerjan> http://esolangs.org/wiki/Collatz_function
17:57:30 <oerjan> BlueProtoman: jump-if-zero becomes jump-if-stack-empty? i don't see the problem...
17:58:15 <oerjan> if you don't have stack-empty testing, add a special bottom symbol, i guess.
17:59:30 <oerjan> wait do you need different symbols for c1 and c2, anyhow
17:59:55 <BlueProtoman> oerjan: OK, but where do I jump to?
18:00:05 <BlueProtoman> oerjan: Oh, wait, this becomes the problem of the states, not the stack.
18:00:35 <oerjan> yes, you have nearly the same underlying FSA in both cases, i should think
18:00:48 <oerjan> just a little different interpretation of what the transitions mean
18:01:51 <BlueProtoman> OK, that makes sense.
18:02:10 <BlueProtoman> Each instruction in a CM roughly corresponds to a state in a FSM?
18:02:58 <oerjan> int-e: Jafet: simulating fractran is precisely what that link does for 3-cell bf.
18:03:09 <oerjan> in case any of you haven't seen it yet.
18:03:31 <oerjan> hm Jafet seems idle
18:04:22 <oerjan> BlueProtoman: yeah.
18:05:04 <BlueProtoman> Awesome. Thanks. Three problems to go.
18:05:05 <oerjan> it's just a matter of representation whether you write things down as something assembly like or as a big table of state transitions + commands.
18:05:41 <oerjan> of course your professor presumably has chosen one such representation for you.
18:05:49 <BlueProtoman> So assembly is closer to CS-theoretic abstract machines than, say, Java?
18:06:02 <oerjan> depends on the assembly :P
18:06:15 <Bike> there's always vax's eval poly instruction
18:06:36 <oerjan> SUBLEQ assembly is pretty darn abstract
18:07:55 <oerjan> @tell Jafet simulating fractran is precisely what http://esolangs.org/wiki/Collatz_function does for 3-cell bf.
18:07:56 <lambdabot> Consider it noted.
18:09:28 <oerjan> @tell Jafet and it took some munging to get that to fit. i don't think 2-cell can work.
18:09:28 <lambdabot> Consider it noted.
18:14:22 <oerjan> @tell Jafet note that your if ... else if construction can easily require 4 cells if you are not very careful. (and swap needs 3 anyway.)
18:14:23 <lambdabot> Consider it noted.
18:32:22 <fizzie> Uh.
18:32:41 <fizzie> No 'got?
18:34:33 -!- fungot has joined.
18:34:51 <fizzie> This is a bit hard with only a tablet thing.
18:35:01 <fizzie> (I'm at a conference, I only took this thing with me.)
18:35:14 <fizzie> Hello from Florence, Italy, anyway.
18:36:40 <oerjan> Buona sera!
18:37:32 <fizzie> There was a bottle of olive oil in the conference bag.
18:38:23 <oerjan> smooth
18:43:32 <Taneb> :O
18:43:39 -!- zzo38 has quit (Remote host closed the connection).
18:44:04 <Taneb> Today I am going to use the Haskell FFI!
18:45:25 <oerjan> finally you get the chance to make ghc segfault!
18:45:35 <Taneb> Oh, I've done that already.
18:45:45 <Taneb> You remember my factorial calculator?
18:45:55 <oerjan> um...
18:46:09 <Taneb> The one written in pure, (<*>), and unsafeCoerce?
18:46:18 <oerjan> oh right
18:46:29 <FireFly> unsafeCoerce?
18:46:44 <oerjan> unsafeCoerce does tend to be risky
18:46:44 <FireFly> I'm oddly curious how that works out
18:47:54 <int-e> yay, I'm done! foreign import ccall "math.h sin" csin :: CDouble -> CDouble
18:48:01 <oerjan> FireFly: iirc Taneb used it as I in ski calculus, because haskell cannot type the usual tricks used for recursion in ski calculus but unsafeCoerce brutally circumvents the typing
18:48:12 <Taneb> Yeah, that's right
18:48:22 <oerjan> pure is K and (<*>) is S btw
18:48:24 <Taneb> It was incredibly slow, and only worked up to 11
18:48:29 <Taneb> After that it crashed
18:48:37 <oerjan> heh
18:48:57 <ion> unsafeCoerce is I
18:49:13 <FireFly> Ah
18:49:31 <ion> Oh, that was already said. Should have looked at more than the last four lines.
18:49:39 <oerjan> YES YOU SHOULD
18:50:13 <ion> OH, YOU AGREE?
18:50:41 <oerjan> although hm, i don't think you can actually cause a segfault _purely_ with those three, can you?
18:50:57 <Taneb> I think I did when I was working it out
18:51:13 <Taneb> Like, when I had got it wrong
18:51:18 <oerjan> since there would always be corresponding to a lambda term
18:51:22 <oerjan> *it
18:51:59 <oerjan> of course you applied it to something to get numbers didn't you, at that point things can go wrong
18:52:26 * int-e still doesn't know whether one can implement unsafePerformIO with unsafeCoerce and IO's (>>=) in a way that works across platforms and in conjunction with garbage collection
18:53:24 -!- SerialDreamer has joined.
18:53:46 <SerialDreamer> Hello
18:53:59 <oerjan> !welcome SerialDreamer
18:54:01 <EgoBot> SerialDreamer: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/wiki/Main_Page>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
18:54:11 <fowl> why are monads needed for IO?
18:54:13 <int-e> (the handling of the realWorld# token is slightly magical)
18:54:24 <int-e> fowl: that's a myth.
18:54:32 <Bike> they're not needed, they just make it easier
18:54:41 <int-e> fowl: the monadic IO interface is just convenient
18:54:47 -!- SerialDreamer has left.
18:54:53 <oerjan> fowl: it's just the most convenient pattern to enforce ordering of side effects
18:55:33 <fowl> the diff is like printf(file, "str") vs cout << "hello " << there ?
18:55:42 <fowl> cout << being the monandic version
18:56:13 <oerjan> i want to say "wat" but i'm not _entirely_ sure that analogy is nonsense.
18:56:48 <Bike> it's pretty nonsense
18:56:49 <FireFly> I think that would be more akin to >>= etc vs. do-notation
18:57:23 <fowl> oerjan, well from what i read monad is like a transformation on a value, ofstream's << doesnt transform the ofstream, but it does return it to allow chaining
18:57:42 <int-e> it's half a state monad then
18:57:45 <Bike> i just remembered that if make a burrito joke i will be banned
18:57:46 <int-e> but it misses the return value.
18:58:07 <int-e> Bike: oh?!
18:58:38 <int-e> Bike: Does this apply to just you or is that a general rule?
18:58:46 <fowl> haskell confuses me so much. im pretty sure its either a big inside joke _or_ haskellers just love self-flagellation
18:58:57 -!- ChanServ has set channel mode: +o oerjan.
18:59:01 <FireFly> What about it confuses you?
18:59:43 <Bike> well, let's test
18:59:57 <int-e> fowl: if this is about monads, forget that you ever heard the term and simply use 'do' notation for doing I/O. that should get you pretty far.
19:00:26 <fowl> why can functions only take one argument? whats the deal with returning functions to get around this, surely there is overhead in creating closures
19:00:55 <oerjan> fowl: ghc doesn't allocate closures if a function is fully applied
19:01:05 <oerjan> it tries to be reasonably smart about this.
19:01:23 <int-e> fowl: ah but we like to think of it differently. a function takes n arguments, but we can apply it partially, giving only 1,..., up to n of the arguments and leaving the rest for later.
19:01:40 <int-e> fowl: and indeed ghc also implements it that way.
19:01:47 <Bike> IO is like a burrito. an IO Int is a burrito full of delicious ints, but we can't eat it "until the haskell program has been reduced", which in the metaphor means who cares. sometimes you want to mash up two burritos, like an IO Int and an IO String, to get you something that lets you eat an int first and then a string. it also so happens that this mashup operation is nice to generalize to other foods, so, we package up these ...
19:01:53 <Bike> ... operations in an API and call it "monad" because we hate leibniz but love burritos
19:02:15 <int-e> Bike: this would explain why ghc is so ... large.
19:02:23 -!- oerjan has kicked Bike You forgot the jalapeños.
19:02:29 -!- oerjan has set channel mode: -o oerjan.
19:02:34 -!- Bike has joined.
19:02:43 <Bike> i really should have eatne lunch before putting that together
19:03:13 <FireFly> Then maybe you wouldn't've forgotten the jalapeños
19:03:54 <Bike> i'm not gonna eat some fucking shitass pepper
19:05:31 <fowl> meh
19:05:42 <fowl> it just seems like more of a badge of honor than a useful thing
19:06:47 <int-e> it's the Haskell cabal.
19:06:51 <Bike> man, i don't even use haskell and i can see why you'd generalize this. it's basic design principles.
19:07:27 <int-e> (*that*'s an inside joke. A weak one, but still.)
19:07:46 <oerjan> int-e: there is no cabal.
19:07:58 <int-e> oerjan: Cabal then. And cabal-install.
19:08:04 <oerjan> (that's an extremely _old_ inside joke)
19:08:07 <shachaf> whoa, remember that one story by heinlein
19:08:19 <int-e> oerjan: I may be too young for it.
19:08:23 <shachaf> "If This Goes On—"
19:08:37 <oerjan> int-e: it goes back to the Usenet age.
19:08:53 <Bike> which one is that? i remember the title
19:08:59 <shachaf> the one with the cabal
19:09:08 <shachaf> there was a prophet or something
19:09:46 <int-e> oerjan: Ah. I remember usenet, but I wasn't very active there (and really only in its german subpart anyway, where TINC wouldn't make much sense. (I found a wikipedia page on the subject))
19:10:06 <Bike> looks like i never read it
19:10:13 <oerjan> TINC. HTH. HAND.
19:10:47 * int-e should know better and write "Usenet" and "subhierarchy".
19:10:56 <int-e> anyway.
19:11:17 <ion> fowl: Haskell supports a single tuple of arguments just fine, but it's pretty convenient to be able to apply a function partially without jumping through hoops.
19:11:50 <ion> which currying enables
19:13:34 <oerjan> what does jalapeñoing enable, i wonder.
19:14:06 <ion> Python: map(lambda ys: map(f, ys), xs). Haskell: map (map f) xs
19:16:13 <Bike> hm, does python not have apply
19:16:22 <oerjan> also, haskell supports tuples with more than two elements rather awkwardly.
19:17:06 <oerjan> possibly by design, to discourage using them as ersatz datatypes.
19:17:11 <Bike> 'cos (define (curry f x) (lambda (ys) (apply f (list* x ys)))) and then (map (curry map f) xs)
19:17:29 <Bike> i guess you can call that a hoop but it's not much of one.
19:17:39 <fowl> the page i read about haskell tuples looked like its very flimsy, in a tuple of 2 (_ x _) matches the second item, without an error? what if you tried (_ _ x), would it just fail to match?
19:17:57 <fowl> s/flimsy/forgiving/
19:18:14 <oerjan> fowl: you've missed the commas
19:18:26 <fowl> probably
19:18:30 <fowl> i was drunk too
19:18:30 <oerjan> otherwise it would match the third item
19:18:49 <FireFly> "a tuple of 2"?
19:18:50 <fowl> oerjan, there is no third item in (1,2)
19:19:01 <FireFly> (_, x, _) wouldn't match (1,2) I'm pretty sure
19:19:03 <Bike> > (\(_,x,_) -> x) (3,4,5)
19:19:04 <lambdabot> 4
19:19:09 <Bike> Huh.
19:19:13 <FireFly> Mostly because they have different types
19:19:13 <Bike> no, wait, duh.
19:19:14 <oerjan> fowl: in that case neither would match, the pattern needs to have the same number of commas
19:19:16 <Bike> > (\(_,x,_) -> x) (3,4)
19:19:17 <lambdabot> Couldn't match expected type ‘(t0, t, t1)’
19:19:17 <lambdabot> with actual type ‘(t2, t3)’
19:19:19 <Bike> right.
19:19:20 <ion> > let (_, x, _) = ("compile", "error") in x
19:19:21 <lambdabot> Couldn't match expected type ‘(t0, t2, t1)’
19:19:21 <lambdabot> with actual type ‘([GHC.Types.Char], [GHC.Types.Char])’
19:19:21 <lambdabot> Relevant bindings include x :: t2 (bound at <interactive>:1:9)
19:19:28 <fowl> let me see if i can find the page i was reading
19:21:05 <fowl> https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/Simple%20examples#tuples
19:21:35 <Bike> that uses fst and snd for the 2-tuple, not the first and second it defines
19:21:44 <fowl> i see that now >_>
19:21:58 -!- AnotherTest has joined.
19:22:01 <fowl> i was drunk
19:22:04 <fowl> last night <)<
19:22:16 <kmc> good
19:22:19 <oerjan> gah fpcomplete is so heavy
19:23:21 <ion> oerjan: Hah, i just noticed the same thing when opening the link with my phone.
19:23:30 <Bike> clearly there should be a ThingYouCanTakeFirstOf typeclass with instances for (,) and (,,)
19:23:57 <kmc> there is a library for that
19:24:03 <Bike> of course
19:24:16 <FireFly> > (1,2,3) ^. _1
19:24:17 <lambdabot> 1
19:25:34 <BlueProtoman> Let's say I have a Turing machine that can only write to a given cell once (including the part of the tape the input's on). I want to prove that this is still Turing-equivalent. If the input is w, and I write to, say, the 2nd cell, next time I want to write to it can I go to the |w| + 2nd cell instead, and the time after that the 2*|w| + 2nd cell, etc.?
19:26:47 <Bike> that gives you a working area limited to the size of the input, no?
19:27:19 <ion> oerjan: The browser tab gets stuck for over a minute when loading that page.
19:27:20 <BlueProtoman> Hm, true...
19:28:33 <oerjan> ion: yeah and then i have to press return in the address line for it to relocate to the actual anchor which has been completely shifted away by all the expanding stuff
19:28:38 <myname> what sorcery is ^.
19:28:40 <ion> bike: IIRC Idris has sugar where (x, y, z) = (x, (y, z)). That seems nice to me.
19:28:51 <Bike> myname: lens
19:29:50 <BlueProtoman> Bike: What if every time I write in cell n, I splice in another tape (thus pushing every non-blank symbol to the right one cell, starting from the left; i.e. XXX -> X_XX -> X_X_X)
19:30:21 <Bike> i'm gonna go see if i can't find a burrito to eat
19:30:49 <kmc> why stop there, eat a whole burro
19:31:10 <ion> I feel a monad joke coming.
19:31:17 <BlueProtoman> Oh, hm, no, that's writing more than once...
19:32:09 <kmc> mo 'nads mo problems
19:35:25 <shachaf> kmc: do you still eat burritos every day
19:36:58 -!- MindlessDrone has quit (Ping timeout: 240 seconds).
19:37:59 <kmc> not quite
19:38:12 <kmc> also feliz cinco de mayo everyone
19:39:19 -!- KingOfKarlsruhe has joined.
19:46:38 <Bike> bad news i had pizza
19:46:49 <Bike> someone explain how lenses are like pizza
19:47:59 <FireFly> Well both are round
19:48:20 <shachaf> i think lenses hit your eye in a similar fashion to a big pizza pie, or something along those lines
19:48:24 <shachaf> maybe i've got it wrong
19:48:31 <Taneb> I had too much of them both yesterday
19:48:36 <kmc> void nsHtml5TreeBuilder::MaybeComplainAboutCharset(...)
19:49:22 <kmc> 420 complain about charset everyday
19:49:38 <Bike> well i only had a few slices, not the whole round
19:49:51 <Taneb> It's increasingly clear that I don't know enough C to use Haskell's FFI
19:49:54 <shachaf> Bike: the slices you ate are like a lens from the whole pizza
19:49:57 <shachaf> or maybe a traversal
19:50:05 <shachaf> or a fold. did you fold your pizza.
19:50:12 <Taneb> I folded my pizza
19:50:24 <Taneb> But then I had two slices at once
19:50:32 <FireFly> So what is the parallel of a prism in this analogue?
19:50:45 <Taneb> Lasagne
19:50:51 <FireFly> oh.
19:50:52 <oerjan> your puns needs some review.
19:50:56 <oerjan> *-s
19:51:05 -!- MindlessDrone has joined.
19:54:50 <kmc> what are your FFI troubles Taneb?
19:55:34 -!- Sprocklem has joined.
19:55:58 <Taneb> kmc, basically, I don't know C
19:56:43 <Bike> http://animalnewyork.com/2014/artists-notebook-ramsey-nasser/ this is neat
19:56:51 <kmc> ah
19:56:54 <kmc> knowing C considered useful
19:58:24 <Taneb> I was thinking about something I wanted to do, and thought "this would actually be easier with pointers and mutability"
19:58:40 <Taneb> Already written a good deal of the program in Haskell and don't want to rewrite it
19:59:50 <Taneb> But like, if I implement this queue as a doubly-linked-list I can remove things from the middle really easily
19:59:50 <FireFly> I should learn to actually *use* Haskell for something
20:00:08 <Bike> prove the four color conjecture with the type system
20:00:45 -!- quintopia has quit (Ping timeout: 252 seconds).
20:00:49 <Taneb> https://github.com/Taneb/webqueues/blob/master/Main.hs is the code I've written so far
20:01:27 <Taneb> getUUID is poorly named and documented
20:02:10 <Taneb> I guess I could make it ContT () ActionM UUID
20:02:41 <Taneb> But that'd make everything else awkward?
20:03:35 <Bike> define TanebUUIDThing = ContT () ActionM, problem solved
20:03:45 <Taneb> :P
20:05:08 <Taneb> getAction doesn't get an action but rather is the action to be performed on a GET request
20:12:32 <Taneb> Anyway, I'm heading out
20:13:41 -!- b_jonas_ has changed nick to b_jonas.
20:17:33 -!- `^_^v has quit (Ping timeout: 240 seconds).
20:19:21 -!- password2 has quit (Ping timeout: 252 seconds).
20:19:58 -!- nycs has joined.
20:20:05 -!- nycs has changed nick to `^_^v.
20:34:00 <kmc> hmm Rust sort of has an overloadable assignment operator now: http://static.rust-lang.org/doc/master/std/clone/trait.Clone.html#method.clone_from
20:34:09 <kmc> bot not really
20:35:31 -!- MindlessDrone has quit (Quit: MindlessDrone).
20:38:02 -!- nucular has quit (Quit: Excess Food).
20:39:13 <BlueProtoman> Let's say I have a language L = {M is a Turing machine that halts on all words w in L(aa*)}, and I need to prove that it's undecidable. Can't I just define a Turing machine T that takes in another Turing machine H, and H's input h, and halts if H doesn't halt and stops if H does?
20:39:39 -!- AnotherTest has quit (Ping timeout: 276 seconds).
20:40:27 -!- ter2 has joined.
20:51:42 -!- Slereah has joined.
20:55:02 -!- Slereah_ has quit (Ping timeout: 258 seconds).
21:01:45 -!- Patashu has joined.
21:08:15 -!- Patashu_ has joined.
21:08:15 -!- Patashu has quit (Disconnected by services).
21:10:26 -!- boily has joined.
21:20:36 -!- Sprocklem has quit (Ping timeout: 276 seconds).
21:23:54 -!- Patashu_ has quit (Ping timeout: 240 seconds).
21:24:04 <boily> Taneb: Tanelle. are you asleep?
21:32:36 -!- BlueProtoman has quit (Read error: Connection reset by peer).
21:38:54 -!- BlueProtoman has joined.
21:40:16 <olsner> kmc: all that's left is to desugar = into clone_from calls?
21:40:35 -!- oerjan has quit (Quit: Narght).
21:44:41 -!- john_metcalf has joined.
21:46:14 -!- contrapumpkin has joined.
21:48:37 <kmc> yeah I think that will never happen, though, thankfully
21:48:58 <kmc> I mean we don't insert implicit clone() calls anyway
21:49:06 <kmc> only POD can be implicitly copied
21:50:01 -!- copumpkin has quit (Ping timeout: 252 seconds).
21:53:03 -!- Sgeo has joined.
21:53:22 <olsner> it's weird, my toy program in rust went fairly well and I thought rust was great, but now I'm trying to do something real (porting the microkernel I was working on) and rust is complaining a lot about my code and nothing works
21:53:49 -!- `^_^v has quit (Ping timeout: 250 seconds).
21:56:59 <olsner> but it's great that function-sections etc is working in rust now, I read an old thread that implied it would never ever be supported in rust for silly reasons
21:59:48 <kmc> oh that's nice
22:02:59 <olsner> otoh, with LTO I think it's theoretically possible to get better results in a single section
22:10:15 <olsner> oh, and I found a way to optimize away the stack checks - I just sed 's/ "split-stack"//' on the LLVM output
22:17:12 <kmc> heh
22:23:30 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.90.1 [Firefox 29.0/20140421221237]).
22:27:31 <kmc> take refuge in clean living
22:27:50 <Melvar> Omfg I finally got firefox running right again.
22:28:53 <Melvar> It took me embarassingly long to remember that a cranky firefox should be started in safe mode first.
22:29:42 <Sgeo> I'm losing it
22:30:12 <Sgeo> Was looking at the latest Onion cartoon, and wondering why the turtle (tortoise?) was saying a hand. Turned out to be my cursor
22:30:54 <olsner> saying a hand?
22:31:51 <Sgeo> There was a speech bubble, and I thought there was a pointing hand in it
22:32:28 <olsner> which finger was the hand pointing?
22:36:19 <Sgeo> Index
22:37:24 <olsner> kmc: is kmc in #rust also you?
22:38:18 <kmc> yes
22:41:35 <FreeFull> I don't see why he wouldn't be
22:41:46 <FreeFull> kmc is the only true kmc
22:41:53 <kmc> `coins
22:41:55 <HackEgo> catinecoin equaicoin chanocoin cabracoin licecoin pringcoin blocoin .coin parereacoin jumacoin zubanquixcoin sqirrisingcoin cripplithcoin bankingperlcoin rposiscoin liecoin wikacoin cuccoin ted!coin oraocumcoin
22:42:10 <kmc> those are some good coins
22:42:22 <FreeFull> Especially licecoin and liecoin
22:42:47 <olsner> bankingperlcoin might be the best
22:45:52 <FreeFull> Dark blue is hard to read on black
22:46:15 <olsner> it's light blue here
22:51:34 <FreeFull> Not here
22:51:42 <tromp_> is cuccoin hinting at Cukoo Cycle for proof-of-work?
22:51:53 <tromp_> Cuckoo Cycle i mean
22:52:17 <olsner> `coins --german 20
22:52:19 <HackEgo> afsignalcoin parzrhythmecoin repartungcoin vorschromgebotstrecoin bilderlandcoin erenblatcoin kursabsetzcoin pensivocoin bammenhanencoin lacederbandecoin panomeräthemincoin modecoin bayentgedrincoin theitercoin reitsdiencoin herungsordnungcoin mannzungcoin seitcoin allycoin ingesorgeco
22:52:54 <olsner> ingesorgeco?
22:52:57 <kmc> german words are too long, it got cut off
22:53:08 <olsner> damn german
22:53:33 <Taneb> boily, I was at the pub
22:53:53 <olsner> hmm, I should go so I have time to sleep before I get up
23:01:05 <boily> Taneb: same thing.
23:03:42 <Taneb> I am pretty sure I was awake
23:07:13 <boily> OKAY
23:07:47 -!- BlueProtoman has quit (Quit: Leaving).
23:09:29 <FreeFull> `coins --polish 10
23:09:30 <HackEgo> sankizowałybycoin fularomowiłbycoin uszegijskiewrcoin ukowacoin nieopadorszczcoin lokatnowymcoin obnychizującacoin reptyczamicoin uczarżanecoin przeczkocoin
23:09:44 <FreeFull> `coins --finnish 10
23:09:45 <HackEgo> suomallansacoin huonomillännecoin säilemilleecoin hillannecoin yltymännecoin käsicoin putoimastacoin osuvaltammecoin heijailläcoin miekkaltanicoin
23:15:04 <Melvar> `coins --lojban 10
23:15:05 <HackEgo> Unknown option: lojban
23:17:23 -!- MoALTz_ has joined.
23:19:01 <Taneb> boily, did you want to ask me something?
23:19:51 -!- MoALTz has quit (Ping timeout: 252 seconds).
23:24:58 <boily> Taneb: not "ask" anything. I just wanted to say that I slept during the day to an Idiosyncratic Schedule Sleep Expert.
23:27:21 <Taneb> Ooooh
23:27:25 <Taneb> Sounds fancy
23:28:56 -!- yorick has quit (Remote host closed the connection).
23:52:29 -!- edwardk has quit (Quit: Computer has gone to sleep.).
←2014-05-04 2014-05-05 2014-05-06→ ↑2014 ↑all