00:00:27 i think it is impossible to force order in general unless your string starts with a special position marker. 00:00:32 Ah... I see. 00:01:00 Like my BF or MNNBFSL thue interpreter would by necessity be deterministic. 00:01:19 Didn't think of that at all. 00:01:27 -!- zzo38 has joined. 00:03:47 Great! then I can use a deterministic implementation of Thue to implement my Markov Alg BCT code. 00:09:01 -!- oren has joined. 00:35:36 AndoDaan: You could classify a (deterministic) Turing machine to be a deterministic string-rewriting thing, if you consider the tape as a string (with the position of the head indicated as a special symbol, carrying the state along), and the transition function a set of rewrite rules. 00:35:45 As in, you have state set Q and tape alphabet T, so think of rewriting a (Q union T)*, and if there's a transition (q, t) -> (q', t', Right) then let there be a rewrite rule from "q t" to "t' q'" and so on. 00:35:50 (Add some seasoning to make the tape grow as necessary.) 00:38:45 Yeah. Watching the code running, it looks like it too. The whole sweeping back and forth looks familiar too. 00:40:34 I first thought that Tag systems were closer to what string wrting is, but I'm realizing that's wrong. 00:42:45 And now I'm realizing that I still won't be able to extend the esointerpreters chain. 00:43:15 DDammit, what dthe hell is Zetaplex anyway? 00:45:18 -!- Tritonio has quit (Ping timeout: 276 seconds). 01:17:19 -!- hjulle has quit (Ping timeout: 245 seconds). 01:20:57 `danddreclist 62 01:20:58 danddreclist 62: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex 01:29:08 -!- AndoDaan has quit (Quit: Off to find the mythical clitoris.). 01:43:57 -!- MDude has quit (Ping timeout: 256 seconds). 01:43:58 -!- nisstyre has quit (Ping timeout: 256 seconds). 01:43:58 -!- oerjan has quit (Ping timeout: 256 seconds). 01:43:59 -!- aloril has quit (Ping timeout: 256 seconds). 01:43:59 -!- lifthrasiir has quit (Ping timeout: 256 seconds). 01:44:00 -!- q3k has quit (Ping timeout: 256 seconds). 01:44:00 -!- olsner has quit (Ping timeout: 256 seconds). 01:44:01 -!- Deewiant has quit (*.net *.split). 01:44:02 -!- MDream has joined. 01:44:03 -!- oerjan_ has joined. 01:44:04 -!- oerjan_ has changed nick to oerjan. 01:44:04 @ping 01:44:05 pong 01:44:05 something tells me glogbot isn't quite well 01:44:05 -!- olsner_ has joined. 01:45:32 -!- aloril has joined. 01:45:34 -!- q3k has joined. 01:45:35 -!- nisstyre has joined. 01:46:19 -!- lifthrasiir has joined. 01:50:37 -!- nortti has quit (Ping timeout: 256 seconds). 01:50:37 -!- adu has joined. 01:50:38 -!- Deewiant has joined. 01:50:38 -!- nortti_ has joined. 01:56:43 oerjan: How is that? 01:57:30 zzo38: the log wasn't up to date 01:57:40 -!- oren has quit (Ping timeout: 264 seconds). 01:58:59 -!- oren has joined. 02:13:20 -!- MDream has changed nick to MDude. 02:19:05 -!- shikhin_ has joined. 02:22:16 -!- shikhin has quit (Ping timeout: 264 seconds). 02:37:45 -!- oerjan has quit (Quit: Najt). 02:45:11 -!- copumpkin has joined. 03:02:18 -!- nys has quit (Quit: quit). 03:46:31 [wiki] [[Special:Log/newusers]] create * Bradenbest * New user account 04:15:46 [wiki] [[Totally Accurate Malbolge]] N http://esolangs.org/w/index.php?oldid=41783 * Bradenbest * (+1670) Created page 04:16:53 [wiki] [[User:Bradenbest]] N http://esolangs.org/w/index.php?oldid=41784 * Bradenbest * (+58) started user page 04:20:05 [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=41785&oldid=41563 * Bradenbest * (+43) /* General languages */ 04:47:19 [wiki] [[Totally Accurate Malbolge]] M http://esolangs.org/w/index.php?diff=41786&oldid=41783 * Bradenbest * (+14) added name 05:39:32 -!- adu has quit (Quit: adu). 05:44:17 -!- adu has joined. 05:47:47 -!- GeekDude has quit (Quit: ZNC - http://znc.in). 06:03:41 -!- adu has quit (Quit: adu). 06:07:38 -!- ProofTechnique has joined. 06:12:44 -!- J_Arcane has quit (Read error: Connection reset by peer). 06:13:12 -!- J_Arcane has joined. 06:24:11 -!- ^v^v has quit (Read error: Connection reset by peer). 06:24:37 -!- ^v^v has joined. 06:28:39 -!- adu has joined. 07:03:39 -!- MDude has changed nick to MDream. 07:15:12 -!- adu has quit (Quit: adu). 07:28:25 -!- SopaXT has joined. 07:34:06 -!- shikhin_ has changed nick to shikhin. 07:55:14 -!- Deewiant has quit (Quit: Viivan loppu.). 07:55:23 -!- Deewiant has joined. 08:03:22 -!- SopaXT has changed nick to SopaXorzTaker. 08:19:26 -!- shikhin_ has joined. 08:22:22 -!- shikhin has quit (Ping timeout: 245 seconds). 08:38:10 -!- dianne_ has joined. 08:38:20 -!- int-e_ has joined. 08:38:36 -!- mitchs has joined. 08:39:27 -!- int-e has quit (Disconnected by services). 08:39:33 -!- int-e_ has changed nick to int-e. 08:39:50 -!- heroux_ has joined. 08:45:19 -!- copumpkin has quit (*.net *.split). 08:45:19 -!- lambdabot has quit (*.net *.split). 08:45:19 -!- TieSleep has quit (*.net *.split). 08:45:20 -!- mitchs_ has quit (*.net *.split). 08:45:20 -!- j-bot has quit (*.net *.split). 08:45:20 -!- blsqbot has quit (*.net *.split). 08:45:20 -!- SopaXorzTaker has quit (*.net *.split). 08:45:21 -!- heroux has quit (*.net *.split). 08:45:21 -!- Lymia has quit (*.net *.split). 08:45:22 -!- dianne has quit (*.net *.split). 08:45:22 -!- EgoBot has quit (*.net *.split). 08:45:23 -!- heroux_ has changed nick to heroux. 08:47:15 -!- SopaXorzTaker has joined. 08:48:08 -!- Lymia has joined. 08:49:10 -!- copumpkin has joined. 08:50:32 -!- EgoBot has joined. 08:50:58 -!- lambdabot has joined. 09:02:41 -!- TodPunk has quit (Read error: Connection reset by peer). 09:03:04 -!- TodPunk has joined. 09:04:36 -!- weissschloss has quit (Ping timeout: 276 seconds). 09:05:09 -!- sebbu has quit (Ping timeout: 275 seconds). 09:06:54 -!- weissschloss has joined. 09:30:48 -!- nortti_ has changed nick to nortti. 09:32:10 Hi everybody. Noob question about halting problem. Am I right that it's easy to detect infinite loops in TM LBA using TM LBA with bigger tape (just to write down all states and find out if one is repeating)? If so, does it mean that halting problem exist only for TM with infinite tape? 09:50:04 yep 09:50:21 precisely 09:50:28 There is no LBA that determines whether any LBA halts, so in another sense, no 09:50:38 oh 09:50:44 ok by precisely I meant close enough 09:50:53 need to read questions more closely in future :p 09:51:00 (Clearly, an unbounded Turing machine can determine whether any LBA halts.) 09:53:23 This page irritates me. See if you can guess why by about half way down the page. http://www.stencyl.com/ 09:56:08 cool, like Scratch 09:59:42 Jafet: but bigger LBA with sufficient tape? why not? if we've got toy-level CPU with tiny registers and memory, it's easy to detect infinite loop in it and stop 10:04:36 I mean, it's easy to run something on that toy CPU and wait for halt or for infitie loop detection and all that in finite time. if to track toy CPU state on the CPU with larger RAM. 10:09:28 elliott: scratch is cool, but it's totally coding ... 10:09:42 J_Arcane: yeah but coding is a scary word 10:09:51 and doing drag-drop fill-in stuff is nothing like the typical conception of "writing code" 10:10:07 I think it's fine. it's making it accessible to people who would be turned off by the idea of coding 10:12:39 You are probably just annoyed because it's ripping off tried-and-true visual programming interfaces seen in LabView, Alice and other highly successful and productive systems 10:14:25 Naw, it was just the 'Make games with no coding!' then pictures of code. 10:15:43 PinealGlandOptic: usually the halting problem is phrased as: is there one machine M that determines whether any (suitably encoded) input machine halts 10:16:29 Since there is no single LBA that works for all LBAs, this version of the halting problem is unsolvable 10:18:44 You could add more memory to your LBA after you know the input size, but that just turns your LBA into a sort of Turing machine, so it's not very interesting 10:23:07 Note that "writing down all states" doesn't work since it doesn't use linear space, but you can probably use Floyd's or Brent's cycle detection methods. 10:31:35 Non-profit organisation name of the day http://www.astronauts4hire.org 10:31:39 -!- ^v^v has quit (Read error: Connection reset by peer). 10:32:04 -!- ^v^v has joined. 10:32:48 -!- AnotherTest has joined. 10:47:57 -!- SopaXorzTaker has quit (Read error: Connection reset by peer). 10:49:23 -!- SopaXorzTaker has joined. 11:03:04 -!- sebbu has joined. 11:03:56 -!- sebbu has quit (Changing host). 11:03:56 -!- sebbu has joined. 11:09:31 -!- shikhin_ has changed nick to shikhin. 11:10:22 -!- EgoBot has quit (Ping timeout: 240 seconds). 11:10:34 -!- EgoBot has joined. 11:41:44 -!- Patashu has quit (Ping timeout: 244 seconds). 11:50:48 -!- oerjan has joined. 11:53:31 Hi everybody. Noob question about halting problem. Am I right that it's easy to detect infinite loops in TM LBA using TM LBA with bigger tape (just to write down all states and find out if one is repeating)? If so, does it mean that halting problem exist only for TM with infinite tape? 11:55:21 @tell PinealGlandOptic If you consider how that interacts with the proof of the halting problem, that is the essence of https://en.wikipedia.org/wiki/Space_hierarchy_theorem 11:55:21 Consider it noted. 11:55:58 -!- mitchs_ has joined. 11:57:38 @tell PinealGlandOptic basically, since a TM with (enough) more space can decide the halting problem for one with less, they cannot be the same computational class. 11:57:38 Consider it noted. 11:59:19 -!- SopaXorzTaker has quit (Remote host closed the connection). 11:59:27 -!- mitchs has quit (Ping timeout: 264 seconds). 12:13:46 -!- TieSoul has joined. 12:20:59 and darths & droids are right right back at confounding reader expectations again 12:21:05 *-right 12:21:39 -!- idris-bot has quit (Quit: Terminated). 12:22:38 oerjan: yep 12:22:54 -!- idris-bot has joined. 12:40:07 -!- Qfwfq has quit (Ping timeout: 244 seconds). 12:46:10 -!- Qfwfq has joined. 12:53:15 -!- boily has joined. 13:16:58 -!- SopaXorzTaker has joined. 13:38:57 -!- sebbu2 has joined. 13:39:17 -!- sebbu has quit (Ping timeout: 256 seconds). 13:39:34 -!- sebbu2 has quit (Changing host). 13:39:34 -!- sebbu2 has joined. 13:47:30 oerjan: But it's possible to write a program that might use infinite space for certain inputs 13:47:49 "Examples of Winter Sports activities not covered are: -- Use of Skeletons" 13:48:24 FreeFull: well, duh? 13:48:39 this is not about arbitrary programs. 13:49:59 -!- Tritonio has joined. 13:51:14 Yeah 13:51:35 As long as the space is finite, it is decidable 13:51:53 But the time would be exponential/superexponential probably 13:57:29 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 14:18:52 -!- shikhin_ has joined. 14:18:56 -!- shikhin_ has quit (Changing host). 14:18:56 -!- shikhin_ has joined. 14:21:52 -!- shikhin has quit (Ping timeout: 255 seconds). 14:24:30 @tell shachaf mission accomplished *MWAHAHAHA* 14:24:30 Consider it noted. 14:24:56 (ghc 7.10 is being delayed, partly due to the bugs we found) 14:26:33 Having a new Prelude sounds interesting 14:26:45 yeah 14:29:05 I'm still hoping for the AMP to be in full effect. 14:29:32 i don't think the AMP is in much question 14:30:18 as the removel of the haskell2010 and haskell98 packages show, it had to be done entirely or not at all. 14:30:21 *a 14:31:36 ramovel. 14:31:47 *+s 14:31:54 rasmovel. 14:32:10 i'm sure that means something in russian. 14:32:44 except it's actually pronounced like rasmavyel 14:33:43 probably. GT isn't very helpful hth 14:34:10 but yeah, we're overdue for a new Prelude. 14:34:50 if the Prelude gets refactored, is that gonna obsolete what few good guides are already out there for Haskell? 14:35:11 it suggests растовел but has no actual meaning for it 14:36:09 J_Arcane: probably, but many of them were obsolete already. 14:36:26 This is true. I know RWH is getting a bit long in tooth already. 14:36:30 also, the BBP is supposed to be pretty backwards-compatible except for some type ambiguities. 14:37:27 i don't like that the neighbor's dog is occasionally barking again. 14:37:40 not _constantly_ like the first months, but still... 14:38:00 i hope it's not the start of a slippery slope 14:38:12 a well oiled dog barks best. 14:38:47 in fact, the BBP has been so well designed to be backwards compatible that many of the suggestions for how to partially backpedal on it will break _more_ code than it. 14:39:26 and also, as edwardk has repeatedly mentioned, a _lot_ of packages have already been adapted to it. 14:40:45 i think it's definitely in "even if it went too far in one step, going back is now even worse" territory. 14:43:00 what? 14:43:29 what's this BBP? 14:44:44 b_jonas: the Burning Bridges Proposal, implemented in the upcoming 7.10 release candidate, adds Foldable and Traversable to the Prelude and generalizes most functions in the Prelude to the functions of the same name in Data.Foldable and Data.Traversable 14:44:56 -!- nortti has changed nick to mhi^_^. 14:45:00 -!- mhi^_^ has changed nick to nortti. 14:45:25 oerjan: ah! 14:45:44 :t mapM 14:45:45 Monad m => (a -> m b) -> [a] -> m [b] 14:45:55 :t Data.Traversable.mapM 14:45:56 (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) 14:46:11 I know they made Monad dependent on Applicable now 14:46:16 but even functions like sum and product are affected 14:46:23 yeah 14:46:36 do they have type defaults that default to list? 14:47:02 nope, that's possibly the main non-backwards-compatible issue 14:47:18 ok 14:48:20 i'm not sure if the ghc defaulting mechanism supports * -> * kind defaults 14:48:57 oerjan: even if it doesn't no, maybe they'll change that? I mean, they're extending the type system all the tiem 14:51:16 -!- GeekDude has joined. 14:52:23 it does seem like something that shouldn't be too hard to do 14:56:31 So 14:56:40 Why is it called the Burning Bridges Proposal 14:58:43 because it changes a lot of the haskell Prelude module, which is usually considered part of the language itself. 14:59:50 i think it's sort of a "we're already modifying the Prelude incompatibly by making Applicative a superclass of Monad, why not go all in" 15:01:17 the original proposal was supposedly even more radical, in a less backward-compatible way 15:01:37 (e.g. in the end they did not merge map and fmap) 15:12:30 oerjan: oh, like changing (.) to be an alias to fmap ? 15:12:47 and (++) to, um, mplus or whatever it is? 15:13:09 no, they wouldn't change (.) to that, seeing as Control.Category uses it in a way incompatible to fmap 15:13:19 maybe ++ was considered 15:13:29 what 15:13:45 :t (Control.Category..) 15:13:46 Category cat => cat b c -> cat a b -> cat a c 15:14:54 although the generalization of ++, mappend, has the alternative name <> now. 15:15:07 (for quite some time) 15:15:55 hm they probably also included Monoid in the Prelude, it's needed for Foldable to be defined. 15:16:19 Monoid is pretty much harmless. 15:16:27 sure 15:28:33 oerjan: oh right, mappend 15:35:41 -!- boily has quit (Quit: SPECIFIC CHICKEN). 15:41:28 -!- MDream has changed nick to MDude. 15:41:47 -!- SopaXorzTaker has quit (Remote host closed the connection). 15:49:22 -!- shikhin_ has quit (Ping timeout: 240 seconds). 15:50:24 -!- copumpkin has joined. 16:03:25 -!- ais523 has joined. 16:11:40 -!- SopaXorzTaker has joined. 16:14:30 -!- callforjudgement has joined. 16:17:33 -!- ais523 has quit (Ping timeout: 265 seconds). 16:17:39 -!- callforjudgement has changed nick to ais523. 16:18:19 "Honestly? The Prelude is just the set of stuff in scope by default. If the entire prelude consisted of one function that drew an ASCII fish and nothing else, I could live with that." 16:20:09 ( :t (++) 16:20:09 Data.HVect.(++) : HVect ts -> HVect us -> HVect (ts ++ us) 16:20:10 Prelude.List.(++) : List a -> List a -> List a 16:20:10 Prelude.Strings.(++) : String -> String -> String 16:20:10 Data.VectType.Vect.(++) : Vect m a -> Vect n a -> Vect (m + n) a 16:22:08 oerjan: depends on what said function is named 16:22:18 if it has a name that's likely to clash with other things, I might be annoyed 16:22:37 no, because you can do import Prelude () 16:27:55 god this low frequency noise from somewhere in the neigbors' apartments is annoying 16:29:02 it's of course strongest precisely where i'm sitting. 16:34:17 -!- oerjan has quit (Quit: leaving). 17:08:49 depends on what type of fish 17:09:37 like, whether it's one of those crypto-fish in fashion back when the US had those export regulations about software 17:10:02 that would get very old fast and show how out-dated language Haskell was 17:31:44 -!- j-bot has joined. 17:45:53 -!- Qfwfq has quit (Remote host closed the connection). 17:47:57 -!- Qfwfq has joined. 18:05:49 -!- SopaXorzTaker has quit (Ping timeout: 265 seconds). 18:07:39 -!- nys has joined. 18:09:52 -!- SopaXorzTaker has joined. 18:18:29 -!- arjanb has joined. 18:26:25 lord help me, I think I kinda like JavaScript. 18:28:32 -!- SopaXorzTaker has quit (Remote host closed the connection). 18:33:55 -!- ais523 has quit (Read error: Connection reset by peer). 18:34:05 -!- ais523 has joined. 18:35:26 -!- shikhin has joined. 18:40:14 Why should anything be in scope by default? 18:42:09 In any language? 18:44:30 Generality suggests keeping the base language minimal (like C). Ease of use suggests having lots of default stuff (like Perl). 18:45:38 I think a good middle ground is to have a "import basic stuff" line at the top of programs 18:48:26 Which is what they did in C++ with "using namespace std" 18:52:12 I would say import nothing by default, and let an IDE do most of the importing for you 18:53:32 J_Arcane: It's not worse than PHP or C++... 18:54:19 oren: I think maybe it's also just refreshing to deal with after C# ... 18:56:26 C# has some... problems with syntax 18:57:23 but it is better than C++ 18:58:50 Yes. I'd rather do C# than C++ or Java, but it's still a question of degrees ... 19:01:00 oren: oh come on, import basic stuff is just four lines in C++ 19:01:15 ok wait, twenty lines of #include and THEN four lines 19:04:27 #include \ #include \ #include \ #include \ #include \ #include \ #include \ #include \ #include \ #include \ #include \ #include \ 19:05:35 using std::cerr; using std::abort; using std::swap; using std::move; using std::min; using std::max; using std::abs; using std::sqrt; using std::exp; using std::log; using std::sin; using std::cos; using std::atan2; using std::array; using std::vector; using std::string; using std::unique_ptr; // and that's about it 19:06:54 it's not really long, it is? 19:07:21 then you need ten more lines of task-specific includes for what you actually want to do 19:21:03 There should be a #include <> <> <> <>... statement 19:22:52 Apparently there was some sort of important handegg game recently 19:24:19 oren: and a using std::cerr, std::abort, std::swap, std::move, std::min, std::max; statement 19:24:47 dear god: for 2k15, please make "showing off how little you [pretend to] know about sports" not be the top form of nerd brag any more 19:25:10 fungot, how little do you know about sports? 19:25:10 b_jonas: alice did not like shaking my head requires more power but the computer, fnord of the fnord here, so i don't see big contradiction: if soviets created 19:26:10 elliott: I know a lot about HOCKEY, the only IMPORTANT sport. 19:26:26 elliott: it's easier here, because we don't have to pretend we know nothing of american football, baseball, basketball and hockey ( http://www.xkcd.com/1107/ ), but only of soccer, handball and water polo. 19:27:35 In Canada that chart would only include hockey and, in the city, football. 19:27:37 Now water polo is played mostly underwater so even the judges know nothing about it and have to guess (but they have to pretend they know everything anyway), and soccer is played on such a large field you and the judges have no hope to see everything, it's not hard to pretend you can't follow them. 19:31:08 Hockey is interesting because it's dominated mostly by American teams, which consist mainly of Canadian players. 19:31:57 oren: how does that make it interesting or different from other sports? 19:32:04 So you have crowds of Canadians cheering on Russians as they beat up Canadians 19:33:05 Whereas in football the teams consist of citizens of the country they represent 19:35:07 oren: no, that's only the national teams in the championships, and there's one of those only every two years. the normal teams which participate in the leagues are made mostly of foreigner players who can make more of a carrier abroad. 19:35:42 oren: and that's not even counting people in national teams that are granted citizenship easier just so they can be part of the national soccer team. 19:36:27 b_jonas: well, that's less interesting.... 19:36:30 We don't have many Chinese in European soccer teams yet, but only because they prefer other sports. 19:37:12 b_jonas: what about south americans? 19:37:23 oren: A fair few, I think. 19:37:45 oren: dunno, I don't really follow sports, I'm not the right person to ask about the details 19:37:57 I only follow hockey 19:38:35 Everyone wants a Brazillian player in soccer. Some of the Brit clubs have paid non-trivial sums to get one ... 19:39:54 I know a Brazillian-English bodybuilder by way of my former language class, and he said he was more or less told he could sign up to just about any club he wanted, because, essentially, racism. ;) 20:02:59 -!- Patashu has joined. 20:11:38 -!- sebbu2 has quit (Ping timeout: 245 seconds). 20:19:30 -!- shikhin_ has joined. 20:22:36 -!- shikhin has quit (Ping timeout: 265 seconds). 20:22:59 It would be nice if people describing an algorithm with code and equations used the same variable names in both,rather than expecting me to guess 20:23:05 -!- shikhin_ has changed nick to shikhin. 20:25:49 -!- Patashu has quit (Ping timeout: 250 seconds). 20:27:37 fungot, how many substitutions do I need? 20:27:38 b_jonas: i, myself, will bring an end to all. ghosts lurk in the ruins were in truth, and everything in readiness for fnord. under these is concerned, the use of " coup" here is one that only takes predicates and has not named a 20:27:46 oh 20:29:08 -!- nys has left ("Leaving"). 20:29:14 -!- nys has joined. 20:37:31 fungot: Ominous. 20:37:32 fizzie: i just wrote :p ( what was i thinking there.... :d), i really care... a time portal? what in the...! ozzie's stumped! 20:37:55 ^style 20:37:56 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot* homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 20:38:05 The 'ct' style is well-represented in the overall 'fungot' style. 20:38:05 fizzie: so, let's say i call them mindless games. if we hit every stupid person, any person going to use funge-93 because tusho said i well, bully hector? 20:48:09 -!- Tritonio has quit (Remote host closed the connection). 20:50:54 `8-ball is it wise to you for financial advise and predicting the stock market? 20:50:55 Signs point to yes. 20:51:18 `8-ball is it wise to you to predict the result of big sport events? 20:51:19 Reply hazy try again. 20:51:46 fungot, how much do you know about sports? 20:51:46 b_jonas: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 20:51:55 huh? 20:52:09 how did he figure that? 20:52:15 fungot, do you like handball? 20:52:15 b_jonas: his birthday is in the same as the word " crazy" " not exactly the daycare-place i was just about to do it when i wake up long lol 20:52:43 fungot, do you like waterpolo? 20:52:43 b_jonas: is that something you know and and the cases that required to actually mutate the original ( sorted, perhaps, it may be said that particularly here, parliament will give a single instance, 20:54:28 fungot, can you control the path of meteorites?" 20:54:28 b_jonas: if that is not used commonly and carries with it an array subscript was too easy heh one time i figured if it's possible, notify the notary. 20:54:52 fungot: ok, then direct this one to the shores of Greenland 20:56:09 -!- ais523 has quit (Read error: Connection reset by peer). 20:56:13 -!- callforjudgement has joined. 20:58:03 -!- olsner_ has changed nick to olsner. 21:08:04 -!- callforjudgement has quit (Read error: Connection reset by peer). 21:08:16 -!- callforjudgement has joined. 21:15:29 "Please check back here on February 1st for an update on our study, and on LessWrong for a ProveItForReal.org update on March 1st." 21:20:31 I can't decide on an algorithm for rotating the digits of a number (24983 becoes 32498), but I don't even need it to be fast. I'm just indecisive 21:21:08 -!- ^v^v has changed nick to ^v. 21:21:22 I'll just do the stupid thing 21:21:29 -!- callforjudgement has quit (Read error: Connection reset by peer). 21:21:31 -!- scarf has joined. 21:22:02 Which is base 10 log, followed by a mod, division and addition 21:24:41 -!- scarf has quit (Read error: Connection reset by peer). 21:24:57 -!- scarf has joined. 21:27:53 Huh. JavaScript's object model seems a lot like Heresy's ... 21:29:58 -!- Tritonio has joined. 21:30:09 -!- ais523 has joined. 21:30:38 -!- AndoDaan has joined. 21:31:14 -!- bb010g has joined. 21:34:15 -!- scarf has quit (Ping timeout: 264 seconds). 21:48:37 using katakana in equations feels liberating, because there are so many 21:48:53 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 21:51:45 65% through the codecademy JS course now ... XD 21:52:10 -!- callforjudgement has joined. 21:52:13 -!- ais523 has quit (Read error: Connection reset by peer). 21:57:01 oren: it's only liberating if you can actually tell different katakana apart :P 22:00:51 Ut-oh. I was just shutting down the server at home (in preparation for the move) when it dawned on me that I haven 22:00:54 't moved fungot yet. 22:00:54 fizzie: no, it's not. it's more complex than that. read the code.) good stuff that makes me even)) x sort ( filter procedure, but maybe i will when i start fixing it rather than having arbitrary bf, as if it wasn't. holy cow, i never claimed that the victim) subject:re: `which fnord echo 22:01:09 Ok, apparently it's even more complex than that. 22:05:11 fungot: Do you think I should do something to keep you online, or do you want to take a holiday of few weeks? 22:05:11 fizzie: ( ( ( a()**)a*:a*)(a()**)a*:a*)((x1)(x2)(x3)) ...out of time! don't let " persons" be added to the actual standard being sane) scheme implementations but guile is my fnord' doggie than a dozen tales, of the whole fnord range of the ' ' ' delete a value of type " airbus is a big fan of avril....but this song " there 22:05:23 -!- hjulle has joined. 22:05:33 I'm not sure how to interpret that. 22:06:46 -!- Phantom_Hoover has joined. 22:08:53 -!- Phantom__Hoover has joined. 22:08:56 -!- Phantom__Hoover has quit (Changing host). 22:08:56 -!- Phantom__Hoover has joined. 22:09:36 -!- sebbu has joined. 22:09:50 J_Arcane: the prototypal object model is pretty straightforward (although JS's in particular is a bit messy) 22:10:12 -!- sebbu has quit (Changing host). 22:10:12 -!- sebbu has joined. 22:11:13 FireFly: Yeah, I noticed the syntax gets a little ambiguous when you're iterating over object fields. 22:11:27 Ambiguous? 22:11:29 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 22:11:55 -!- fungot has quit (Quit: BEEP BOOP TIME TO TAKE A BREAK). 22:12:13 Enjoy your break, fungot 22:13:03 FireFly: Well, unclear at least. When doing for (var x in obj), I'm a little unclear what's actually in x. Ie. is it thus a string, and thus you must do obj[x], or can obj.x work safely, that kinda thing. 22:13:06 -!- ProofTechnique has quit (Ping timeout: 244 seconds). 22:13:17 Ah 22:13:37 I think that's pretty straightforward. foo.bar is basically just sugar for foo["bar"] 22:14:22 In Heresy, you can do (for (x in (Obj 'fields)) ...) and x will contain a valid symbol for calling a field in Obj, such that you can then do (Obj x). 22:14:53 ah 22:17:36 It's a similar idea though, Heresy objects are basically just a lambda wrapped round an association list, so you can do fun stuff like that pretty easily. Need to decide what, and if, I'm gonna do with it I think. 22:19:03 Does heresy have the concept of prototypal inheritance, where if you look up a property in an object and the property is missing, it'll try to look it up in the prototype instead? 22:20:01 `8-ball Does heresy have the concept of prototypal inheritance? 22:20:02 Ask again later. 22:21:02 FireFly: Depends how it was declared. I'm a little fuzzy on the inheritance feature, because 1) it's new, and 2) I didn't write it. 22:22:35 http://pkg-build.racket-lang.org/doc/heresy/index.html#%28form._%28%28lib._heresy%2Fmain..rkt%29._describe%29%29 22:25:25 Sounds similar 22:28:12 -!- nisstyre has quit (Changing host). 22:28:12 -!- nisstyre has joined. 22:35:24 -!- oerjan has joined. 22:45:21 sigh. echo '#social-share-button { display: none !important }' >> .mozilla/firefox/default/chrome/userChrome.css 22:45:33 firefox continues to add useless crap 22:46:01 int-e: i believe we've successfully delayed ghc by a month hth 22:46:25 oh. 22:47:58 No new comments on the ticket, hmm. 22:48:16 there was a ghc-devs post linked from reddit 22:48:44 hmm, I'm not subscribed to ghc-dev, perhaps I should be... 22:48:57 oerjan: great 22:49:18 https://www.haskell.org/pipermail/ghc-devs/2015-January/008189.html 22:54:19 -!- ^v has quit (Read error: Connection reset by peer). 22:54:43 -!- ^v has joined. 22:59:10 I just hope the BBP discussion does not take advantage of this delay. I mean I don't really care about the BBP as such, but going forth and back on this seems like a big waste of effort (mostly hvr's) 23:02:45 i am somewhat wondering if they manage to implement this in such a way that no type signatures need to be changed to use anything Kindable-like 23:06:03 I don't know. To me it seemed that a proper solution would involve tracking Typable instances for polymorphic kinds, much the same way they have to be tracked for polymorphic datatypes. So we'd have things like (Typeable k, Typeable t) => Typeable (Proxy (t :: k)) 23:06:47 And that would indeed change some type signatures. 23:06:48 yeah i was thinking that too, although that (1) would require changing type signatures (2) cannot be done with current ghc types 23:07:18 but since there is essentially a function dependency from type to kind... 23:07:22 *functional 23:07:28 -!- AnotherTest has quit (Ping timeout: 252 seconds). 23:07:34 oooh man this Black Mirror ep is weird ... 23:08:00 why are they delaying 7.10 23:08:03 isn't the bug in 7.8 too 23:08:11 it's not going to make things any less vulnerable 23:08:27 elliott: It would mean getting a fix out sooner 23:08:30 elliott: yes but spj _really_ doesn't like Safe Haskell completely broken, i think 23:08:55 of course it's only theoretically ever sound 23:09:03 Besides, yeah, SPJ's opinion carries some wait here. 23:09:10 *weight 23:09:15 right. 23:09:48 I hate those phonetically correct typos. 23:10:33 yeah but you could just release 7.10.1 quickly 23:10:39 I guess the point is that nobody wants to upgrade twice in quick succession 23:10:43 int-e: does your typefamily method avoid needing anything for kinds in the signatures? 23:10:52 but wouldn't it require changing the type signatures to the _correct_ signatures from the wrong ones? 23:11:16 b_jonas: the old signatures aren't wrong per _se_ 23:11:25 a type always implicitly includes its kind 23:11:29 elliott: ah right, because ghc still breaks binary compatibility of all modules you've compiled with it at every point release! 23:11:30 elliott: It's easier to explain breaking code (and I'm still not convinced that that won't happen) with a full release than with a point release. 23:11:38 sn't that the basic problem? 23:11:57 so people can't just upgrade as lightly as with most other software 23:12:35 elliott: So what I'm trying to say is, I'm not sure whether this should be left for 7.10.1 or 7.12.1, but I don't think it can be done in a 7.10.x, x>1, release. 23:13:34 but i fear that if you have a typeable instance which depends on a kind variable, then ghc will do its instance resolution in such a way that it _needs_ an explicit context for the kind as well, which is what seemed to happen for my experiments 23:13:37 Of course I may be wrong and this won't break any code at all. 23:13:57 ... but as already indicated, I don't see how. 23:14:36 (seriously, that's what really shows it's a research language) 23:14:42 _if_ they can manage to avoid the kind separating from the type in a sense, then the signatures wouldn't need to change. or so i think. 23:15:25 -!- hjulle has quit (Ping timeout: 264 seconds). 23:15:25 i don't understand int-e's type family version enough to say if that does it 23:15:32 And I suggested leaving this for 7.12 mainly because there have already been two RCs, so breaking code now *will* cause some upset. 23:16:24 oerjan: What it is supposed to accomplish is that you don't need explicit Typeable contexts for monomorphic kinds. 23:17:17 int-e: oh. i thought my method did that as well, or could, at least. 23:18:56 the fact that you cannot actually write Typeable k for a kind k afaik, except possibly in goldfire's branch, seems to be a problem. 23:18:59 oerjan: Hmm, you may be right. But the type family also covers the (Typeable a, Typeable b) => (Typable (a b)) instance, where with MPTCs you run into the open world assumption problem 23:20:15 it does? as i said there is essentially a functional dependency. 23:20:50 hm i was going to test something... 23:21:27 How can you have Typeable contexts for kinds? 23:21:30 What is a "open world assumption problem"? Also what is goldfire's branch? 23:22:15 alas, nope, you cannot define a type synonym with a kind parameter either :( 23:23:06 Are you supposed to? 23:23:10 zzo38: you cannot, currently, but it would seem the most obvious way of getting a reified kind to put in the Typeable instance for a polykind type 23:24:10 zzo38: goldfire's branch is a branch where he is removing the distinction between types and kinds, in order to prepare for a dependent types extension 23:24:33 (am i remembering the nick correctly, hm...) 23:25:25 the "open world assumption" is the rule that instance resolution for a class never assumes anything based on which instances are _not_ in scope 23:25:59 oerjan: hmm, you may be right. Perhaps the real trick is that in my code, only *some* Typeable instances have a "Kindable (Proxy :: k -> *)" (= Typable (KindRep (Proxy :: k -> *))) context. 23:26:46 the "problem" then is that it can sometimes be hard to convince ghc to use the one you want 23:27:04 So the problem of getting from Kindable (k1 -> k2) to Kindable k1 and Kindable k2 doesn't crop up. 23:27:06 I believe you should need support for defining automatic classes and for defining closed classes. Typeable can then be made into a automatic class; you don't need deriving(Typeable) and can't define an explicit instance but for polymorphic functions you will still need a Typeable context if you want to use its type information. 23:27:44 zzo38: yes that's the way SPJ is heading 23:28:56 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 23:29:12 b_jonas: the changes for 7.10 are big enough that several people have suggested that it should be numbered 8.0 instead. but then they don't really affect the _internals_ of ghc as much as the libraries. 23:29:32 I am not sure how the syntax should be for defining automatic classes, but Typeable would be built-in anyways so it doesn't matter in this case. 23:30:00 oerjan: not much wrong with bumping base to 5.0 without bumping the ghc version... 23:30:17 But it would help to make up a syntax and capability for these kind of things, as well as to define the new kind of macros so that do-notation and list-syntax can be made into macros that are defined in the Prelude instead of being built-in. 23:30:23 but everything is wrong with bumping the base version, I have upper bounds 5 almost everywhere ;0 23:30:26 ;) 23:30:49 -!- Phantom_Hoover has joined. 23:31:36 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 23:32:01 -!- J_Arcane has joined. 23:34:04 zzo38: there aren't that many other classes than Typeable that really _can_ be automatic in a user-definable way, because you want to support abstract data types by allowing not exporting constructors and deriving classes that expose internal structure. The information in Typeable is afaict about everything that _cannot_ be hidden this way. 23:36:57 Coercible is also automatic, but it _checks_ whether the constructors are exposed. 23:37:14 I know that; you would somehow need macros if you can have user-definable automatic classes at all, since the macro then needs to use the stuff it is capable of using. This might result in the instances of such classes being different in different modules. But another way might be automatic classes based on instances of other classes. Other details would be names of types as strings. 23:37:39 ...i suppose there could be a mechanism for that, but then you'd have the same weirdness as Coercible in that the instance isn't necessarily inherited 23:39:04 zzo38: aeson has default methods for some its classes based on Generic, not quite automatic but close. 23:39:10 *some of its 23:40:03 hm there _was_ a suggestion of allowing deriving any class by using its default methods... 23:40:27 maybe it was even in 7.10 RC 23:40:57 Do you mean like: data A = B | C deriving(Eq, default D, default E); 23:41:35 (So that you would have to explcitly specify you are deriving by defaults.) 23:41:46 -!- arjanb has quit (Quit: .). 23:41:52 But can't you just use instance without defining the methods, in such case, instead? 23:42:48 zzo38: hm i don't think there was an explicit keyword, just (Eq, D, E) 23:43:20 however it _would_ be good to be able to at least specify explicitly if you want GND or defaults 23:43:32 if your module has both extensions 23:43:50 Yes for newtype instead of data it would help to explicitly specify "default" in this case at least; for data it isn't needed 23:44:20 you might even want to able to overrule that for base classes, so you could do newtype MyType = MyType Int deriving (newtype Show) 23:44:25 *to be able 23:44:42 Yes that too I agree 23:44:59 Would be better, and I think more useful than deriving defaults 23:47:49 Why did they add "\case" syntax instead of my "\of" suggestion? (Which I think is probably same except for the words in use; "\of" would probably simplify the parser both for layout and nonlayout) 23:47:52 i think the syntax deriving (newtype Show, default JSON) is pretty much vacant? 23:47:54 yeah 23:48:22 both because they're keywords, and because they're lower case 23:48:36 oerjan: re-using existing language keywords for new meanings? I see you're learning from us C++ers. Very good. 23:48:38 oerjan: Yes that is why I suggested using the keyword "default" 23:49:54 In SQLite although new keywords are sometimes added, they are never reserved words; only a few keywords are reserved words. Therefore it doesn't cause problem if your name of a column or table or whatever is now a keyword. 23:50:40 zzo38: i also liked \of better than \case for logical grounds, although i actually preferred "case of". but someone (spj) vetoed \of on the grounds it was too lightweight 23:50:55 zzo38: hehe, "only a few" 23:51:03 http://sqlite.org/lang_keywords.html lists more than there are in C++ I think 23:51:07 *(spj?) 23:51:16 b_jonas: Yes, although most of those aren't reserved. 23:52:07 I looked again and actually I forgot how many are reserved 23:52:08 funnily that list doesn't include COVERING 23:52:12 Still, a lot of them aren't reserved. 23:52:32 And any new ones added also won't be reserved. 23:52:48 do they promise that? 23:53:01 that page actually says “SQLite adds new keywords from time to time when it takes on new features.” 23:53:03 I think they do implicitly although it doesn't say so. 23:53:17 but then, perl says that too but they don't add new keywords anymore 23:53:32 It is true they add new keywords, but from my experience as well as for backward-compatibility reasons, the new keywords won't be reserved. 23:54:11 perl has used like three different solutions to avoid adding new reserved words 23:54:28 my arguments for "case of" were (1) it doesn't need a new layout keyword (2) it leaves out the expression, so you can think of it as a case section 23:54:45 namely, (1) putting important core functions to modules rather than builtin functions, (2) adding a weak keyword, (3) adding a keyword that is active only if you specifically allow it with "use feature" 23:54:54 ((2) was done only once) 23:55:21 I have made a list of the reserved words. There are 58 reserved words, which is almost half of all of the keywords in SQLite. 23:55:54 All of the new keywords in Objective-C also aren't reserved and can be used as the names of ordinary C stuff without a problem. 23:56:23 (Therefore, any C program is also a valid Objective-C program.) 23:58:07 -!- ProofTechnique has joined. 23:58:42 WITH and WITHOUT aren't reserved words in SQLite; nor is RECURSIVE. 23:59:45 oerjan: Yes those are my reason too. I don't use the layout mode but many people do, and regardless of this it makes the parser more sensible. Either "case of" or "\of" is better to me than "\case".