00:00:02 w00t! 00:00:16 I finally figured out how to convince automake to do precompiled headers! 00:00:23 It's hideous, but it works! 00:00:28 I know about GIMP, but I prefer ImageMagick. 00:03:30 coppro: Isn't it just like include_HEADERS= then .h.gch:\n\t 00:03:49 Gregor: I wish 00:04:19 Maybe they'll add it eventually 00:04:23 -!- Sgeo has joined. 00:05:46 but for now, it's a nasty hack 00:06:18 what is the point? for most realistic C header examples you don't save very much 00:06:40 AnMaster: this is a C++ project; I think I just cut compile time in 3 00:06:43 and it is a pain to maintain 00:06:54 when stuff like #inludes in headers change 00:07:20 I renamed the old file, and then Pidgin makes a new file.. it's corrupt 00:07:26 nah, the precompiled header is always first 00:07:44 as long as you remember that, things are good 00:08:04 -!- oklopol has quit (Read error: 148 (No route to host)). 00:08:51 coppro, what if cflages changes? Or GCC version 00:09:06 AnMaster: then it's recompiled as it normally would be 00:09:18 well, that would be mostly an issue if the file was installed 00:09:29 no, this is not for a library 00:09:41 it would be an issue if it was installed 00:09:45 but fortunately it's not :) 00:10:20 right 00:10:23 night -> 00:12:08 there is only one flaw 00:12:32 one of the dummy files is getting distributed because I can't but it in nodist_SOURCES or else it gets built after the rest of the project 00:12:45 and the precompiled headers must always be first 00:27:58 Is there command-line programs to render text on images like I described? 00:31:47 -!- FireFly has quit ("Later"). 00:34:34 zzo38: to my limited knowledge, there is not 00:36:47 O, OK. 00:38:06 If we used the "mahjong operator" in a new esolang, like I described (the input set can consist of a tenpai hand with any number of sets of three tiles and up to one pair), are any calculations reasonably done with this? 00:38:17 The input and output would be unordered sets with duplicates OK 00:38:39 O, and add the concatenation operator too 00:39:19 Would it be sufficient for most uses? 00:41:43 can you rexplain the operator? 00:44:08 The operator does: If you have a tenpai hand (where a complete hand must contain any number of sets of three tiles and up to one pair), then the output will be the list of possible tiles to complete this hand. 00:44:25 Example: [chun,chun,1man,3man] -> [2man] 00:44:28 -!- augur_ has joined. 00:44:50 DAMMIT WINDOWS! I DO NOT WANT YOU TO KEEP TELLING ME ABOUT YOUR CORRUPTED FILES 00:45:17 And then also needs a command for jumping if the list is empty/non-empty 00:45:17 sweep corruption under the rug, i say 00:46:11 oerjan, I just wish there was an ignore button 00:46:13 zzo38: hmm... I think I need to know more of the context of the language to understand where it might be useful :) 00:46:19 If the number of elements in the input list is divisible by three, the output list would necessarily be empty. 00:48:09 coppro: Yes, I guess so. But I'm just wondering if you can think of ways to make it so that it would be sufficient and can do many calculation with: mahjong operator, concatenation operator, condition operator. 00:51:28 On Sunday, I played D&D. My character, and a monster, teleported into the exact center of a building, and there was a kitchen there, with a fire elemental cooking something. Now my question is, how would *you* act in this situation? (I have some idea but maybe you are different?) 00:55:13 "Hello, what's for dinner?" 00:55:37 * oerjan has played D&D exactly once in his life, though, ihrc 00:55:40 I happen to have Profession (Cooking) skill, so I decided to use that. 00:56:18 And, now I can know where the kitchen is, so I could now figure out the rest of the building relative to this one 00:59:39 zzo38: It'd depend upon the character I'm playing. 00:59:58 O, OK. 01:00:01 If I were playing, say, Thrug, my half-orc half-dragon barbarian, Thrug smash. 01:00:16 Like, you mean just smash everything? 01:00:30 (quite likely with the boulders he carries) 01:00:32 oerjan: O, only once? What version did you play? And do you plan to try again? 01:00:44 Yes. 01:01:41 i don't recall. it was at the local convention, and probably more than ten years ago 01:01:52 * oerjan does recall he played a paladin, though 01:02:47 OK, a paladin. Can you also describe other things you can remember, such as equipment, race, etc 01:03:08 * Sgeo would really prefer it if there was a non-web client for Wave 01:03:21 What's "Wave"? 01:03:36 Google Wave 01:03:39 i think i was human 01:04:03 OK, human. And what equipment? 01:04:07 And did you have any spells? 01:04:50 i recall a bit of the _plot_ perhaps. the things you mention i consider far too boring to remember. 01:04:53 Sgeo: Maybe you can use the API to write a non-web client for Wave? 01:05:05 OK, what plot? If you can remember 01:05:11 * Sgeo isn't skilled enough to do that 01:05:19 Although I guess I could make a poor attempt 01:05:30 I'm not in any of the previews, though 01:05:58 lessee it was a dungeon crawl of sorts, to get an artifact of some kind for a prince or something (you can tell it's not very accurate) 01:06:01 oerjan: Eh, that's because D&D tends to make mechanics more complex than they need to be. 01:06:27 Unlike GURPS, which is only complex because it's got quite a few emergent properties. 01:06:42 i recall there were some statues coming alive and going after us once we got the artifact 01:06:47 (resulting from the design decision to make just about any idea possible to implement in it) 01:06:55 the artifact was in a room full of them 01:07:07 pikhq: Ya, well, I prefer Icosahedral RPG, but it isn't quite finished being written yet. 01:07:51 O, my character in D&D is, I prefer to not fight anyone if I can avoid it, and I have been pretty successful at it 01:07:53 also, only two of us survived i think, i was one of them. a couple died at the last minute because they panicked and jumped into a door to some kind of anti-dimension 01:09:22 and i survived essentially i think because i played rightful paladin and therefore didn't do anything fishy... 01:09:24 In a previous D&D game I played, there was also statues that were going to come alive, but we managed to prevent that, by all our characters also disguised as extra statues, I also found a stick next to someone who has used "Hold Person" (but a saving throw has been made after a few rounds), and it was a magic stick. 01:09:39 Everyone told me not to break it, but I still decided to break the magic stick. And that worked. 01:09:55 I played in a campaign where we accidentally started the industrial revolution. 01:09:58 All magic items and other magic effects in the vicinity were destroyed instantly. 01:10:07 And were well on the way to having a post-scarcity society. 01:10:12 Also maybe the singularity. 01:10:13 And that greatly helped. 01:10:48 So now you should learn these things too. 01:24:22 Why do you guys use the CTRL+A ACTION command too much, anyways? 01:26:03 -!- zzo38 has quit (Remote closed the connection). 01:27:38 * oerjan has no idea 01:30:32 * Asztal thinks oerjan just wanted to use "IHRC" 01:33:15 * oerjan claims that the ihrc only happened while the sentence was being written 01:35:12 * Gregor doesn't think we use ACTION too much at all. 01:35:14 -!- augur_ has quit (Read error: 104 (Connection reset by peer)). 01:35:59 * oerjan agrees with Gregor. also, he finds an R someone dropped. 01:36:14 * Gregor thought he burned that. 01:36:27 it looks a bit sooty 01:37:21 I managed to snag this nick, upping my coolness points 1 trillion X. 01:37:51 that's some return on investment 01:38:06 Especially since the investment is roughly 0. 01:38:31 OO 01:39:06 PSLA 01:40:14 puget sound limousine association? i would stay away from those guys if i were you 01:40:31 I was continuing your "OO" :P 01:40:48 ah 01:41:22 whoopsla 01:43:45 -!- augur has joined. 02:00:07 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 02:00:28 -!- Sgeo has joined. 02:41:26 ....wtf 02:41:27 "whereas you rarely won't get any lies from them" 02:43:28 i didn't fail to misunderstand that. maybe. 02:44:26 Maybe I should have quoted the full sentence 02:44:27 "Something else you should know is that they are also very honest people whereas you rarely won't get any lies from them because of their honesty." 02:46:12 clearly. 03:21:30 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 03:58:29 who wants a laugh? 03:59:24 * oerjan makes sure not to drink anything 03:59:52 okay, it's a guessing game now: why does my school still use IE 6? 04:00:29 lessee, they fired the only guy who knew how to upgrade things? 04:01:16 wrong 04:01:38 they have a homebrew web-based system that requires it? 04:01:45 nope! 04:02:07 their machines are so old they don't run anything newer? 04:02:30 hmm... maybe, but not the reason! 04:02:44 they have a _commercial_ web-based system that requires it? 04:02:52 nah 04:03:01 I don't think they have any web-based system 04:03:05 * oerjan realizes some of those are not actually funny 04:03:16 do you want to know the real reason? 04:03:46 ok then 04:03:49 it's because of security concenrs, apparently 04:03:51 *concenrs 04:03:54 *concerns 04:04:04 * oerjan rolls eyes 04:04:09 I'm Not Making This Up 04:04:13 (literally) 04:26:47 -!- coppro has changed nick to copprop. 04:26:50 -!- copprop has changed nick to copprp. 04:29:09 -!- copprp has changed nick to coppro. 04:56:36 -!- Gracenotes has quit (Remote closed the connection). 05:04:52 -!- Gracenotes has joined. 05:06:46 -!- Asztal has quit (Read error: 110 (Connection timed out)). 05:11:45 -!- coppro has quit (Remote closed the connection). 06:08:30 -!- oerjan has quit ("leaving"). 06:13:33 -!- FireFly has joined. 06:22:09 -!- Pthing has quit (Remote closed the connection). 07:26:29 -!- Patashu has joined. 07:35:56 -!- FireFly has quit ("Later"). 07:46:12 -!- kar8nga has joined. 07:49:30 -!- kwertii has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:43:24 -!- kwertii has quit ("bye"). 08:45:35 -!- kar8nga has quit (Remote closed the connection). 10:05:26 -!- amca has joined. 11:58:20 -!- AnMaster_ has joined. 12:00:06 -!- AnMaster has quit (Nick collision from services.). 12:00:12 -!- AnMaster_ has changed nick to AnMaster. 12:33:47 -!- amca has quit ("Farewell"). 12:40:28 -!- MizardX- has joined. 12:40:35 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 12:40:58 -!- MizardX- has changed nick to MizardX. 12:47:54 -!- ais523 has joined. 13:58:48 -!- nice has joined. 13:59:00 -!- nice has quit (Remote closed the connection). 13:59:51 -!- KingOfKarlsruhe has joined. 14:34:04 someone who knows Russian, is http://www.esolangs.org/wiki/Talk:P-prime-prime spam or just a query in the wrong language? 15:08:55 -!- augur has quit (Read error: 110 (Connection timed out)). 15:27:10 -!- oerjan has joined. 15:32:46 ais523: the thing out of google translate looks awfully generic. 15:33:04 like spam, or like a genuine query? 15:33:08 and what was Oleg's response? 15:33:33 "English please. Do you like it here?" 15:35:51 also, wrong question, it looks like many of those things that are obvious bots but still try to _look_ like genuine queries, but reveal themselves because (1) they show up in a completely ridiculous page name (2) they contain nothing that indicates the poster knows what the wiki is about at all 15:36:09 it contains nothing resembling an ad, though 15:36:25 you may be confused by the fact this one has only (2) 15:37:11 "Beautifully turned out ... I do not know how the rest, but I like it. By the way, how to subscribe to my email box comes if someone has left a comment?" 15:37:25 ok, that quite possibly /is/ spam 15:37:36 I'd like an opinion from a native speaker, though 15:38:34 hm... 15:39:47 wow, Google just bought reCAPTCHA 15:39:47 ais523: you _really_ need to learn to use google me thinks 15:39:55 * ais523 wonders if they'll open-source it 15:40:13 it shows up 4 exact matches to the post. i think that about settles it. 15:40:45 http://www.google.no/search?hl=no&q=%22%D0%9A%D1%80%D0%B0%D1%81%D0%B8%D0%B2%D0%BE+%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D0%BB%D0%BE%D1%81%D1%8C...+%D0%9D%D0%B5+%D0%B7%D0%BD%D0%B0%D1%8E+%D0%BA%D0%B0%D0%BA+%D0%BE%D1%81%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%BC%2C+%D0%BD%D0%BE+%D0%BC%D0%BD%D0%B5+%D0%BD%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%81%D1%8F.+%D0%9A%D1%81%D1%82%D0%B0%D1%82%D0%B8%2C+%D0%BA%D0%B0%D0%BA+%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1% 15:41:01 O_o that was a long url 15:41:15 hex-encoded UTF-8 15:41:17 -!- augur has joined. 15:41:19 therefore, it's double-encoded 15:41:24 which is what's making the length 15:41:33 (well, URL-encoded, which is even worse than hex-encoded for length) 15:45:22 http://www.youtube.com/watch?v=Nx7v815bYUw 15:59:36 -!- FireFly has joined. 16:13:18 -!- Pthing has joined. 16:26:03 -!- BeholdMyGlory has joined. 16:26:13 -!- Patashu has quit ("Patashu/SteampunkX - MSN = Patashu@hotmail.com , AIM = Patashu0 , YIM = Patashu2 ."). 16:47:19 -!- oerjan has quit ("leaving"). 16:48:53 -!- kar8nga has joined. 17:10:19 -!- KingOfKarlsruhe has quit (Read error: 104 (Connection reset by peer)). 17:14:55 -!- KingOfKarlsruhe has joined. 17:25:16 -!- KingOfKarlsruhe has quit ("Konversation terminated!"). 17:55:29 -!- impomatic has joined. 17:55:32 Hi :-) 18:04:00 hi 18:06:47 -!- Asztal has joined. 18:26:27 -!- adam_d has joined. 19:20:45 -!- kar8nga has quit (hubbard.freenode.net irc.freenode.net). 19:20:58 -!- kar8nga has joined. 19:23:17 ais523, about that double encoding 19:23:31 wouldn't it be even worse if it was UCS-4? 19:24:20 probably 19:26:04 utf-8 can iirc go up to 5 bytes, but I would be surprised if Russian letters required quite that much 19:26:53 UTF-8 goes up to 4. 19:26:58 -!- kar8nga has quit (hubbard.freenode.net irc.freenode.net). 19:27:11 -!- kar8nga has joined. 19:27:20 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)). 19:27:21 -!- k has joined. 19:27:22 Deewiant, that can't work out, since then you can't represent the full unicode range 19:27:49 -!- k has changed nick to Guest72698. 19:27:54 -!- Guest72698 has changed nick to kar8nga. 19:27:58 4 bytes are perfectly sufficient to represent 0x10ffff. 19:28:04 Deewiant, doesn't the priate area continue past that? 19:28:50 Yes, but UTF-8 is restricted to the range 0-0x10ffff. 19:29:04 3 bytes are enough for 0x10ffff 19:29:20 why isn't there a UCS-3? 19:29:40 Because 3 isn't a nice number, I guess. 19:32:50 ais523, that would be nice for 24-bit architectures I guess 19:32:54 which are quite uncommon nowdays 20:23:36 -!- MizardX has quit ("reboot"). 20:28:59 -!- MizardX has joined. 20:40:58 -!- KingOfKarlsruhe has joined. 20:42:50 ais523, did you ever implement that packed 7-bit thing for convickt? 20:42:56 no, I haven't 20:43:07 I haven't done C-INTERCAL work for ages, been working on other things 20:43:24 ais523, like Feather? XD 20:43:35 AnMaster: I'm confused enough as it is 20:43:43 ah 20:46:37 ais523, so what then? 20:46:41 while (brillig()&&toves==slithy) {toves.location='wabe'; toves.gyre(); toves.gimble(); borogoves=mimsy; mome_raths.outgrabe();} 20:47:11 AnMaster: TAEB and Enigma are the ones recently 20:48:42 impomatic, -_- 20:49:03 impomatic, what language is that supposed to be? 20:49:14 it would be valid as C++ with appropriate definitions 20:49:20 ais523, no 20:49:22 it wouldn't 20:49:23 also Java I think, because the syntax is the same in that case 20:49:32 ais523, look at the string quotes 20:49:40 AnMaster: yes, sort of, 'wabe' is a legal character constant in C++ 20:49:45 although compilers will disagree about what it means 20:50:00 ais523, I can't think of a sensible meaning of it... 20:50:23 and C++ compilers disagreeing? Nothing new 20:51:29 ais523, apart from the 'wabe' it could be valid C. Assuming toves and mome_raths were structs with function pointers in them 20:51:31 I think 20:51:48 ais523: Is it actually legal? I thought it was just a GCC extension 20:51:48 AnMaster: I'm not sure how the precedence works there 20:51:53 ais523, hm ok 20:51:53 and multiple-character constants are in the standard 20:51:57 for both C and C++ 20:52:06 although it's implementation-defined what they mean 20:52:11 heh 20:52:20 Oh, I thought they were complete extensions 20:52:20 Anmaster: it's pseudo-JavaScript :-) 20:52:29 oh, JS 20:52:33 Deewiant, I guess it is intended to allow unicode or such? 20:52:34 you're right, that works 20:52:36 -!- augur has quit (Read error: 131 (Connection reset by peer)). 20:52:45 multi-byte thing 20:52:59 AnMaster: It predates Unicode, I think. But yeah, probably for multibyte stuff. 20:53:03 * ais523 wonders if it's legal Perl 20:53:11 it would mean something rather different from the JS if it were, though 20:53:19 ais523, given the relevant Acme:: module I'm quite sure it is 20:53:22 I thought I'd try #poemsincode as a response to #songsincode 20:53:48 AnMaster: oh, there's a JAPH module which reinterprets any code at all as a JAPH 20:53:50 but that's cheating 20:55:35 ais523, JAPH? 20:55:46 a program that prints "Just another Perl hacker," 20:55:49 ah 20:55:51 the comma at the end is apparently not a typo 20:56:07 it's a common Perl contest to try to write the most obfuscated JAPH you can 20:56:12 in the most ridiculous way you can 20:56:26 ais523, I can imagine the java equivalent of those. XD 20:56:52 ais523, since writing unreadable one-liners is idiomatic perl... 20:56:59 AnMaster: no, I mean unreadable even for Perl 20:57:15 the java equivalent should be complete with javadoc and so on 20:57:21 ais523, I couldn't tell the difference 20:57:28 some particularly respected JAPHs have have included things like multiple processes with IPC 20:57:36 just to print a constant string 20:57:43 ais523, they would have been rather long? 20:57:47 ais523, link to these? 20:57:58 print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n", 20:58:01 "" 20:58:10 Deewiant: haha, that's brilliant 20:58:20 ais523, how so? 20:58:30 AnMaster: it's clearly designed to be a polyglot 20:58:37 ais523, fails in modern python 20:58:41 although, wouldn't the Python version be losing spaces around it? 20:58:41 since print is now a function 20:58:52 if you add parens, it works in Perl at least 20:58:55 not sure about Ruby 21:00:07 with python3.1 I think it is time to drop python 2.6 support for new apps. Probably not for libraries yet though 21:00:25 and python 2.7 support should be dropped too 21:00:48 ais523, if you add parens it will sometimes work in python 2.6 too 21:01:10 2.6>>> print "2 =",2 21:01:10 2 = 2 21:01:18 same with parens in 3 21:01:19 but 21:01:25 with parens in 2.6: 21:01:28 That's at least 3 years old, I think 21:01:30 oh, Python adds spaces at commas? 21:01:34 2.6>>> print("2 =",2) 21:01:34 ('2 =', 2) 21:01:45 that is, a tuple 21:02:05 for one element it works though 21:02:16 All of ruby,perl,python on that file work for me 21:02:21 because then it is interpreted not as a tuple but just () grouping 21:02:23 Evidently Python 2.6.2. 21:02:36 2.6>>> print(2) 21:02:36 2 21:02:40 Deewiant, try python 3.0 or later 21:03:24 Deewiant, is it a two liner? 21:03:48 3.1>>> print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n", 21:03:48 File "", line 1 21:03:48 print "Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n", 21:03:48 ^ 21:03:48 SyntaxError: invalid syntax 21:04:18 it works in python 2.6 though 21:04:51 with parantheses it works in python3, but not python2 21:04:59 3.1: 21:05:01 >>> print("Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n",) 21:05:01 Just another Python hacker. 21:05:04 2.6: 21:05:08 >>> print("Just another", ((0 and " Ruby ") or ("Pyt" + "hon" or " Perl ")), "hacker.\n",) 21:05:08 ('Just another', 'Python', 'hacker.\n') 21:05:34 Yes, it's a two-liner. 21:05:37 I don't know enough ruby or perl to work out how those would work 21:05:49 Deewiant, the python one finishes already at the first line 21:06:33 Hmm, that "" used to be necessary for something but evidently isn't any more 21:06:40 -!- KingOfKarlsruhe has left (?). 21:06:46 Deewiant, nor enough python to work out what boolean expressions + strings do in python :P 21:07:28 well casting to a bool it seems a string is true, so that makes sense 21:07:38 Well, in all these languages or/and return their true result as the original result, not boolean true 21:07:49 So "false && 'foo'" is 'foo' 21:07:49 Deewiant, aha 21:07:53 Er, || 21:07:55 Anyway 21:07:57 that explains a lot 21:08:17 Deewiant, is 0 true in ruby?? 21:08:21 Yes, it is 21:08:28 Deewiant, and 1 is then false? 21:08:34 No, that's also true :-P 21:08:37 oh 21:08:42 Only false and nil are false, everything else is true 21:08:54 Deewiant, that seems a bit trusting 21:09:07 How's that 21:09:23 -_- 21:09:33 Deewiant, that was what is technically known as a joke 21:09:44 I still don't get it 21:09:45 Oh well 21:09:48 Deewiant, ah ok 21:10:18 Deewiant, well, if it thinks almost everything it is told is true? 21:10:25 doesn't that seems a bit trusting and naive 21:10:38 Ah :-P 21:11:00 To be fair, almost everything is true in most popular languages 21:11:11 Deewiant, well python and perl makes 0 false it seems 21:11:21 Yep. 21:12:02 Deewiant, erlang likes to throw exceptions in those cases it seems 21:12:09 4> true and "foo". 21:12:09 ** exception error: bad argument 21:12:09 in operator and/2 21:12:09 called as true and "foo" 21:12:20 same for numeric values 21:12:27 Yes, it's rather a feature of scripting-type languages. 21:12:40 Deewiant, it is perfectly fine in C though 21:12:52 you can do ! and so on for pointers and what not 21:13:14 I meant that in C, true && "foo" won't give you "foo". 21:13:14 it seems empty string in python is false too 21:13:50 Deewiant, but it compiles and doesn't error out in any way 21:13:57 afaik 21:14:06 though, with string constant I'm not 100% sure 21:14:10 Yes, it doesn't. Although compilers might warn. 21:14:21 I'm quite sure. 21:14:34 Deewiant, what truth value does a string has in C? 21:14:49 It gets implicitly converted to a pointer, no? 21:14:53 Which is then always true. 21:15:06 Deewiant, um, does that apply to string literals? 21:15:12 maybe it does, not sure 21:15:18 It does. 21:15:32 GCC apparently says nothing even with -Wall -W -pedantic. 21:15:53 -W is a deprecated alias for -Wextra 21:16:07 I am aware. It is also 5 characters shorter. 21:16:24 good answer 21:19:24 Anyway, the Perl bit is probably the only non-obvious thing 21:19:33 Deewiant, oh? 21:19:40 Deewiant, how does the perl one work? 21:19:47 In Python, + concatenates; in Perl, it unsurprisingly adds two numbers :-P 21:20:01 Deewiant: did you remember -ansi? 21:20:05 Which leads to interpreting "Pyt" and "hon" as numbers 21:20:09 Deewiant, what does it do for two numbers then? 21:20:13 throws an exception? 21:20:21 ais523: No, but it doesn't make a difference. 21:20:32 yep, in Perl + casts its arguments to numeric 21:20:40 and those strings each have a numeric value of 0 21:20:43 Since "Pyt" and "hon" are nonnumeric, they both evaluate to 0 21:20:48 ais523, how can they have that? 21:20:53 I.e. since they're not "1" or something. 21:20:53 Deewiant, ah 21:20:59 AnMaster: well, what numeric value do you think they have? 21:21:12 actually, the numeric and string sides of a value are independent, although it's quite hard to set one and not the other 21:21:14 So then you get (0 + 0 or " Perl ") i.e. (0 or " Perl ") i.e. " Perl ". 21:21:15 ais523, adding the ascii codes modulo 256 or something like that 21:21:35 AnMaster: Perl wouldn't do something as silly as taht 21:21:40 actually, the numeric and string sides of a value are independent, although it's quite hard to set one and not the other <-- clarify? 21:22:46 ais523, ooh even better. Store the string as a Gödel number 21:22:56 AnMaster: you can have a value which casts to a string, and to an unrelated number 21:23:22 AnMaster: you can have a value which casts to a string, and to an unrelated number <-- still not sure what you mean 21:23:52 something like? 21:23:54 >>> str(29999999999999999999.4) 21:23:54 '3e+19' 21:23:59 >>> int(29999999999999999999.4) 21:23:59 30000000000000000000L 21:24:26 (that L won't be there in python 3 or later) 21:24:26 AnMaster: He means that strings are something like struct String { char* str; int numeric; } 21:24:49 And it is, somehow, possible to change only one of those fields without affecting the other 21:25:05 Deewiant, mhm, basically a class with overridden cast operators in C++ or similar? 21:25:15 confusing the hell out of anyone reading code using said class 21:25:31 Deewiant, ah ok, not really then 21:25:33 even worse rather 21:25:43 ais523, example? 21:25:51 Deewiant, and that sounds like a bug 21:25:57 AnMaster: error messages 21:26:13 if you get an ENOENT or whatever, you get its number casting it to a number, and "No such file or directory" casting to string 21:26:23 ais523, hm ok, sure, but that sounds like casing exception class to various things tries to yeild useful stuff 21:26:37 basically, overriding cast code for the error class 21:26:40 ais523, no? 21:26:57 it isn't a class (in Perl5, at least) 21:27:02 well ok 21:27:07 it's just a constant that has different string and numeric values 21:27:17 ais523, same but not defined in a consistent framework 21:27:36 (which is what classes provide, at least the mess is now consistent) 21:55:07 that's what they're doing for Perl6 22:17:20 -!- BeholdMyGlory has quit (Remote closed the connection). 22:37:43 -!- ais523 has quit (Remote closed the connection). 22:54:41 -!- adam_d has quit (Read error: 113 (No route to host)). 23:00:01 -!- oerjan has joined. 23:02:03 -!- espenlaub has joined. 23:02:23 hi 23:02:27 hello 23:02:34 how are you? 23:03:11 xD ? 23:03:15 where from? 23:03:17 just logged on myself 23:03:19 norway 23:03:25 germany here 23:03:34 i guessed so 23:03:44 why 23:03:52 espenlaub: ident line. 23:03:56 + espenlaub [n=espenlau@HSI-KBW-078-043-179-008.hsi4.kabel-badenwuerttemberg.de] joined #esoteric 23:04:17 ok.nice. big brother is watching u ;-) 23:04:31 how old are you 23:04:38 so, new here? this channel is about esoteric (weird!) programming languages, but we're rarely on topic 23:05:10 what are esoteric programming language, i know html though... 23:05:12 39, i'm one of the oldest here 23:05:59 lessee 23:06:51 so you are very expierenced in speaking esoteric programming languages? 23:06:56 what is lessee 23:07:02 espenlaub: Programming language => way to express computer programs. Esoteric programming language means programming language that contains weird (from mainstream point of view) stuff. 23:07:04 ^bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+. 23:07:07 and what do you usually talk about here if not on topic 23:07:17 Hello World! 23:07:37 is ilari a bot? 23:07:38 that was brainfuck, one of the most famous ones 23:07:43 no, fungot is 23:07:43 oerjan: ' oh, even mr ron here would rather wash under his arms than heads." 23:07:55 also HackEgo and EgoBot 23:08:04 what kind of weird stuff should that be? 23:08:13 are you a coder? 23:08:50 only amateur 23:08:56 i really dont understand what this is all about 23:09:01 can u enlighten me 23:09:17 espenlaub: Look at the line oerjan wrote. Does it resemble print "Hello, World!" (or close variation thereof) as in almost any mainstream programming language? 23:09:50 that ^bf line above was a program in brainfuck, to write "Hello, World!". fungot then ran the program (^ is the prefix that bot uses) 23:09:51 oerjan: there was the city of ephebe surrounded them. dogs barked. somewhere a cat fnord' rincewind began, trying again with another straw.) you bastard looked down at his feet. 23:10:22 alright. 23:10:24 it also responds if you mention its name. it is itself written in an esoteric language, befunge 23:10:33 ^source 23:10:33 http://git.zem.fi/fungot 23:11:23 is this something like an elite science only chosen people are able to handle with 23:11:51 yes... insane people 23:12:13 we are all mad here 23:13:21 espenlaub: Brainfuck is really simple language. It has 8 operations: '>': Move to next memory cell. '<': move to previous memory cell. '+': Increment value in current cell, '-': decrement value in current cell. ',': read character from keyboard and store to current cell. '.' write current cell as character to screen. '['. If current cell is zero, jump to corresponding ']'. ']': If current cell is nonzero, jump to corresponding '['. Otherw 23:13:26 most of the esoteric languages are made to be incomprehensible or at least hard to read. they're like puzzles to code in, really 23:13:27 or better: just different mind-aliented people 23:13:37 That broke: ...cell is nonzero, jump to corresponding '['. Otherwise execute each character in order until end of program is hit. All execpt those 8 characters are ignored. 23:14:23 some like brainfuck are incomprehensible because their basic commands are ridiculously simple 23:14:59 Those languages have an advantage, though: they are rather easy to compile to. 23:15:40 (Brainfuck is a really easy target for making a higher-level language around) 23:16:17 I am conflicted re fungot's ^source; on one hand, the gitweb link points to something you can use to (theoretically) get it up-and-running; on the other hand, it doesn't really have the immediate visual impact the actual main source file -- http://git.zem.fi/fungot/blob_plain/HEAD:/fungot.b98 -- has. 23:16:18 fizzie: ' well done.' granny handed him his badge, swear him in, and he was suddenly very, very hard." the clown demanded. " you don't use it,' said 23:16:27 espenlaub: If you want some articles, there's "Friday pathological programming"-series in blog named "Good Math, Bad Math". 23:16:48 espenlaub: That stuff is about esoteric programming languages. 23:18:03 www.scienceblogs.com/goodmath -- This blog. 23:18:06 it's an old series from 2006-2007, but the blog owner is doing a partial rerun now 23:18:17 ^def source ul (http://git.zem.fi/fungot/blob/HEAD:/fungot.b98)S 23:18:17 Defined. 23:18:32 ^save 23:19:30 espenlaub: Some esoteric languages are totally crazy. Like ones based on laying tiles. Or other languages with no concept of where one is in program. 23:19:32 Maybe that's a good compromise. Though the ^save didn't take. Uppity bot refuses to obey. 23:19:35 this is somekind of a media communication development 23:19:37 ul is underload, another ridiculously simple language 23:19:52 espenlaub: i don't know what you mean 23:20:38 the artificial creation of new languages only used in a virtural dimension 23:21:06 espenlaub: anyway when we're not on topic there is a lot of talk about coding and computers and other geek stuff 23:21:11 oerjan, why do you think you are mad? alice in wonderland 23:21:24 espenlaub: i just like that quote :) 23:21:32 and thats all? 23:21:41 * oerjan looks for the exact text 23:21:59 espenlaub: It takes some madness to be able to design mind-bending programming language (which is by defintion esoteric). 23:22:04 heilandsack 23:22:23 .'But I don.t want to go among mad people,' Alice remarked. 23:22:23 'Oh, you can.t help that,' said the Cat. 'We.re all mad here. I.m mad. You.re mad.' 23:22:26 'How do you know I.m mad?' said Alice. 23:22:29 'You must be,. said the Cat. 'or you wouldn.t have come here.'. 23:22:37 darn unicode characters again 23:22:48 cool dialog 23:22:54 the cat must be right 23:23:01 yep 23:23:13 so you just hang out in this chat for geek stuff and for esoteric stuff? 23:23:27 and not for esoteric stuff i wanted to say 23:23:46 thats a hack 23:23:54 espenlaub: also, someone officially declared me insane after i wrote an interpreter for unlambda (an esoteric language) in INTERCAL (another one) 23:24:07 (well, privately actually) 23:24:22 you can handle that with your own? 23:25:20 you know it seems just a little bit crazy and isolated beening declared as an insane person by others 23:25:26 when i get in the mood. it doesn't happen _that_ often... 23:25:48 espenlaub: well mind you this other person was also an esoteric language person 23:26:19 for what type of application are you programming with esoter. language? 23:26:30 silly ones 23:26:32 One esoteric programming language I have coded interpretter for: It starts with empty string. At each step it places 0s, 1s, is or os at end of string, avoiding given pattern. If i is placed, it stops to read the keyboard and then spits binary representation of read character into end of string and continues. If o is placed and 8 characters before it are binary, it writes that as character to screen. Program halts when string can't be ext 23:26:44 ...character to screen. Program halts when string can't be extended anymore without violating the pattern given. 23:27:20 The pattern is given as context-free grammar. 23:27:30 how many commands has the language? 23:27:52 -!- espenlaub has quit ("http://irc2go.com/"). 23:28:07 Oh, and the 0s and 1s written when i is placed ignore the pattern given. 23:29:27 is this a regex pattern, or just a single string? 23:29:45 context free grammar. Its more powerful than (standard) regex. 23:29:50 oh right 23:30:16 and i guess it chooses non-deterministically at each step? 23:30:25 -!- coppro has joined. 23:30:44 Actually, randomly if it has multiple choices. 23:31:28 I don't consider that random choice and nondeterministic choice to be the same thing. 23:31:49 there is a certain overlap... 23:32:33 and since it can halt, i take it that it doesn't consider more than one character at a time to extend with? 23:32:51 as in, the character added can destroy the ability to go further 23:33:00 Yes, only considers single character at time (except of course that i spamming 8 at time). 23:33:33 so is it tc? :) 23:34:07 And as said, i ignores the pattern. If after it spams the 8 chaaracters the string matches the pattern, the program continues. 23:34:26 I think it is TC. 23:35:19 now the complement of a context-free language is not necessary context-free, hm 23:36:07 so there is not a pattern you stay within 23:36:34 It was inspired by some undecidable problem involving context free grammars. 23:36:58 ah, so it was designed to be undecidable and so probably tc? 23:38:13 IIRC, it was about finding string that given CFG doesn't generate. 23:38:35 right 23:38:59 hm wait 23:39:38 that does not obviously give tc though, since you are choosing randomly at each step 23:40:11 Writing the pattern in suitable manner, you can force it to be deterministic. 23:40:14 and so you are not doing your utmost for finding such a non-generating string 23:40:26 yeah, but does it stay undecidable then? 23:40:57 Of course, when designing the language, I had to figure out how to make it only consider one character at time. 23:41:05 -!- kar8nga has quit (Remote closed the connection). 23:42:02 the pattern takes the _whole_ string though, it's not about initial substrings (since otherwise ignoring the pattern at i would not help) 23:42:13 i assume 23:42:27 i mean, the whole string at the current step 23:42:46 It should be possible to match all false executions of given turing machine. 23:43:41 The i is input operation. o is output. They have role analogous to brainfuck , and . 23:43:58 for tc it needs to emulate the turing machine deterministally though 23:44:29 oh wait now i vaguely recall something 23:46:09 i and o probably won't change its computational class. 23:46:27 you can embed the history of running of a turing machine in a string so that matching two context-free languages ensure the history is correct 23:46:41 Yup. 23:47:28 -!- Sgeo has joined. 23:47:57 which was how a book i browsed proved that some problem about context-free languages was undecidable 23:48:23 i don't recall the rest of the details though 23:49:41 hm maybe you can also do that with avoiding a single cfg, is that how your language is intended? 23:50:18 -!- FireFly has quit ("Later"). 23:50:21 by using the cfg to detect mismatches in the history 23:51:05 If you have multiple CFGs that all detect false executions, you can take their union. 23:51:42 the history is the steps of the turing machine computation, with odd and even steps reversed. that way you can look at consecutive pairs of steps and analyze them. i think. 23:52:07 i'm not sure how much i'm remembering and how much i'm reconstructing here :) 23:53:33 however, now it seems obvious to me this can be done 23:54:30 My idea was to encode state, symbol, new state, new symbol and movement for each step. Then false executions include: Wrong steps, states not matching in consequtive operations and symbols not matching in same positions (finding same positions is like the "brace language"). 23:55:01 Of course, one has to arrange the first state and symbol as well. Then the other rules can take over. 23:55:13 yeah 23:57:34 * Sgeo just got an IRC death threat 23:57:46 The reference interpretter probably couldn't execute 99 bottles of beer, since it would take too much memory and CPU... 23:58:16 i don't think you need the new state and new symbol together with the old one, though, just make the matching of those in consecutive pairs part of the "brace language" thing 23:58:36 Probably can be simplified... 23:59:12 (the brace language thing was why i said/recalled that consecutive steps needed to be encoded reversed from each other) 23:59:17 The reference interpretter undergone quite much optimization. The first versions took something like 12 seconds to execute "Hello, World!". The later versions only ~40ms.