00:00:03 oerjan, mine also shows the line for who set the topic 00:00:12 Mathnerd314, iirc he used to use netcat or such before he wrote it 00:00:12 zzo38: ok 00:00:13 is it online somewhere? 00:00:18 probably 00:00:19 AnMaster: well yeah here too 00:00:25 or maybe telnet 00:00:27 don't remember 00:00:36 I think the exception remains his OS. 00:00:40 And possibly his editor. 00:00:44 pikhq, ? 00:00:48 zzo38. 00:00:56 pikhq, exception to what? 00:01:03 Software he wrote. 00:01:03 -!- Asztal has quit (Ping timeout: 265 seconds). 00:01:10 ah 00:01:13 -!- Azstal has changed nick to Asztal. 00:01:16 By the way, unignore alise. 00:01:24 I hate having to explain what he says. 00:01:43 pikhq, "the NIH is string in the zzo38" 00:01:54 meh that didn't work out well as a star wars parody 00:02:13 http://zzo38computer.cjb.net/prog/PHIRC/phirc.zip (Note I didn't copy the newest version yet, it will be soon) 00:02:19 pikhq, oh forget he was in here 00:02:21 pikhq: Just stop doing it; then he'll get all annoyed. 00:02:23 forgot* 00:02:25 Yeah right. You did not. 00:02:34 You were blabbing about ignoring me just before; this is just more of that childishness. 00:02:38 -!- Oranjer has left (?). 00:02:41 zzo38, in php!? 00:02:47 AnMaster: /unignore 00:02:55 Gasp! PHP can access stdio/stdout! 00:02:57 And the network! 00:02:58 pikhq, thanks but no 00:03:01 How is this possible! 00:03:05 Or else next time you go "LAWL IM IGNORING ALISE" I ignore you. 00:03:11 !sh echo then stop asking pikhq to explain for you ~ 00:03:13 Because frankly it's just getting ridiculous. 00:03:15 aww 00:03:15 pikhq, I didn't say that 00:03:16 ... 00:03:17 i forgot egobot is gone 00:03:18 :-) 00:03:22 Yes it is written in PHP, mostly because I know how to socket access in it even cross-platform 00:03:30 You have been fairly often. 00:03:51 Add-ons can also be written in PHP, or in CRISC. 00:03:52 pikhq, I just replied to your mention of having to repeat what he said that I forgot he was in here, thus I forgot to filter out the "half discussions" 00:03:58 that was all... 00:04:00 zzo38: this client? gopher://zzo38computer.cjb.net/0fossproj/irc_client/help 00:04:18 Yes, same client. That is an alternate URL 00:04:35 Mathnerd314, how comes you checked gopher://? 00:04:42 I mean, who would think doing that 00:04:45 think about* 00:04:58 somehow I find it easier to browse his site with gopher :p 00:05:06 Mathnerd314, sure okay 00:05:12 that much is true :P 00:05:14 His website is gopher-proxied, I'm pretty sure. 00:05:27 nope 00:05:28 afaik 00:05:29 pikhq, yes I think so too 00:05:30 i have been wondering if we need a stricter ignore policy. (1) no trying to get around ignores (2) no taunting people you are ignoring 00:05:31 it's right on the user page: http://esoteric.voxelperfect.net/wiki/User:Zzo38 00:05:46 oerjan: we have basically no policies though! 00:05:47 don't ruin that! :P 00:06:03 ...anyway AnMaster is the only one who does the latter and i've only done the former to actually tell AnMaster helpful things 00:06:06 (gave up on that; realised he's not worth it) 00:06:26 pikhq, actually the http and gopher versions don't match 00:06:29 alise: yeah, i wouldn't do it unless people start getting seriously annoyed - i guess pikhq is the one who comes closest 00:06:31 Actually my HTTP and gopher are two separate sites although they share many files in common. Eventually it is planned to share additional files in common, although some things will be exclusive to one or the other because they are only useful on one 00:06:33 Alas. 00:06:35 gopher://zzo38computer.cjb.net/ vs. http://zzo38computer.cjb.net/ 00:07:04 oerjan: I'm only annoyed because I tend to talk to both AnMaster and alise a lot. 00:07:34 well who doesn't, they _are_ the most talkative people on the channel, or close to it 00:07:37 For example, the weather reports and movie times will stay on gopher only. In addition, the dynamic images service will stay HTTP only. (There are others too) 00:07:40 pikhq, well that isn't really my problem. Nor alise's problem. Nor your. 00:07:45 (when they're here) 00:07:53 oerjan: Interesting how that's the smartest and dumbest people! 00:07:55 :-P 00:07:56 I kid, I kid. 00:08:11 Well, AnMaster /is/ the dumbest but you're probably the smartest. 00:08:15 oerjan, I think fizzie did some graphs showing we were the most talkative persons 00:08:17 For one, you run away whenever I sling you into doing something. 00:08:21 oerjan: True. 00:08:24 I think ehird beat me with a bit 00:08:49 Of course I will not be that high now being absent 4.5/7 of the week. 00:09:08 zzo38, dynamic images? 00:09:18 Which is suspiciously close to the golden ratio minus one!!!!!!!! 00:09:36 !1112123 00:09:45 -!- benuphoenix has joined. 00:10:34 -!- benuphoenix has left (?). 00:10:49 ais523, is a.l.i dead? 00:11:07 my guess is that quite a few people still read it 00:11:08 AnMaster: yeah i recall those, but not the results 00:11:09 but nobody's posted in ages 00:11:10 ais523, there doesn't even seem to be spam on it nowdays 00:11:13 I still read it 00:11:26 ais523, that is easy, since no one posts on it ;P 00:11:27 at least, I have email notifications 00:11:28 does that count? 00:11:32 Dynamic images are such as: http://zzo38computer.cjb.net/dynamic_images/cellular_automata.php http://zzo38computer.cjb.net/dynamic_images/clock.php 00:11:40 ais523, I use a usenet client to check it 00:11:42 I also use it for dynamic avatars on some forums 00:12:51 I also have SMTP but I only run the SMTP program when I am expecting a message (to confirm registration and so on), I won't receive any unwanted messages this way 00:12:56 ais523, ugh I hate this cold (not temperature, the other type) 00:13:04 wtf, Haskell's Rational type doesn't have / 00:13:08 um sure it does 00:13:12 -!- FireFly has quit (Quit: Hey! Listen!). 00:13:27 * AnMaster throws the previous paper handkerchief in the bin 00:15:40 instance Integral a => Fractional (Ratio a) 00:16:18 right right 00:16:20 I was merely confused 00:16:30 ok 00:17:22 -!- nooga has quit (Ping timeout: 248 seconds). 00:18:07 AnMaster: In case you missed it, as a side effect of this compiler here's yet another (unreadable) fungot graph: http://zem.fi/~fis/test.png 00:18:07 fizzie: what's oou? vs eq?. 00:23:11 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 00:25:35 One day I will write operating system stuff, too, when I get another computer 00:30:47 Question: How do you format Icoruma codes as a printable format including page-numbers, cross-references replaced by the chapter/table/page number, index, so that it can be printed to make a book? 00:32:29 Answer: use latex 00:33:02 OK 00:33:55 * oerjan realizes that zzo38 is strictly following the "Don't ask to ask" principle 00:34:02 though what is Icoruma? 00:34:36 and it freaks me out, despite being recommended 00:34:38 Mathnerd314: Icoruma is a markup language specifically for typing the rules for role-playing-games. 00:34:50 oerjan: Most people don't follow it, sadly. 00:34:55 is it documented anywhere? 00:35:30 (Icoruma's syntax) 00:35:34 Mathnerd314: Not very well. But just wait a minute I will copy the files and documentation I have so far. I can post examples too, if you want. 00:35:57 pikhq: well it _does_ frequently leave me with a "how can he possibly assume anyone knows this" feeling, then i remember this is #esoteric. 00:36:04 I ask to ask... but that's only so that I know to not take seriously the advice of people who didn't confirm that they know about what I'm talking about 00:36:05 ok. see you after lunch. 00:36:11 (often they give a general, simpler answer to a more specific question) 00:36:13 It will only take a minute 00:36:15 Mathnerd314: bye 00:36:38 Question: How do you format Icoruma codes as a printable format including page-numbers, cross-references replaced by the chapter/table/page number, index, so that it can be printed to make a book? 00:36:45 Do you want it to be nicely typesetted? 00:36:49 Or do you want to print a book in monospace? 00:36:52 alise: Asking to ask is only really useful if you're really asking if anyone has relevant knowledge, yeah. 00:37:01 zzo38: By the way, TeX it up. 00:37:17 Just TeX; not LaTeX. 00:37:18 Typesetted, of course. Now I did find some instructions for LaTeX so hopefully I can figure it out 00:37:20 zzo38 would like TeX. 00:37:23 Or just TeX 00:37:25 He wouldn't like LaTeX. 00:37:39 I don't care if you use some crazy shit to generate the TeX, it's just that, well. TeX does typesetting right. 00:37:40 TeX is not very documented at all, has not many commands, and is quite low level. LaTeX is a huge mass of macros and structure. 00:37:48 And TeX gives you much more control over formatting. 00:37:53 So I think zzo38 will probably like TeX more. 00:38:01 TeX is actually fairly well-documented. The source code is also a book. 00:38:08 Isn't that internal workings? 00:38:13 zzo38: TeX automatically numbers pages by default, so you won't need to worry about that. 00:38:20 Table of contents -- does LaTeX do this or TeX? I have no idea. 00:38:21 Yeah, and? 00:38:34 alise: OK I found TeX now 00:38:51 zzo38: LaTeX will format a table of contents wonderfully for you, if you don't mind having not-so-much control over formatting. 00:38:52 Pretty sure that's TeX. 00:38:59 You can change font, and indenting, and stuff, and even make your own title page. 00:39:03 -!- jcp has joined. 00:39:03 But some things are a bit iffy to control. 00:39:10 pikhq: TeX doesn't even do title-making for you... 00:39:21 Well. Do you mean the TeX primitives, or Pure TeX, which is the default macro package? 00:39:36 I can look at both TeX and LaTeX and I can see what codes are available 00:39:38 Pure TeX, I guess... I've only used TeX primitives, I think. 00:39:49 zzo38: Oh, you can use TeX in LaTeX of course. 00:39:54 There's only some 300 primitives. 00:40:03 LaTeX is just a [huge, advanced] set of macros [turing complete] for TeX. 00:40:07 zzo38: LaTeX is just a macro package for TeX. 00:40:10 zzo38: http://miktex.org/ is TeX for Windows. 00:40:17 O, OK, it is a macro package for TeX. 00:40:19 Very large, as alise said, but just some macros. 00:40:27 It can output as PDF among other things, which would be ideal for printing as a book. 00:40:35 You could even get it self-published, say on lulu.com. 00:41:00 I will look at http://miktex.org/ hopefully it can still be cross-platform however I don't want it to be restricted to Windows or to any other operating system 00:41:06 zzo38: TeX is totally cross-platform. 00:41:18 MiKTeX is just TeX/LaTeX/pdfTeX compiled for Windows, 00:41:20 alise: Thanks, that is what I thought anyways 00:41:30 plus tons and tons of macro packages (you need them; core TeX is very small). 00:41:35 It's written by freaking Knuth. 00:41:39 -!- Alex3012_ has quit (Ping timeout: 265 seconds). 00:41:45 Knuth is a bit of a stickler for writing things right. :) 00:41:54 zzo38: You'd like TeX's actual source code. It's literate programming -- of course, Knuth invented that -- 00:42:04 so it's written in TeX itself, with snippets of 70s Pascal in between. 00:42:20 Actually, TeX the program is actually in literate C. 00:42:22 His WEB system is used to extract and rearrange the Pascal from this document/code, and then that Pascal is translated into C for compilation for modern systems. 00:42:25 (now) 00:42:29 pikhq: Oh... that's sad. 00:42:31 Well, still. 00:42:36 CWEB. 00:42:46 It used to be compiled to C from 70s Pascal, though! 00:42:57 Yeah; it got ported. 00:43:04 THAT'S NOT FAIR 00:43:12 I currently have Icoruma->HTML so now if I can write Icoruma->TeX as well, it can work 00:43:21 It's still literate code. 00:43:35 And the idea of literate C amuses me. 00:43:38 ftp://ftp.tex.ac.uk/tex-archive/systems/knuth/dist/tex/tex.web ;; the Pascal TeX 00:43:45 Just seems so... Anathema to most of C. 00:43:51 Looks like zzo38's code, actually. 00:43:59 pikhq: GHC includes Literate Perl... 00:44:15 alise: Which seems less odd... *Somehow*. 00:44:21 zzo38: Your Icoruma is actually very similar to TeX! 00:44:32 zzo38: It has an embedded turing-complete language for defining macros -- just like TeX. 00:44:35 Also, isn't Literate Perl implemented via Perl... "macros"? 00:44:45 It evaluates these macros then typesets the document to an output format -- just like TeX. 00:44:55 A lot of it is built up from simple primitives -- just like TeX. 00:44:58 pikhq: No, it's preprocessed. 00:45:03 i am not entirely sure but i think the cross-reference handling bits of LaTeX are not TeX, so if you want those you'll have to use LaTeX. 00:45:07 Aaaaw. 00:45:11 -!- Azstal has joined. 00:45:16 oerjan: you mean bibtex? 00:45:19 he won't want that; it's just for papers. 00:45:21 mostly 00:45:25 not really books unless you're Hofstadter :-) 00:45:34 Also, Bibtex isn't LaTeX. 00:45:34 alise: no, just intra-book references 00:45:35 ==Define AddLinkedContents 00:45:36 =.=Copy Leader =Argument 00:45:36 =.=Set Separator "> 00:45:36 =.=Calc @Name @Separator Concatenate @Leader @Heading Concatenate Concatenate !=Value 00:45:36 =.=Command =Quote oerjan: you mean inter- 00:47:05 intra- is within 00:47:05 -!- Azstal has changed nick to Asztal. 00:47:11 intra-net; a network within an organisation 00:47:14 inter-net; a global network 00:47:23 the Internet; the most common inter-net 00:47:25 alise: i definitely did _not_ mean inter-, then 00:47:28 And the "AddLinkedContents" you gave is specific to HTML, it cannot be used in all Icoruma codes. All the other files except for the html_contents.irm are generic Icoruma files, though (since they don't use ==Quote command) 00:47:31 i meant within the book 00:47:37 oerjan: right, then you mean intra- 00:47:52 zzo38: Yes. I'm just saying that it's actually very similar! 00:48:02 alise: OK 00:48:02 So do icoruma files often have links? 00:48:11 You may want to replace them with footnotes saying "See p.#N". 00:48:13 -!- Alex3012_ has joined. 00:48:16 (in the TeXifier) 00:48:46 alise: Icoruma files can have cross-references to other places within the document (although they could be in another file, as long as they are joined together using ==Include command) 00:48:50 One thing's for sure; if it's typeset with (La)TeX it's going to look very, very good. 00:48:55 Knuth is a master of typesetting & typography. 00:48:58 Icoruma documents cannot contain any other kind of links. 00:49:40 They cannot contain links with text, however. The cross-reference *is* where the page-number goes. 00:49:50 Then that will work nicely. 00:50:11 html_contents.irm makes real links simply because it is HTML-specific and uses the ==Quote command for that. 00:51:37 I ought to make a typesetting system. 00:51:44 Or at least a document-authoring system. 00:53:07 pikhq: Wow; Knuth is so obsessive he gives Euler's name in Cyrillic because "Also, Leonhard Euler spent most of his life in St. Petersburg, and published hundreds of works there, so I give his name also in Cyrillic, both old style and new." 00:53:22 zzo38: LaTeX's \ref and \pageref commands to put in cross-references iirc. how to define the key for pointing to depends on what you want to point to (chapter, section, subsection or something else - you can define your own numbered subdivisions). 00:53:25 Could he be any more precise? 00:53:27 alise: :) 00:53:31 Only Dijkstra was so. 00:53:40 *can even define 00:54:02 So, my current project is defining simple algebraic structures in Coq. 00:54:15 I have got everything up to abelian groups working /perfectly/; but am having troubles with pseudorings. 00:54:22 oerjan: OK, thanks that helps 00:54:28 Specifically, my AbelianGroup and Semigroup types are not paramaterised at all: so I need to include an extra field, 00:54:31 prAg_Sg : (prAg:Type) = (prSg:Type); 00:54:34 to ensure that they are on the same type. 00:54:41 Then every property about them most involve lots and lots of casts. 00:54:57 This means that I cannot use properties of lower structures on them, because they do not recognise the operations, buried as they are underneath so many casts. 00:55:11 What should I do? Should I parameterise the structures? That has its own problems... 00:55:49 -!- Rugxulo has joined. 00:56:09 well, I (basically) finished my B93 interpreter in Rexx 00:56:24 doesn't pop zero on underflow yet, but most semi-complex examples work 00:56:38 I'll have to tweak and test it more later 00:57:15 so if anybody wants to take a look, feel free to ask 00:57:29 welp, that's all for now, bye! :-P 00:57:33 -!- Rugxulo has quit (Client Quit). 00:59:39 "If there is a set of infinite numbers, for instance: set of Natural numbers N, what is the probability of occurrence of a particular number say x belonging to N? Is it zero as probability is 1/infinity so does it mean all the numbers do not exist? 00:59:39 " 00:59:40 --/r/math 01:01:54 that's actually a somewhat subtle problem 01:02:27 you have no uniform probability measure on the naturals, but there are various approximations 01:02:35 yes 01:02:39 i just thought the question was funny 01:02:45 the guy sounds really scared that the natural numbers might not exist 01:03:48 The most obvious form of number. 01:04:43 natural numbers; numbers untainted by malevolent human hands 01:04:47 in tune with nature. organic numbers. 01:04:52 and for an _uncountable_ set like the interval [0,1], it's just the usual "every number has probability 0" "paradox" (resolved by having only countable additivity of probabilities.) 01:04:53 organic numbers; those produced by organs. 01:04:54 you could do prob(x) = 1/x^2 01:05:01 organs; parts of the human body. played in churches. 01:05:17 Oh, also, I was wrong. TeX is still written in WEB, not CWEB. 01:05:20 (suitably scaled) 01:05:55 pikhq: WOOT! 01:05:58 It's normally compiled via web2c, which directly compiles the subset of Pascal that WEB allows to C. 01:06:08 See, /this/ is why Knuth is awesome. 01:06:16 He maintains a progam written in a hybrid of TeX and 70s Pascal. 01:06:30 And does it competently. 01:06:44 More than competently. 01:07:02 I'm sad that he stopped handing out *actual* Knuth checks. 01:07:05 He barely maintains it anyway; the version change to π will not change affairs much. 01:07:12 Mathnerd314: well yeah. that doesn't work for [0,1] though. 01:07:14 It is very stable code. 01:07:31 TeX π's release -- the silliest way to say "Knuth dying". 01:07:50 Also METAFONT's e release. 01:08:08 Icoruma was not even based on TeX, it was mostly idea from MediaWiki and pod, actually. And Icoruma is best for rules of role plaing games, so it isn't really the best thing to use for anything else (although it still can be -- I have written a beer program in Icoruma, just to see if it can be done). If you want to type rules for a role playing game, though, Icoruma is not such a bad thing to use. 01:09:17 zzo38: But you inadvertently ended up taking inspiration from TeX, even having not been exposed to it! 01:09:28 You invented the most-formatting-commands-are-simply-turing-complete-macros-over-primitives idea. 01:09:48 You invented the collates-documents-runs-macros-then-spits-out-output-based-on-primitives idea. 01:10:00 Independently reinventing the core of TeX is something to be proud of; it took Knuth to do it the first time. 01:10:05 Mathnerd314: http://zzo38computer.cjb.net/prog/Icoruma.zip this might be what you were looking for 01:10:17 alise: OK, I understand now 01:10:45 What language is Icoruma coded in? 01:10:52 Also, it's evidence that you're going about this *the right way*. 01:10:57 Icoruma is coded in PHP actually 01:11:04 TeX *defines* how you do typesetting. 01:11:32 Since it in PHP it might be usable even in a wiki, if someone wants to do so 01:11:39 zzo38: See, Knuth maintains TeX in 70s Pascal, a mammoth task considering how limited and arcane the language is. 01:11:47 You maintain Icoruma in PHP, a mammoth task considering how limited and arcane the language is. 01:11:57 * alise puts on sunglasses retroactively 01:11:59 YEAAAAAAAAAAAAAAAAAAHHHHH 01:12:03 [the who plays] 01:12:44 alise: :) 01:13:16 Of course, TeX and Icoruma have somewhat different purposes 01:13:37 so does Pascal and PHP. i think. 01:13:44 I wonder what the simplest, most theoretical Pascal-like you can define is. Not PL/I... some other thing with a similar name; that thing has to be close. 01:13:46 oerjan: *do 01:13:53 Well, yes. 01:14:03 Oberon is very minimalist. 01:14:24 * oerjan merges Pascal and PHP to avoid correcting his grammar 01:14:28 MWAHAHA 01:14:30 Here's the entire definition of Oberon-2: 01:14:31 http://www.statlab.uni-heidelberg.de/projects/oberon/kurs/www/Oberon2.Report.html 01:14:33 :D 01:14:36 pikhq will like that, I bet. 01:14:44 He seems to be a fan of tiny definitions. 01:14:47 Or, that may just be my heuristics. 01:14:54 alise: I am quite often. 01:14:56 It's even shorter than R5RS. 01:15:04 And there's an entire, full-featured, minimalist operating system written in it. 01:15:11 That fits on a floppy. With a GUI, and a TCP/IP stack. 01:15:11 Oh, Oberon. 01:15:17 It's 16 pages long. 01:15:20 (The language spec.) 01:15:24 I remember that sucker. 01:15:28 :)( 01:15:42 :)(: 01:15:50 * alise looks for the exact quote 01:15:52 "The Oberon OS is available for several other hardware platforms, generally in no cost versions. It is typically extremely compact. Even with an Oberon compiler, assorted utilities including a web browser, TCP/IP networking, and a GUI, the entire package fits on a single 3.5" floppy disk. The version which runs on bare PC hardware is called Native Oberon." 01:16:00 Yeah, decent thing. 01:16:05 zzo38: that zip is not loading for me 01:16:33 alise: What is it doing if it is not loading? 01:16:47 Just loading indefinitely without result. 01:16:48 What errors do you get? 01:16:58 Ah, now it works. 01:17:00 My connection is sporadic. 01:17:17 zzo38: Holy crap, icoruma is small! 01:17:33 icoruma.php is just 284 lines... icoruma_html.php 128 lines. 01:17:46 It's only a few functions. I was expecting it to be far bigger 01:17:49 s/$/./ 01:18:10 This thing typesets the entire RPG documentation thing? 01:18:49 Yes, it does that. (icoruma.php just parses and interprets it, icoruma_html.php converts it to HTML) 01:19:01 * oerjan merges Pascal and PHP to avoid correcting his grammar <- aaaaaaaargh 01:19:17 zzo38: Good code. 01:19:23 pikhq: Does TeX's Pascal even have enumerations? 01:19:28 * pikhq tries to find icomura 01:19:31 alise: Don't think so. 01:19:34 Or the subrange type thing like 1..10? 01:19:39 http://zzo38computer.cjb.net/prog/Icoruma.zip 01:19:40 pikhq: ^ 01:19:44 And it's Icoruma, not Icomura :P 01:19:56 He wrote it in a subset of Pascal meant to be very, very portable. 01:20:05 alise: Ah, Japanese phonology strikes again 01:20:06 icoruma.php and icoruma_html.php are the files actually used; icoruma_raw.php is just a testing file, and icoruma.txt is a command reference. 01:20:22 Note how tiny both these files are. 01:20:30 Note how untouched by PHP's amazing suckiness. 01:20:53 pikhq: Does it even have definition of types? 01:21:02 Beats me. 01:21:14 I'll take a look. 01:21:19 ftp://ftp.tex.ac.uk/tex-archive/systems/knuth/dist/tex/tex.web 01:21:24 % A reward of $327.68 will be paid to the first finder of any remaining bug. 01:21:34 Wow, he's released as recently as February 2008. 01:21:51 alise: Sadly, no more proper Knuth checks. 01:21:51 \def\PASCAL{Pascal} 01:21:56 Wat :P 01:22:07 pikhq: That's for book errors. 01:22:12 That's only 0x$1.00, too. 01:22:26 I imagine if you found a bug in /TeX/, he'd actually pay you the $327.68 -- a rather larger sum. 01:22:47 Correction: TeX is written in 1982 Pascal (and TeX). 01:22:49 Instead, you get a certificate of deposit to the Bank of San Serriffe. 01:22:52 * oerjan realizes that zzo38 is strictly following the "Don't ask to ask" principle <-- I make sure to follow that too 01:23:17 pikhq: ...TeX doesn't use pointers. 01:23:24 Or set types, or enumerated scala types. Or "with", or "new". 01:23:33 If you would like to make a withdrawal, one can talk to Knuth. 01:23:36 Or "var" parameters, apart from files (I think var means call-by-name or something). 01:23:41 alise: Wow. 01:23:45 It doesn't assign real:=integer, either. 01:23:49 in any case 01:23:56 alise: call by reference, more 01:23:56 "No procedures are declared local to other procedures" 01:24:00 oerjan: right 01:24:11 pikhq: No pointers; I think I've read that before. iirc he stores everything in "sufficiently large" static buffers. 01:24:12 Everything. 01:24:21 alise: The thing is, Knuth is no longer issuing personal checks. 01:24:28 For security issues. 01:24:29 pikhq: For errors in his books. 01:24:37 This is "in general". 01:24:44 mostly equivalent to adding * to everything in C, i think 01:24:49 I'm sure he'd be "kinder" with TeX... 01:24:58 oh and & 01:25:09 Very large, as alise said, but just some macros. <-- larger than that even 01:25:36 Why do Pascal programs have program declarations? 01:25:40 Does the name actually matter? 01:25:43 alise: Still no checks. 01:26:14 Literally none at all. 01:26:22 Fine. 01:26:34 It's a bunch of crazy TeX processing. <-- most of latex and other high level stuff such as bibtex is 01:26:48 "Since we are assuming 32-bit integers" Tut tut tut. 01:26:55 http://sunburn.stanford.edu/~knuth/boss.html I doubt that 0x$466.60 comes from 0x$1.00 sums. :) 01:26:55 -!- sebbu has quit (Ping timeout: 246 seconds). 01:26:56 -!- sebbu has joined. 01:27:51 alise: well it declares the files the program uses, iirc, originally 01:28:23 Thorsten Dahlheimer is pretty well off. 01:28:43 That's ~$1126. 01:29:56 Yes. 01:30:06 I note that he has not withdrawn that. 01:30:18 And thus, that's about $1126 of non-existent money. 01:30:36 why are they using hexadecimal dollars anyway? 01:30:42 ais523: Because it's Knuth errors, dude! 01:30:49 You get one hexadecimal dollar for finding an error in his book. 01:30:56 ah... 01:31:02 This gets deposited for you into the Bank of San Serriffe. 01:31:08 ais523: you didn't know that? o_O 01:31:19 Getting a cheque from Knuth is one of CS' greatest medals. 01:31:20 alise: I knew he gave money, and I knew it was no longer in the form of checks 01:31:26 I didn't know what form it took nowadays 01:31:33 He stopped because people tried to fuck with his accounts. 01:31:39 The Bank of San Serrife, of course, has branches on the planet Pincus. 01:31:48 "To request early withdrawals, please contact D. E. Knuth at Stanford University." -- doing so would be a bit rude of course 01:31:58 alise: I thought nobody actually tried, but he did it as a precuation 01:32:02 (Knuth may perform such withdrawals for you) 01:32:13 ais523: No, he went through 3 bank accounts. 01:32:14 because it was possible to fuck with someone's accounts if they wrote you a check, or something 01:32:16 ah, 01:32:20 ('twould be a cheque in the UK) 01:32:38 The electronic banking system is all sorts of fucked up. 01:32:48 ais523 saying fuck? rare occasion 01:33:00 So are cheques not really safe? I don't really know about this stuff, but I like cheques. 01:33:05 alise: I was semi-quoting 01:33:15 I prefer to use cash, mostly 01:33:15 I'm much more likely to use swearwords for htat reason than any other 01:33:17 "Soon people will learn that it is equally dangerous to reveal the numbers that are printed in plain sight on every check. Forget signatures; banks have no time to verify them. The once venerable system of checking accounts is irretrievably broken. Before long, companies will find it impossible to give out paychecks without exposing themselves to unacceptable risk. " 01:33:21 The world should consider itself glad that someone with a lot of computer knowledge does not have a grudge against human civilization. 01:33:28 [[Instead of writing personal checks, I'll write personal certificates of deposit to each awardee's account at the Bank of San Serriffe, which is an offshore institution that has branches in Blefuscu and Elbonia on the planet Pincus. ]] 01:33:32 so you still get a tangible reward 01:33:51 ais523: i vaguely recall something about the problem being people putting up _photos_ of their (uncashed) checks on the web, which _others_ could use to fuck with knuth's accounts 01:33:51 -!- Alex3012_ has quit (Ping timeout: 265 seconds). 01:33:53 So what is the simplest, portable way of transferring money? 01:34:01 oerjan: ah 01:34:08 alise: Cash. 01:34:19 pikhq: What, in an envelope? 01:34:28 Even hidden in a birthday card it's still going to get stolen. 01:34:36 And transferring larger sums of money as cash is a bit hefty. 01:34:46 Besides, converting currency sucks. 01:34:48 Ah, that. Yeah, go for debit card, or direct money transfer. 01:34:52 -!- ais523 has quit (Remote host closed the connection). 01:35:06 Neither of which is all that secure. 01:35:24 "It is absolutely idiotic to have 64-bit pointers when I compile a program that uses less than 4 gigabytes of RAM. When such pointer values appear inside a struct, they not only waste half the memory, they effectively throw away half of the cache." 01:35:25 Knuth gonna flame 01:35:28 Let's just face it: the only reason that money continues to exist is that one of us does not want to destroy everything. 01:35:38 *none of us 01:35:42 *wants to destroy 01:35:47 -does not 01:35:48 Yes. That. 01:36:06 Ripple, anyone? 01:36:09 http://ripple.sourceforge.net/ 01:36:24 * oerjan gets the Blefuscu and Elbonia references, but what is Pincus? 01:36:27 Also, WTF Knuth. Surely you know the benefits of having mmap'd file IO. :P 01:36:50 Perhaps this could be one way: Both people phone each-other to synchronize their accounts for the specific amount of money, and then the sender gets a magnetic ink pad and uses something like a date-stamp to stamp the information onto the cheque. 01:36:53 mmap? That's not portable. 01:36:57 * pikhq likes his 64-bit pointers 01:38:04 * alise is going to spec out uber-Pascal; a version of Pascal designed to be as uber as it can possibly be. 01:38:07 No pointers, of course... 01:38:54 Pascal pointers are safer than C ones, anyhow, iirc no pointer arithmetic 01:38:58 "Read is introduced such that read(f, x) is the same as x:=f^; get(f);. Write is introduced such that write(f, x) is the same as f^ := x; put(f);" 01:39:02 Well that is useless! 01:39:04 * Sgeo is in love with this Wesnoth song 01:39:11 Elvish theme 01:39:12 http://sunburn.stanford.edu/~knuth/iaq.html 01:39:39 The Bank of San Serrife, of course, has branches on the planet Pincus. <-- pincus? 01:39:45 google turns up nothing useful 01:39:53 as to where the name would come from 01:39:54 AnMaster: Is humor. 01:39:57 Laugh now. 01:40:07 AnMaster: darn i was just about to google it 01:40:11 pikhq, yes I understand that, but I don't see what the humor is in it. 01:40:33 pikhq, I googled san seriffe and found the origin of that (heh), but no luck with pincus 01:40:36 pikhq: the other strange names there _do_ have references, though 01:40:47 oh, is it supposed to be "pink"? 01:40:53 hahahahaha 01:41:04 Oh, AnMaster... 01:41:20 * Sgeo looks for a song with lyrics "Maybe a mathematician" 01:41:34 Clip from such a song came with Freespire 01:41:35 um "pink" is not a humorous reference. or maybe it is. 01:41:47 Pointers are very useful in C (even three-star pointers), but less so in higher-level program languages. In other programming languages you can do stuff like pointers in some ways in case you need it, I guess. For example, in PHP you can do the following: $ptr=array(&$x); 01:43:05 zzo38, I prefer five star ones. From the Michelin guide to pointers 01:43:26 A pointer is just a single-length array! 01:43:36 Not that you can pass it by reference, of course! 01:44:05 AnMaster: Well, you can use any number of stars depending on what you are doing. Mostly one-star pointers are useful, but sometimes it is useful with three-star pointers or five-star pointers. (See c2 wiki) 01:44:20 zzo38, .... that was a joke 01:44:24 did you not get it? 01:44:36 http://en.wikipedia.org/wiki/Michelin_Guide 01:44:43 I thought that was common knowledge 01:44:51 Thanks 01:44:54 huh, "Embarcadero" bought out Delphi 01:44:56 ...? 01:45:07 I didn't know what it was at first, now I can see on Wikipedia, thanks 01:45:25 EUROPEAN guide. 01:45:31 zzo38 is ... american or canadian; I forget. 01:45:33 I think american. 01:46:24 the five-star thing is for hotels, not restaurants though 01:46:45 oerjan, right, 3 stars for restaurants iirc 01:46:56 program TEX; {all file names are defined dynamically} 01:47:01 I see. 01:47:02 So the syntax is 01:47:06 oerjan, but then there would have been no joke 01:47:07 program foo(files, that, are, used)? 01:47:14 alise: I live in Canada, as you should be able to check by my IP address 01:47:29 Canada's a nice place. 01:47:40 But if files can be declared dynamically why does program exist? 01:48:25 alise: yeah. input and output for stdin and stdout iirc 01:48:42 alise: i guess they couldn't in original pascal 01:48:48 oerjan: I see. 01:48:55 I wonder how they are defined dynamically. 01:48:57 I should typeset tex.web. 01:50:17 noweb - A WEB-like literate-programming tool 01:50:18 nowebm - A WEB-like literate-programming tool - transitional package 01:50:18 cwebx - C/C++ literate programming system (Marc van Leeuwen's version) 01:50:18 funnelweb - A literate-programming tool 01:50:18 fweb - A literate-programming tool for C/C++/Fortran/Ratfor 01:50:21 Debian doesn't include WEB; hmph! 01:50:44 our first semester programming course back when was in turbo pascal. iirc that didn't need "program" 01:51:03 I thought Debian includes a lot of stuff, doesn't it? Perhaps some things are missing because nobody is submitting a package for it 01:52:03 oerjan, unit? 01:52:14 that is all I remember from pascal nowdays 01:52:16 unit foo; 01:52:24 @!alpha_file=packed file of text_char; {files that contain textual data} 01:52:24 @!byte_file=packed file of eight_bits; {files that contain binary data} 01:52:29 oh wait program foo; or such was used for the program file 01:52:32 hm it had that, its own module system iirc. but that was not for main programs i think 01:52:35 that was delphi not pascal though 01:53:01 oerjan, delphi used units mostly with a single program file for starting the main program code in some unit 01:53:04 i don't think we ever got to unit in that course though :D 01:53:43 oh. i just vaguely recall turbo pascal had something like it. 01:53:46 I don't think we need packed. 01:53:53 packed is just performance stuff. 01:54:02 I am sure uber-Pascal does not require it. 01:54:20 alise: remainder from way back in memory-starved days, i assume 01:54:44 wasn't string = packed array of char 01:56:15 " string = packed array [1..255] of char;" 01:56:16 or something 01:56:22 I think you have to choose the size in the type declaration. 01:56:55 oh, hm. well now i'm getting _really_ vague. 01:57:13 lol, having to choose a certain length of all strings 01:57:16 amazing, I love this language 01:57:20 I think Astro File Manager installed something without my permission somehow 01:58:05 My N1 came with some religious song :/ 01:58:05 turbo pascal had its own dynamical string type, i think 01:58:14 Generic religiousiy, nothing specific 01:58:18 Just a song singing about Heaven 01:58:28 wasn't string = packed array of char 01:58:32 pascal strings are iirc: 01:58:36 01:58:37 Sgeo: so remove the app 01:58:46 I forgot if length was 1 or 2 bytes 01:59:02 delphi had: 01:59:08 apparently dynamically opening files was an extension to Pascal in Knuth's compiler! 01:59:10 AnMaster: i think that is an extension, and what turbo pascal did 01:59:31 oerjan, heh, but even older pascal didn't use \0 terminated strings iirc 01:59:47 But I _like_ the app that got installed without my permission 02:00:05 Sgeo, what app was that? 02:00:10 Quickoffice 02:00:10 pikhq: Knuth did not even use structures. 02:00:12 older pascal iirc you had to declare all strings as fixed-length arrays, like alise said (oh _right_...) 02:00:13 huh 02:00:27 oerjan: the realisation dawns :) 02:00:45 although you didn't have to use a common length type for them, i think 02:00:49 oerjan, what if you had a shorter string? 02:00:59 AnMaster: different type 02:00:59 oerjan, space padding? 02:00:59 right, but if you made a type "string"... 02:01:02 Or maybe it's just builtin Quickoffice functionality, rather than an explicitely-installed App 02:01:03 AnMaster: space padding. 02:01:07 or \0 padding or something 02:01:14 Sgeo: probably the former, and *explicitly 02:01:14 oerjan, well what if you needed to work with unknown string length in some function 02:01:18 you didn't 02:01:36 AnMaster: dammit now i'm also tempted to quote alise to you 02:01:40 oerjan, lets say, 0-32 chars 02:01:43 or such 02:01:53 then you ignored all the ones after some length parameter 02:01:58 or looked for some sort of padding character 02:02:00 oerjan, plagiera icke! ;P 02:02:23 AnMaster: well the point is he clearly knows this stuff at least as well as i do 02:02:56 I see 02:03:31 @p function new_null_box:pointer; {creates a new box node} 02:03:33 eh? 02:03:36 Pascal didn't have a function keyword... 02:03:40 ugh; WEB source is so confusing. 02:03:45 WEB does. 02:03:48 :) 02:04:46 pikhq: hah; TeX /does/ use pointers 02:04:51 Hah. 02:04:52 @!pool_pointer = 0..pool_size; {for variables that point into |str_pool|} 02:04:54 @!str_pool:packed array[pool_pointer] of packed_ASCII_code; {the characters} 02:04:55 oerjan, btw could you parse that Swedish? 02:05:02 it just uses integers and a big array 02:05:06 AnMaster: given that he started the pascal discussion... 02:05:10 AnMaster: sure 02:05:17 oerjan, ? 02:05:28 alise did 02:05:28 what does the pascal discussion has to do with reading Swedish 02:05:50 AnMaster: it was an addition to my previous comment 02:05:54 ah 02:06:22 Perhaps if I define uber-Pascal properly and write a compiler to some uncouth language like C then I can stop myself coding anything but amazingly pure algorithms :P 02:06:30 alise: um i'm pretty sure pascal had function 02:06:34 btw I found a new addicting game. It is KDE though 02:06:37 knetwalk 02:06:39 oerjan: procedure yes, but function? 02:06:42 part of kdegames 02:06:52 (well, new to me) 02:06:53 alise: procedure was like void functions in C 02:06:59 function was the rest 02:07:10 Yes, you are right. 02:07:16 Why on earth would you need output? 02:07:46 oerjan, ah yes I remember that 02:08:39 @ Here is a procedure that asks the user to type a line of input, 02:08:39 AnMaster: the "sure" was about your swedish though 02:08:40 assuming that the |selector| setting is either |term_only| or |term_and_log|. 02:08:40 The input is placed into locations |first| through |last-1| of the 02:08:40 |buffer| array, and echoed on the transcript file if appropriate. 02:08:40 This procedure is never called when |interaction @d prompt_input(#)==begin wake_up_terminal; print(#); term_input; 02:08:41 end {prints a string and gets a line of input} 02:08:47 @d /must/ mean "WEB ish stuff". 02:08:50 That is certainly not Pascal. 02:08:52 A macro maybe? 02:08:57 No; it looks like it desugars into a procedure. 02:09:09 Bizarre. Anyone have WEB? 02:09:19 I'd love it if they just typeset and untangled this code so I could know what's what :P 02:09:39 AnMaster: I could probably write something like KNetwalk in QBASIC, which is something I might do one day 02:10:43 zzo38, you played knetwalk? 02:10:49 Volume 4A of TAoCP is coming out this year. 02:10:59 zzo38, also why would I want to play a QBASIC variant? 02:11:01 Man, we're actually getting a volume of TAoCP. 02:11:03 zzo38, I like the KDE one 02:11:18 AnMaster: No, I have never played it. However I have look on Google and easily found the rules 02:11:24 zzo38, okay a GTK+ one would be better, but a QBASIC one would not 02:11:49 zzo38, oh btw on high difficulty levels the play field wraps 02:11:59 so you can, and have to, connect over the edges 02:12:01 to make it work 02:12:19 not on the easier difficulty settings though 02:12:32 OK thanks now I can understand that it can wrap at some settings 02:12:34 alise: um didn't someone say that tex could be turned into a book? that seems like the point of literate programming... 02:12:43 so you _could_ typeset it 02:12:46 oerjan: yes; of course 02:12:49 that is what I was asking 02:12:57 WEB is two programs; one typesets the documentation and code with TeX 02:13:04 the other spits out Pascal source after fucking with it 02:13:07 I want the output of both 02:13:11 oh you asked for someone to do it 02:13:14 but I bet WEB is written in Pascal... 02:13:18 and Ubuntu doesn't have it 02:13:21 so I suspect it's a bitch to get 02:13:27 zzo38, oh and every piece must be connected, not just all the computers 02:13:31 i thought you just meant you'd love if someone had done it 02:13:33 but all pieces too 02:13:38 with no loose end 02:14:46 AnMaster: Yes, I almost assumed that at first, actually 02:15:02 There's a few implementations, IIRC. 02:15:10 pikhq, of the game? 02:15:11 probably 02:15:15 it is quite a simple idea 02:15:22 AnMaster: You. Unignore alise. 02:15:36 pikhq, hey who is it now who is talking about the ignore 02:15:48 pikhq: oh just ignore the idiot... as in mentally 02:15:56 waste of time 02:16:09 Conversation's just going on with you basically shouting non sequiturs. :) 02:16:40 pikhq, I checked log, and the context looked like it did from my POV there too. So I would have been equally confused even without /ignore 02:16:44 alise: You want WEAVE. 02:16:46 * oerjan is wondering if he should add (3) don't insult people who are ignoring you behind their backs, to his previous list 02:16:49 pikhq: but also TANGLE 02:16:54 -!- coppro has joined. 02:16:54 AndChat doesn't seem to be autojoining channels 02:17:03 oerjan: is anyone being offended? 02:17:05 oerjan, interesting 02:17:09 AnMaster has done his fair share of annoying me too. 02:17:21 and some of his insults have been pretty bad 02:17:23 -!- SgeoN1 has joined. 02:17:25 "idiot" is not much. 02:17:31 Here we go 02:17:56 alise: yes. if one of you had actually been reasonable, then a request to ban the other could quite possibly have been granted. 02:18:23 well, in theory. 02:18:24 oerjan, I don't think either of us should be banned 02:18:40 oerjan: I doubt that. 02:18:52 AnMaster: well it would require one of you to actually be annoyed enough to request it 02:19:03 Nobody would ban me because I'm awesome; AnMaster wouldn't be banned because he hasn't committed an offence more egregious than being an idiot and a fuckwit. 02:19:14 Besides, everyone brushes it off as "oh they always argue" anyway. :) 02:19:31 oerjan, if alise does that then consider me doing an automated counter request. But only at that point. 02:19:36 It is quite pleasant not to have him challenging and mocking everything I say, though. If he'd stop mentioning it and stopped talking to me I wouldn't mind him ignoring me. 02:19:44 anyway, I don't have an issue with him being here 02:19:48 AnMaster: yay, M.A.D. 02:19:52 AnMaster: Nice passive-aggressivity. 02:19:54 and lets *not* talk about the ignore for a while? 02:19:55 okay? 02:20:08 Like that will happen with you in here. 02:20:09 o kay 02:20:12 1 2 3 4 this is how we IRC war 02:20:18 oerjan: for the record, I formally request a ban of AnMaster; this should be fun. 02:20:25 oerjan, MAD? As in the the magazine? 02:20:28 -!- Asztal has quit (Ping timeout: 246 seconds). 02:20:31 anyway it's precedent that you can't platonically time actions 02:20:33 see some CFJ 02:20:36 I don't think we need to ban anyone 02:20:43 zzo38: LET'S BAN YOU 02:20:52 alise: both requests denied 02:21:07 What about AnMaster's? Uh oh... 02:21:18 alise: i said _both_ 02:21:27 What about my request to ban zzo38? 02:22:12 alise: i'm not a bot, i don't need to apply logic or pretend to play a game of nomic 02:22:18 if i don't want to 02:22:27 Oh yes you do. 02:22:28 Hooray, whims of oerjan. 02:22:30 Anyway, what about my request to ban zzo38? :) 02:22:34 Best government system *ever*. 02:22:36 oerjan, if he is insulting me behind my back I however formally requests you banning him until he stops doing that. I only ask this because of what you said about adding (3) above 02:22:45 AnMaster sucks donkey cocks! 02:23:04 Oh, I felt the pang in his upsetness organ just from the metaphysical knowledge that I said something nasty about him there 02:23:05 AnMaster: that was the second request i denied, silly. you said it was automated. 02:23:11 well, essentially. 02:23:21 oerjan, huh? 02:23:55 HUH??? HUH??? 02:24:14 -!- Mathnerd314 has quit (Ping timeout: 245 seconds). 02:24:42 night → 02:26:01 ah peace and quiet 02:26:06 also, food -> 02:26:40 http://www-cs-faculty.stanford.edu/~knuth/cweb.html 02:26:42 wtf where is web 02:26:47 how do i shot web 02:26:52 I CANNOT FIND IT 02:28:03 http://en.wikipedia.org/wiki/Jensen%27s_Device this is awesome 02:30:38 it is? 02:31:13 yes 02:31:13 read it 02:31:22 it exploits call by name to do "symbolic" parameters 02:31:42 Knuth made an incorrect conjecture once? 02:31:54 [Looking at the Man or boy test thing] 02:32:19 ah, I get it 02:32:21 epic 02:32:23 Sgeo: yes 02:32:28 even the greats make mistakes 02:32:35 function factorial(n:integer):integer; 02:32:35 begin 02:32:36 factorial:=1; 02:32:36 for k:=1 to n do factorial:=factorial*k 02:32:36 end; 02:32:36 Blasphemer! ;) 02:32:41 using the function name as the return value 02:32:46 pascal you one crazy bitch 02:32:54 this is Algol 02:32:56 which is even worse 02:33:00 no i coded that 02:33:01 factorial 02:33:04 yeah algol is crazier 02:33:05 but cooler also 02:33:10 Scala has call-by-name 02:33:18 note that algol 60 02:33:21 is relatively conventional 02:33:26 algol 68 is the uber-crazy one 02:33:28 but nobody used it 02:33:30 and algol means 60 02:33:42 http://en.wikipedia.org/wiki/ALGOL_68 it has a longer article because wikitards like craziness :P 02:36:35 huh, you can include Special:RecentChanges on a wiki page? 02:37:19 ha 02:40:15 i guess this change might help our wiki look more alive 02:41:24 what change? 02:41:35 oh wow; that's ugly 02:41:41 someone get rid of it 02:41:50 On esolang wiki? 02:42:00 main page 02:44:15 alise: it's true that the old page looks static, though 02:45:01 if you only looked at it you _could_ get the impression the wiki was dead 02:45:11 yeah right 02:45:26 oerjan: Perhaps if you embedded a (randomly chosen on each page-load) javascript esolang interpreter on the main page. Can't call that static! 02:45:36 *facepalm* 02:45:43 a literal one 02:47:03 -!- lament has quit (Quit: lament). 02:53:33 Someone's face is growing out of a phone? 02:53:54 * oerjan swats Sgeo -----### 02:54:45 not literally, mind 02:57:00 -!- Mathnerd314 has joined. 02:57:09 * alise decides to write an uber-Pascal compiler before specifying it; a path to certain failure, of course. 02:58:08 Never mind that clearly uber-Pascal is the only acceptable language to write an uber-Pascal compiler in. 02:58:18 there are certain failures you want to avoid 02:58:55 There are certain certain failures that you are certain to be unable to avoid, certainly. 03:00:50 * alise has written an -- almost certainly incorrect -- uber-Pascal program to print out Collatz sequences, so let's see if we can compile it to C. 03:01:05 It worries me that writeln() is a polymorphic, variadic function: something patently impossible in Pascal. 03:03:48 Well, actually, the program enumerates one specific Collatz sequence (the one starting at n=12345). 03:04:01 -!- coppro has quit (Ping timeout: 258 seconds). 03:05:11 spoiler: it ends up at 1 03:05:40 You don't say. 03:08:14 In 51 steps. 03:08:20 Well; 50, if you don't count the base case. 03:08:42 -!- SgeoN1 has quit (Quit: Bye). 03:12:09 -!- lament has joined. 03:12:54 [[Entries in the The On-Line Encyclopedia of Integer Sequences give at most three lines of terms 03:12:55 (about 200 characters - a carry-over from the days when the database was on punched cards).]] 03:12:59 I didn't know the OEIS was that old. 03:16:05 oerjan: how do you know? ;-) 03:17:16 maybe 1267650600228229401496703205376 doesn't ever repeat :-) 03:17:53 well it does 03:18:38 also, technically i think it's still unknown if there are cycles other that 4,2,1 03:18:51 so it might have repeated somewhere else 03:19:24 just read http://en.wikipedia.org/wiki/Collatz_conjecture 03:19:39 you did? 03:19:46 * oerjan whistles innocently 03:20:49 "Simons/deWeger in 2003 extended their own proof up to "68-cycles": there is no m-cycle up to m=68 a=T(a;(1)L1,A1,(1)L2,A2,...,(1)L68,A68). Whatever number of steps in L1 to L68 and whatever exponents A1 to A68 one may choose, there is no positive odd integer number a satisfying the cycle condition. Steiner claimed in a usenet discussion he could extend this up to m=71.[citation needed]" 03:21:18 Mathnerd314: 1267650600228229401496703205376 < 20 * 2^58 03:21:27 oops 03:21:36 so it does terminate in 1, by computer exhaustion 03:21:58 wait, 20*2^58? 03:22:11 "It is also known that {4,2,1} is the only repeating cycle possible with fewer than 35400 terms." 03:22:24 that's only 5764607523034234880 03:22:34 hmm, you're right 03:22:52 i'd quickly check it with computer but I don't have a calculator/CAS with that much precision atm 03:23:00 oh m-cycle isn't the same as cycle of length m there 03:23:06 but what oerjan said :P 03:23:20 * alise writes a crazy parser by hand 03:23:44 no need; my earlier number was just 2^100 :-) 03:23:58 case 'b': 03:23:58 NEXT; IS('e',go1); 03:23:58 NEXT; IS('g',go1); 03:23:58 NEXT; IS('i',go1); 03:23:58 NEXT; IS('n',go1); 03:23:59 WHITESPACE; 03:23:59 given 03:24:00 #define GET old=c; c=getc(f); if(c==EOF) goto eof 03:24:00 #define FORGET ungetc(c,f); c=old 03:24:01 #define IS(d,g) if(tolower(c)!=d){FORGET; goto g;} 03:24:02 #define WHITESPACE GET; while(isspace(c)){GET;} FORGET 03:24:09 Mathnerd314: d'oh 03:24:15 ah 03:24:15 :P 03:24:48 lambdabot is just so nice for these sorts of computations... 03:25:11 alise: i checked his number in haskell btw, i have a Collatz.hs module from before 03:25:59 (i did _not_ check before my "spoiler" above, though) 03:28:39 alise: that parser would have trouble with identifiers like beef, wouldn't it 03:29:39 since you are discarding all but the mismatched character 03:30:24 and ungetc can only do one char in a row, can't it 03:33:32 -!- alise has quit (Ping timeout: 258 seconds). 03:42:22 hmmm... is Pure an esoteric programming language? 03:42:54 what is pure 03:43:11 There are other ways to write stuff using C preprocessor, too, especially if you are using GNU C. GNU C has some additional things that help a bit. Including typeof operator, ({ }) blocks inside of expressions, some __builtin_ commands, are useful when writing preprocessor macros 03:43:43 It might also be what __attribute__((unused)) is meant for. 03:43:47 -!- alise has joined. 03:43:47 GNU C should just add hygienic macros and call it a day, honestly. 03:43:51 Mathnerd314: pure the rewrite language? 03:43:51 oh that 03:43:59 yeah 03:43:59 What are hygienic macros? 03:44:02 oerjan: i could store all chars read so far in a buffer 03:44:03 of a certain fixed size; and specify that identifiers need only be handled up to N long 03:44:08 Mathnerd314: it is pretty but not really esoteric 03:44:11 this one: http://en.wikipedia.org/wiki/Pure_%28programming_language%29 03:44:12 the paradigm is esotericish; see Defcalc 03:44:14 -!- fax has joined. 03:44:19 http://www.esolangs.org/wiki/Defcalc 03:44:27 but Pure is basically the core of most computer algebra systems 03:44:29 so not really esoteric 03:44:32 alise: well sure, just your code didn't 03:44:34 is there an unlambda interpreter in brainfuck? 03:44:37 oerjan: yeah but it will now! 03:44:38 fax: yes iirc 03:44:39 or brainfuck to unlambda 03:44:42 where? 03:44:46 zzo38: Macros whose expansion is guaranteed not to cause collisions with existing symbol definitions. 03:44:48 see http://www.esolangs.org/wiki/EsoInterpreters 03:44:58 so no 03:45:15 alise it's not there :/ 03:45:23 maybe I can get there in a couple steps 03:45:25 yeah :/ 03:45:35 is ther any program which finds the shortest path in that matrix? 03:45:35 fax: heh! 03:45:42 no, but you could write a general one 03:45:48 ooh now that calls for some super algorithm 03:45:50 :P 03:45:58 apply A* to the esointerpreters page. 03:46:35 fax: it's not that hard, _most_ things there are either just implemented, just implemented, or are brainfuck 03:46:47 alise: so why is defcalc esoteric but pure not? :p 03:46:55 and i haven't heard of any unlambda - brainfuck connection 03:47:05 Mathnerd314: for some paradigm P, tarpit(P) = esoteric; fully-developed language(P) = not esoteric 03:47:12 Though, C already has something *kinda-sorta* like hygienic macros... static functions are *like* them, for some purposes. 03:47:12 strangestrange instance of(P) = esoteric 03:47:15 Just not as general. :( 03:47:22 "just implemented, just implemented, or are brainfuck" 03:47:26 just implementors, you mean 03:47:30 er right 03:48:10 well to interpret unlambda in brainfuck 03:48:19 we need to have either an intercal in brainfuck -- not happening 03:48:25 or a lazy k in brainfuck, which we have 03:48:36 Hmm. Why *is* Brainfuck so popular, anyways? 03:48:38 wait no 03:48:39 See line 66 of http://pastebin.com/U0gRGw6N that's how __attribute__((unused)) is used 03:48:46 lazy k isn't implemented 03:48:50 fax: can't interpret unlambda, sorry 03:48:51 but brainfuck... 03:49:02 unlambda only has self-interps, sorry 03:49:10 fax: can't be done 03:49:33 alise: defcalc is purer than Pure :p 03:50:02 alise: lies. 03:50:16 no, pure has too many built-in special forms 03:50:16 pikhq: can't be done with current state of the art. 03:50:22 I could've *sworn* there was a Brainfuck in unlambda. :( 03:50:30 Mathnerd314: yeah :P 03:51:03 pikhq: If there isn't one, maybe write one 03:51:28 oerjan: also my parser is actually a lexer... so I lied when I said it was a parser 03:51:35 the idea is that the compiler operates directly on the lexing results 03:51:37 GCCBF really needs to be worked on. :P 03:51:38 with no need for parsing 03:51:41 Although perhaps unlambda should have new commands for input/output by bits 03:51:55 alise: lazy k is rather too complicated to implement. like befunge, it's a language that's relatively easy to implement other things in 03:52:00 if you have a BEGIN without END, it simply fails to return from do_BEGIN() and errors out 03:52:01 oerjan: yes 03:52:17 let's see, what would be easiest to implement in unlambda... 03:52:25 Lazy K, actually. 03:52:32 would thue be easy to implement in unlambda? 03:52:36 -!- lament has quit (Quit: lament). 03:52:54 so far only brainfuck has hit the sweet spot of being both. you will note that the only _cycle_ in the graph is with it and another almost identical language (Bub iirc) 03:52:58 the brainfuck thing for lazyk is just a compilerish thing 03:52:59 (macros) 03:53:10 yeah bub 03:53:22 it's not quite identical though 03:53:25 loops are gotos 03:53:37 well, for unlambda we want something without much syntax 03:53:43 underload, maybe? 03:53:56 bf in underload can't be hard 03:54:02 http://www.esolangs.org/wiki/Redivider/Underload_Interpreter ;; I forgot how lovely Redivider is. 03:54:14 A gem of an esolang; why does nobody like it? 03:54:18 Well, or at least mention it. 03:54:21 Lazy K in Unlambda would probably be pretty easy. 03:54:47 but there's no bf-in-lazyk 03:54:50 it's a set of compiler macros 03:54:53 http://www.esolangs.org/wiki/Redivider/Brainfuck_Interpreter ;; also smexy 03:54:57 Wouldn't be hard, either. 03:54:58 alise: no, thue would be awful in unlambda, because unlambda has a hard time comparing chars 03:55:06 oerjan: yeah 03:55:11 Actually the example -- infix to RPN -- on http://esolangs.org/wiki/Redivider -- is actually very nice. 03:55:19 As in, it'd be nice to write it even in a non-esolang that way. 03:55:39 in fact any brainfuck implementation in unlambda is going to require a full character table of ?x and .x functions 03:55:57 GAH right. 03:56:10 Brainfuck-in-Thue has the impressive property of containing every 256 ascii character. 03:56:16 Yeah, that's needed for any output in unlambda. :* 03:56:17 (my unlambda in unlambda barely got by with a ?x table, .x could be done with |) 03:56:18 :(, even. 03:56:29 who was that crazy guy with the blog about smallest possible self interpreters? 03:56:47 alise: brainfuck-in-thue is not really workable without I/O translation 03:57:03 because thue has an input injection problem 03:57:04 http://eigenratios.blogspot.com/ 03:57:27 My God, Redivider is beautiful for parsing. 03:58:18 pikhq: yep 03:58:20 alise: bf in underload is impossible, because of input lacking 03:58:25 fax: yeah he's awesome 03:58:26 fax: it's not smallest 03:58:29 fax: it's fastest 03:58:33 oh 03:58:34 oerjan: yes 03:58:46 pikhq: I'll have you know I shaped redivider! 03:58:54 It sucks he's not been bloging 03:58:57 I nudged Warrigal until he made it how I like. 03:59:01 fax: I just said that recently!! 03:59:24 heh 03:59:28 SYNCRONISITY 03:59:38 pikhq: There was a really really nice SK interp in it that warrigal did 03:59:39 ORK is probably far too hard to implement in anything... :/ 03:59:42 Lemme try and find it 04:00:01 Except quite possibly Glass. 04:00:03 * alise imagines an esolang designed to minimise the size of its own self-interpreter, while not "cheating" (like say using eval or whatever) 04:00:11 Who wants a Gregorcycle? :P 04:00:14 Binary lambda-calculus as per John Tromp has a 210 bit self-interpreter. 04:00:19 pikhq> Lazy K in Unlambda would probably be pretty easy. <-- lazy evaluation is hard to emulate if you have neither mutable datastructures nor laziness already 04:00:23 Which is 26 and 1/4 bytes. 04:00:30 lambda-calculus is the best possible programming language 04:00:35 But that's sorta cheating, packing things into one byte. 04:00:40 coding it in binary is a trick 04:00:46 oerjan: Don't have to be actually lazy, just call-by-need. :) 04:00:49 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 04:01:02 (at least, I don't *think* Lazy K actually mandates laziness) 04:01:21 hahaha oh wow http://en.wikipedia.org/wiki/Self-interpreter 04:01:25 "Clive Gifford introduced a measure quality of self-interpreter - eigenratio. Eigenratio is a ratio between computer time spent to run a stack of N self-interpreters and time spent to run a stack of N-1 self-interpreters, when N goes to infinity. This value does not depend on top-level program being run." 04:01:35 fax: that's the eigenratio blogs 04:01:37 *blog 04:01:51 pikhq: i think underload in unlambda can be done without a full character table, since it only prints characters previously read 04:01:51 he conjectures, based on nothing at all but it would be nice, that the best possible ratio is phi :) 04:02:02 Here's a binary lambda calculus self-interp: 04:02:04 01010001101000010000000110000001100001011110011111110000101 04:02:04 11001111111000000111100001011011011100111111110000111111110 04:02:04 00010111101001110100101100111111000011011000010111111110000 04:02:04 11111111000011100110111101110011010000110010001101000011010 04:02:10 Or in De Bruijn-index lambda calculus: 04:02:11 (λ11)(λ(λλλ1(λλ1(λ3(6(λ2(6(λλ3(λ123)))(7(λ7(λ31(21))))))(1(5(λ12))(λ7(λ7(λ2(14)))3)))))(11))(λ1((λ11)(λ11))) 04:02:22 (where 123 is ((1 2) 3)) 04:02:26 yeah I've seen that program before 04:02:43 It's sweet. 04:02:45 pikhq: you mean call-by-name 04:03:04 it's just ev(fx)=ev(f)ev(x);ev(\x.m)=\x.ev(m[x]) using scott mogensen encoding 04:03:13 turning it into binary is stupid 04:03:42 obfuscation 04:04:00 fax: it's not about that 04:04:03 it's for kolgomorov complexity 04:04:06 http://homepages.cwi.nl/~tromp/cl/cl.html 04:04:10 tromp is a good friend of ours, not an idiot :) 04:04:22 for kolgomorov complexity you need some sort of number to denote the "size" of a program 04:04:29 oerjan: Ah, right. That. 04:05:39 alise: i dispute that conjecture, i _suspect_ my unlambda-in-unlambda interpreter actually has ratio 1. otoh some might consider its methode cheating. 04:05:46 *method 04:05:56 oerjan: how does it work? 04:06:04 and it surely can't run /exactly as fast/ as the host interp 04:06:21 no, but there is no extra overhead after the second iteration or so 04:06:55 how? 04:07:08 and you have to count normal interp to first selfinterp, anyway 04:07:11 because it parses, always, the program into an eta-expanded version of itself, which is the same one after any number of iterations after the first 04:07:32 and then that is directly run by applying it to an exit continuation 04:08:17 That's like using eval, really. 04:08:21 so in some sense after parsing it skips directly down to the first interpreter 04:10:07 pikhq: i said some might consider it cheating. otoh it cheats using a fundamental feature of lambda calculus :D 04:10:15 oerjan: :) 04:11:08 oerjan: right but what is the ratio of host interp : selfinterp? 04:11:23 that + some (since there's overhead in your parsing) is your eigenratio 04:11:28 if it parses it then turns it into 'direct' code, the parsing is O(1) 04:11:32 compared to running the program 04:11:35 right? 04:11:40 so you can ignore the O(1) 04:11:54 you can't though 04:11:59 because eigenratios measure actual time ratio 04:12:02 I think 04:12:08 over which programs? 04:12:16 an infinite stack of self-interps 04:12:20 ohhhh 04:12:22 if you just measured O()ness, that'd be easy 04:12:25 that's differentt to what I was thinking 04:12:30 because most every non-stupid interpreter is O(n) so to speak 04:14:48 basically 04:14:58 alise: if you chain n programs, then most steps will take the same time t independent on n, i think. so ((n+1)t)/(nt) = (n+1)/n -> 1 04:15:05 let's say E is the eigenratio of a language L with self-interpreter I 04:15:22 each step just has to parse the next, then run it 04:15:44 that's my reason for believing it has ratio 1, after all 04:15:52 now let T(f,x) be the time it takes the interpreting-function f to run the program x 04:15:56 erm 04:16:00 now let T(f,x,i) be the time it takes the interpreting-function f to run the program x with input i 04:16:37 and let F(p,i) return an input suitable for passing to I 04:16:42 that represents run-the-program-p-with-input-i 04:16:55 now let S(0,p,i)=T(E,p,i); S(n,p,i)=T(E,I,F(p,i)) 04:17:25 now let E'(n) = S(n,nop,"") 04:17:40 now let E (loosely) = lim n->inf, S(n,nop,"") 04:17:45 (of course the nop and "" are irrelevant in E) 04:18:12 erm wait 04:18:19 now let S(0,p,i)=T(E,p,i); S(1,p,i)=T(E,I,F(p,i)) 04:18:20 but 04:18:33 eh 04:18:34 you get it 04:18:37 S(0) is regular interp 04:18:40 S(1) is one self interp stack 04:18:43 S(n) is n nested self-interps 04:18:57 so E is the limit as n goes to infinity of T(S(n))/T(S(n-1)) 04:19:01 where T measures the time to run 04:19:08 with some simple base program 04:19:33 basically you have some simple but not instant base program P, and you do E(P), then E(I(P)), then E(I(I(P))) and eventually they'll tend to some value E. 04:19:36 i am bad at explaining 04:20:26 alise: note that for my interp chaining is as simple as cat interp interp interp interp botprog botinput | unlambda 04:20:31 yes 04:20:38 Also note that eigenratios tend to be very large. 04:20:53 The fastest BF self-interpreter, cgbfi2.b, has an eigenratio somewhere in the low thousands. 04:21:27 So as n goes to infinity, Time(Stack(n)) = lowthousands*Time(Stack(n-1)) 04:21:29 maybe i should actually time my interpreter :D 04:21:38 oerjan: Feel free. 04:21:47 Remember to run the first timing twice due to silly OS caching. 04:21:54 I'd write a program to keep increasing the nestings. 04:22:00 Also remember to do one with just the base interp 04:22:08 and, of course, do the division for you at each step 04:22:10 oh 04:22:13 what? 04:22:27 why would we want the base interp alone? 04:22:31 consider n=1, Time(Stack(1)) = something*Time(Stack(0)) 04:22:35 Stack(0) = base interp 04:22:39 oerjan: it's the "overhead" of your interp 04:22:48 i.e. literally a measure of how much slower it makes things 04:22:52 at least i think you include the base interp 04:23:15 It's 4:22 am but I'm going to write a Redivider interp anyway because I'm not tired. 04:23:25 it's the limit as stack height -> inf, after all 04:24:04 oerjan: how about running once without base and once with? :P 04:24:11 whichever is the larger value is likely correct ;-) 04:24:37 what do you mean _without_ base? 04:24:52 as in start with cat selfinterp foo | unlambda 04:25:21 But yes, you're right. 04:25:23 You should omit base. 04:25:33 But i'd still take sequential samples. 04:25:48 question is what to use for foo. hello.unl perhaps. 04:25:57 Sure, that would work. 04:26:19 The self-interps are complex enough that they'll end up spending most of their time running the endless copies of themselves rather than the actual program. 04:26:40 Reason to take a bunch of higher and higher samples: it could take too-many-to-run interpreters before it starts converging, so at least you can come up with an approximation formula given a bunch of samples 04:27:00 which you can then numerically evaluate at lots of big points to get a guesstimate 04:27:07 wait that prints 10 lines 04:27:46 that's okay 04:27:50 redirect output to /dev/null 04:27:55 or NUL or whatever you dos folk use 04:28:07 oerjan: "Furthermore it seemed that the limit value of this ratio didn't change when a different top level program was used (on the very top of the stack)." 04:28:13 so it doesn't really matter, but i wouldn't use nop 04:28:18 this is on the nvg linux machine 04:28:50 lol i tried to reverse redivider to get a nicer interp name 04:30:09 you want the user times i guess? 04:30:23 isn't it usually real? 04:30:55 e Elapsed real (wall clock) time used by the process, in 04:30:56 seconds. 04:30:57 well this is a multiuser machine, does this matter? 04:31:13 and a server 04:31:22 U Total number of CPU-seconds that the process used direct‐ 04:31:23 ly (in user mode), in seconds. 04:31:29 So basically U is not just you-user. 04:31:39 You want e, which is how long it actually took according to a stopwatch. 04:32:09 real 0m1.156s 04:32:09 user 0m1.154s 04:32:09 sys 0m0.004s 04:32:15 is what i get 04:32:19 bash builtin 04:32:46 for what stack? 04:33:04 run it for only one self-interp, then two, etc.; record these values, then for each value take it divided by the previous one 04:33:07 bash-2.04$ time cat interpreter.unl interpreter.unl interpreter.unl interpreter.unl interpreter.unl interpreter.unl interpreter.unl interpreter.unl unlambda-mirror/CUAN/Hello.unl | unlambda > /dev/null 04:33:14 gave that 04:33:20 the resulting list of values are sequential approximations of your eigenratio 04:33:21 the last one i tried 04:33:43 well do you want me to use real 04:33:59 yes 04:35:11 0m0.003s 0m0.059s 0m1.104s 0m1.137s 0m1.159s 0m1.143s 0m1.108s 0m1.111s 0m1.156s 04:35:45 for i in $(seq 1 20); do /usr/bin/time -f '%e' cat $(seq 1 $n | awk '{print "interpreter.unl"}') unlambda-mirror/CUAN/Hello.unl | unlambda > /dev/null; done 04:35:47 run this 04:35:58 or wait, not enough precision 04:36:12 eh 04:36:14 should work fine 04:36:21 that's from running unlambda on just Hello.unl to running it on 8 interps + Hello.unl 04:36:33 mine starts with one interpreter 04:36:35 up to 20 04:36:36 give it a go 04:36:50 pastebin the results... or just put them here, and i'll calculate the eigenratio approximations 04:37:16 0.00 all over :D 04:37:49 what; then how does your 8 stack result in that? 04:37:56 it can't be 04:38:04 yo 04:38:13 oerjan: up it to 100?? 04:38:15 probably you have some bug 04:38:33 alise: nonsense, it went far too fast 04:38:43 yes 04:38:45 ec 04:38:45 sec 04:39:07 oh 04:39:11 the results of time are being piped to unlambda 04:39:12 heh 04:39:36 alise http://www.paultaylor.eu/~pt/prafm/html/c8.html 04:39:45 oerjan: 04:39:49 oh right only the builtin takes a whole pipeline 04:39:49 for i in $(seq 1 20); do cat $(seq 1 $n | awk '{print "interpreter.unl"}') unlambda-mirror/CUAN/Hello.unl | /usr/bin/time -f '%e' unlambda > /dev/null; done 04:40:09 fax: has uninterpreted latex :( 04:40:17 cat: 1: No such file or directory 04:40:35 ok er... 04:40:35 run this 04:40:41 seq 1 10 | awk '{print "hi"}' 04:40:58 10 lines of hi 04:41:21 cat $(seq 1 5 | awk '{print "interpreter.unl"}') unlambda-mirror/CUAN/Hello.unl 04:41:25 you should see a bunch of your interp 04:41:26 then hellog 04:41:28 *hello 04:42:47 oerjan: ok try this: 04:42:55 that did strange things to the terminal. i think printing a program that contains an ascii table may not be a good idea :D 04:43:10 (nothing really bad though) 04:43:25 for i in $(seq 1 20); do 04:43:26 cat $(seq 1 $n | awk '{print "interpreter.unl"}') unlambda-mirror/CUAN/Hello.unl | 04:43:26 (time (unlambda >/dev/null)) 2>&1 | grep real; 04:43:26 done 04:43:37 argh 04:43:48 what 04:43:53 can i get that as one line? 04:43:56 sure 04:44:10 for i in $(seq 1 20); do cat $(seq 1 $n | awk '{print "interpreter.unl"}') unlambda-mirror/CUAN/Hello.unl | (time (unlambda >/dev/null)) 2>&1 | grep real; done 04:44:34 pikhq: If you're looking for a project... a http://www.esolangs.org/wiki/Redivider self-interpreter would be very easy, considering the BNF is in a form almost accepted by it already ;-) 04:44:59 now that gave a syntax error rather than continuing the command 04:45:03 *sigh* 04:45:13 alise: I've already got quite a project. 04:45:18 pikhq: meh :P 04:45:22 i'll fix it with vim 04:45:22 oerjan: how about just giving me shell access :P 04:45:23 If you'll note, I am hardcore learning-Japanese-ness. 04:45:45 oerjan: what error did I make? 04:45:50 oh i see 04:46:09 pikhq: Teach Redivider Japanese. 04:46:23 Bah. 04:46:43 alise: removing the alise> from your multiline version gave a program that printed a lot and messed up my terminal again 04:47:00 you know what 04:47:04 I'm just going to write all the commands out for you 04:47:32 oh i know 04:47:34 it's because it says $n 04:47:35 not $i 04:47:37 look i'll fix it :P 04:48:57 alise: i changed $n to $i, now it printed even more junk 04:48:57 oerjan: http://pastie.org/933673.txt?key=pzvxvuz0ddpzg15rgokma 04:49:02 save this as times.sh 04:49:03 then do 04:49:05 chmod +x times.sh 04:49:12 oh wait that won't work 04:49:12 sec 04:49:50 http://pastie.org/933674.txt?key=j0smhs7f2sgaszh9btlmwg 04:49:52 run this shell script. 04:50:00 it will print a bunch of lines starting "real some time" 04:50:59 what should I do right now? 04:51:08 ok more reasonable 04:51:27 except the actual numbers, they decreased at some steps :D 04:52:01 oerjan: well you said the ratio would be ~1, so... 04:52:18 sed 's/real/user/' it and maybe you will get better results 04:52:24 pastebin the timings, anyway 04:52:26 fax: dance 04:52:36 0m0.049s 0m1.150s 0m1.117s 0m1.260s 0m1.204s 0m1.113s 0m1.140s 0m1.164s 0m1.120s 0m1.115s 0m1.152s 0m1.127s 0m1.105s 0m1.125s 0m1.110s 0m1.113s 0m1.118s 0m1.106s 0m1.114s 0m1.128s 04:53:17 those are the user ones? 04:53:21 no real 04:53:23 ok 04:53:30 i wish we could have more precision... 04:53:32 * alise calculates eigenratios 04:54:50 0m0.047s 0m1.107s 0m1.107s 0m1.115s 0m1.119s 0m1.140s 0m1.142s 0m1.147s 0m1.119s 0m1.144s 0m1.102s 0m1.096s 0m1.103s 0m1.101s 0m1.111s 0m1.101s 0m1.114s 0m1.114s 0m1.095s 0m1.105s 04:54:54 (user) 04:55:16 do those better reflect what you saw? 04:55:35 http://pastie.org/933678.txt?key=q00ia70tvjxrvxsolqe7gq the eigenratios for the real times; you are right, it is very close to 1 04:55:50 I'd look for an algebraic expression approximating it but that expression would be "1" 04:55:50 um they are all rather similar, both real and user are a bit > 1 s 04:55:56 apart from the first term, what's up with that. 04:56:42 for the user ones, two terms are actually 1.0 04:56:46 (eigenratios) 04:56:47 it never runs the interpreter.unl from eta expanded version 04:57:00 well the first one has some overhead 04:57:03 and that's one interpreter.unl vs two 04:57:23 but the first interpreter.unl is run directly by the C interp 04:57:34 There are no GENUINE solutions to "Calculator" problem on Anarchy Golf, how short can anyone write genuine one in different program language? (Put "(genuine)" after your name if you want to tell the difference) 04:57:37 the second is parsed and eta expanded 04:58:03 right 04:58:23 still, very little happens from the second on... 04:58:28 zzo38: oh you mean http://golf.shinh.org/p.rb?Calculator? 04:58:30 that is my problem! 04:58:36 *after the second one 04:58:46 /can/ you write a genuine solution? 04:58:50 I have never been able to solve a single one of these golfs 04:58:51 you used to be able to modify your own source file iirc 04:58:59 which is how I intended people to do it 04:59:12 zzo38: you could try doing that 04:59:34 i forget what your file ends up being named, but 04:59:57 Yes, I believe you still can modify your own source file. That's how I solved "Regexpr Next Input" 05:00:18 basically you'd make the program be "open own file; append the input and also append 0 if it's *; print " 05:00:22 where print would print nothing 05:00:24 then it'd turn into 05:00:25 print 50 05:00:26 oh wait 05:00:30 and also append /1/ if it's * 05:00:31 then it'd be 05:00:32 print 05:00:35 print 50 05:00:40 oh wait it has to output 50 at the start... 05:00:40 meh 05:01:51 It is not completely true that nobody has written a genuine solution to "Calculator" problem: I have done it. 05:02:32 The source file is always called "test." and the extension for the type, and for most languages is the only file in the current directory. 05:03:01 alise: one annoying thing about those timings is that the overhead of the first two interps is clearly swamping out everything else, so it is hard to say if the rest is even growing. hm... 05:03:24 oerjan: i think it is not growing, as it sometimes goes down 05:03:38 /but/ I am not sure whether your eigenratio is ~23.5 or 1 05:03:40 Although my genuine solution for "Calculator" does not modify its own source file 05:03:55 I guess it is 1; email Clive Gifford with your findings 05:04:09 zzo38: oh, that works 05:04:17 alise: well that just means it's even more swamped. 05:04:34 alise: i'll do something else first 05:04:43 clive.gifford@gmail.com 05:04:56 FUCK IT'S 5AM WHY! 05:04:56 actually is that site still alive? 05:05:05 well last post 2007 but the man is still alive presumably 05:05:14 I want to stay awake, I'm not tired... but now it'll be really late when I wake up 05:05:31 alise: ACCEPT IT 05:05:39 SLEEP IS OVERRATED 05:05:41 it says 4 am on my clock 05:05:46 fax: ?? 05:05:49 is your clock correct? 05:05:52 6AM MWAHAHAHA 05:06:00 5:05am Sunday (BST) - Time in United Kingdom 05:06:08 fax: adjust your clocks... belatedly 05:06:24 fax is an icelandic, clearly 05:06:45 >>a;<>a;expr ` oerjan: he's uk :P 05:10:04 alise: Pity you guys decided to split the time zones right down Greenwich. j/k 05:10:22 "Check for brainwave activity" is my problem. 05:10:43 And now I know who made "Calculator" problem, too. 05:12:13 http://golf.shinh.org/p.rb?RPN+calculator+FIXED+NO+REALLY is also mine though it's broken 05:12:37 http://golf.shinh.org/p.rb?Encoder+decoder is also mine 05:12:42 I like that one 05:14:07 http://golf.shinh.org/reveal.rb?Encoder+decoder/*yuko*_1245746372&bas nice BASIC 05:14:49 it occurs to me that pascal is a slight extension of what happens when you apply the transformation "remove sigils; replace places where you'd want to use GOTO with blocks" to BASIC. 05:15:11 zzo38: This is also mine: http://golf.shinh.org/p.rb?Print+out+a+lot+_56K+BEWARE_ 05:15:17 Most problems with that were with interpreters timing out! 05:15:55 I see you were the runner up 05:17:07 zzo38: I think Brainfuck's mine too; almost certainly. Yes, it was not really FIXED... 05:17:41 I know; I tried and it is not really FIXED 05:18:00 yeah 05:18:07 http://golf.shinh.org/p.rb?Walk+the+line This is mine; I like this one a lot. 05:19:15 I like this one too (although I have not submitted a solution) 05:19:27 I think anarchy golf shouldn't allow any cheating entries at all. 05:19:28 It is just boring now. 05:20:56 I think it should still allow cheating entries. But with not endless, so that you can check afterward which are cheating entries 05:21:23 This is one reason why I don't create endless problems 05:21:39 Well, okay, but they should be discouraged. Hardly anybody submits legit entries any more. 05:23:13 alise: Yes. You are right about that. If you do submit cheating entries I like to put "(cheat)" or something else after my name, some other people do too. 05:23:34 Sometimes when there are many cheating entries, I like to put "(genuine)" afterward to indicate genuine entries. 05:23:45 There aren't any good golfing languages :( Golf and FlogScript both are too verbose. 05:25:38 I wonder if we could get anywhere by having a language with aggluntive ops. 05:26:05 What does "aggluntive ops" means? 05:26:07 Say, if d is double and h is halve, hd and dh would both be nop ops. 05:26:22 Basically, for operations a and b (that take arguments), ab = composition of a and b. 05:26:29 Not quite a stack language, because they're operations and after combining take operands. 05:26:35 If +2 is add two and *2 is double, +2*2 is either double, then add two; 05:26:38 or add two, then double 05:26:43 (depending on language; I'd make it add two then double) 05:26:50 +2*2-2 would be add two, double, take away two. 05:26:51 So 05:27:17 3 +2*2-2 = ((3+2)*2)-2 05:27:24 3 +2* 4 = (3+2) * 4 05:27:31 But this would extend to non-arithmetic too. 05:27:51 Yes, I do understand 05:27:59 So consider L"abc\ndef" = ["abc","def"], and consider L'["abc","def"]="abc\ndef" 05:28:05 And consider R[a,b,c]=[c,b,a]. 05:28:13 Then LRL' reverses lines of a string. 05:28:18 Well, it reverses the order of lines, rather. 05:28:32 If we have C which is like L but for characters, then CRC' "abcdef" = "fedcba" 05:29:33 Also, we could have the return ranges of operations depend on the operations you combine them with. 05:30:25 Consider @ = random number; consider a ? b being "if a then b", where a is a boolean (0 or 1) 05:30:29 actually 05:30:36 Consider @ = random number; consider a ? b : c being "if a then b else c", where a is a boolean (0 or 1) 05:30:54 Then @?"yes":"no" is either yes or no, but @+3 is 3 to (some default random value + 3) 05:31:36 And consider n@ = random number from [0,n). 05:31:54 Then @@ would be a random number from [0,n) where n is a random number from [0,rand_max). 05:32:00 Probably a very way is binary code-golf with many commands (some of which might be more than 1 byte long, but mostly 1 byte), including many things from GolfScript, FlogScript, dc, and even things like many shell commands; you could have some commands implied in some cases; and various other things; and interpreter can be written in C (optimize for speed) for faster program. 05:33:07 L(|@?R)L' ;; this would randomly reverse each line's characters or not, then spit out the result 05:33:20 (if your progam results in an operator, it's fed the input stream) 05:34:02 I like that idea, and perhaps you can post on esolang wiki, even. 05:34:07 Yes, I plan to. 05:34:17 I wonder if "alphabetical" is a useful predicate. I think yes. 05:34:18 oh, I know. 05:34:28 We can just have an alphabet, plus "in" operators and "index" 05:34:30 Then rot13 is 05:34:45 (given in = < (operator overloading, woo!), and index = #) 05:34:56 (and given A = alphabet) 05:35:48 CC' 05:35:53 wait, no 05:36:03 C{x;x wait I can just have 05:36:13 C{ ^ This rot13's every alphabetical character 05:36:25 Can you tell how it works? 05:37:24 Basically, we deconstruct into characters, then map a function over. 05:37:26 Yes, I think so 05:37:32 ? is our conditional, so if x is in the alphabet, we do 05:38:08 A[...] this indexes into the alphabet, so A[0]="a",A[25]="z" 05:38:17 #A - this is x#A, i.e. position of x in A 05:38:22 -13 - take away 13 05:38:32 #A-13 is always unambiguous because we know that arithmetic cannot apply to arrays 05:38:38 hmm 05:38:42 but how can A be both lower and uppercase? 05:38:56 meh 05:40:21 alise: news just in, there's a bug in my unlambda interpreter chaining that causes it to abort in the middle of the second iteration. no wonder it was not getting slower :D 05:40:33 *g* 05:40:57 it's probably the NUL bug i already really should know about 05:41:45 zzo38: what do you think the simplest esolang is 05:41:46 BCT? 05:41:49 duh i already have an interpreter.unl2 file fixed for just that very purpose... 05:42:14 alise: I'm not really sure. I suppose it depends in what way of simplicity? 05:42:32 oh actually it's EOF = -1 bug (in the C interp btw) 05:42:52 zzo38: Simplest semantics; where simple is defined by whatever you most prefer. Imperative semantics, maybe, or mathematical function semantics, or whatever. 05:43:18 Iota and Jot are considered simple 05:44:06 Although there are others 05:44:06 zzo38: iota is not even one rewrite rule, though... 05:44:15 you need to have unapplied lambdas S and K 05:44:22 alise: ah _now_ the numbers look more reasonable 05:44:25 so it's not just one simple rewrite rule 05:44:30 oerjan: goody, show them 05:44:45 well it'll have to finish first (it's _that_ reasonable ;D) 05:45:18 alise: Yes, I did see that 05:45:38 BCT and some brainfuck minimalizations might be a bit 05:46:29 alise: now it is slowing approximately 1 sec per iteration 05:46:46 well, gimme the numers :) 05:46:47 that still gives ratio 1 in the limit, just not as quickly 05:46:49 *numbers 05:46:55 one iter left or so 05:48:42 0m0.027s 0m1.226s 0m2.526s 0m3.656s 0m4.855s 0m6.287s 0m7.282s 0m8.596s 0m10.189s 0m11.309s 0m12.239s 0m13.287s 0m14.976s 0m16.016s 0m17.330s 0m18.475s 0m19.524s 0m21.483s 0m22.508s 0m24.279s 05:48:46 (user) 05:48:54 -!- augur has joined. 05:49:13 real is better :| 05:50:03 being calculated 05:50:05 oerjan: mind you, it's still basically 1 05:50:09 yes 05:50:11 first is 45.407407407407405 05:50:14 second 2.060358890701468 05:50:21 then it actually starts /decreasing/ 05:50:26 before stabilising, of a sort 05:50:39 please, tell the eigenratio guy; you'll crush his dreams 05:50:52 basically, the _difference_ between consecutive iters is approximately constant 05:51:28 that is the eigenratio 05:51:40 no the ratio is the ratio 05:51:45 oh right 05:51:47 well I did division 05:51:56 Ei(n) = Ti(n)/Ti(n-1) 05:52:09 which provides an approximation for E = lim(n->inf) Ei(n) 05:53:00 indeed all terms after the second round to 1 05:53:06 not even one >=1.5 05:54:20 0m0.031s 0m1.247s 0m2.451s 0m3.769s 0m5.393s 0m6.052s 0m7.609s 0m8.776s 0m9.804s 0m10.976s 0m12.203s 0m13.869s 0m14.665s 0m15.886s 0m16.971s 0m18.413s 0m19.361s 0m22.003s 0m21.855s 0m23.977s 05:54:24 (real) 05:54:30 -!- zzo38 has quit (Quit: The poor mimic the blind.). 05:56:00 oh you work it out 05:56:05 it's just dividing each term by its previous 05:57:09 -!- EgoBot has joined. 05:57:09 -!- HackEgo has joined. 05:58:02 a lease 05:58:06 I find myself wanting a language with lots of tuples. 05:58:16 lisp 05:58:33 alise: toi! you'll have to build them from sets, though :D 05:58:53 oerjan: something a bit higher level :) 05:59:19 i just don't feel like haskell :( 05:59:32 maybe i should write a redivider self-interp 05:59:47 why is it called redivider 06:00:40 palindrome 06:00:42 and it DIVIDES input into bits to parse them 06:04:30 iiiiiiiiit's bright outside now 06:04:52 yeah 06:05:03 I'm staying up to fix my sleep pattern 06:05:29 ha... i have to be up early on monday 06:05:36 and i want to get a lot of awake time on sunday 06:05:44 but i am not tired enough to sleep 06:05:45 what should I do? 06:05:45 I need to be up early on truesday 06:06:17 I'm reading a cool category theory pdf 06:06:53 dammit why the fuck do i have to go back on monday... 06:09:03 and why do i have the urge to write a new interpreter with which to write this interpreter in 06:12:56 * alise wonders how on earth the two syntaxes in http://www.esolangs.org/wiki/Redivider relate 06:13:57 oh the first is a lexer 06:14:49 I don't get natural transforms 06:16:43 hmm 06:16:49 there's no reason redivider couldn't be compiled, is there? 06:22:09 first person to name a language to implement redivider in gets NOTHING 06:24:34 thue ? 06:26:04 no way :) 06:26:07 redivider is a complex language 06:30:21 How do I get Python to shut up about deprecated things in old code? 06:30:21 <_habnabit> alise, fix the deprecated things. 06:30:25 <_habnabit> Or, things that are using deprecated things. 06:30:26 <_habnabit> Or maybe even things that are using things that are using deprecated things. 06:30:27 "No, fuck you" 06:31:19 welcome to IRC 06:32:42 then they just ignored me after I told them it's not my code and I don't know how to fix it 06:33:22 for the record, "-W ignore::DeprecationWarning" 06:34:41 $ echo | ./redivider hello.rd 06:34:42 Hello, world! 06:34:42 yay. 06:41:49 fax: fuck it's almost 7am what do i do 06:42:02 stay 06:42:06 ok ok but when bed 06:43:11 * alise tries to write an enumerator of fibonaccis in redivider 06:43:25 im doing category theory 06:46:32 alise 06:46:32 fax: my program calculates fib(13)=233! 06:46:38 is that correct 06:46:41 it uses regular expressions... but not numbers 06:46:47 yes it is 06:46:52 ¡ : 0 -> A 06:46:56 -!- Rugxulo has joined. 06:46:57 Ring any bells??? 06:47:09 ! 06:47:11 that's False_rect 06:47:16 that's a morphism isn't it 06:47:25 but in category theory they call it "GNAB" 06:47:27 why is everything the same as every other thing! 06:47:29 lol gnab 06:47:29 BTW, alise, log shows that you asked a lot of Pascal questions 06:47:33 Rugxulo: Yes. 06:47:36 I am learning the language of the people 06:47:42 fax: here is my program: http://pastie.org/933749.txt?key=9tvwg1cbh3ydxdiqlq 06:47:46 I'm not really a Pascal programmer, but there are various versions 06:47:52 fax: I had to use fib(n+2) because subtraction is hard :) 06:47:54 Rugxulo: yeah 06:48:05 try GNU Pascal sometime, it supports a lot 06:48:15 nah I only like Pascal in its most minimal form 06:48:23 which is ... ? 06:48:32 there is no minimal 06:48:32 even pointers are suspect imo, if knuth can write TeX without using a single one then that's good enough for everyone :) 06:48:46 and pointers aren't single-length arrays, they're addresses 06:48:51 yes, I know 06:48:52 that was a joke 06:48:59 Rugxulo: ftp://ftp.tex.ac.uk/tex-archive/systems/knuth/dist/tex/tex.web 06:49:04 ignore the bits that look like english and tex 06:49:20 ISO 7185 (standard pascal), ISO 10206 (extended pascal), Turbo Pascal, Object Pascal, Delphi 06:49:26 it's written in 80s-era pascal, without records, or pointers, or more than a few call-by-reference arguments 06:49:29 or many other things 06:49:47 yet it's survived 'til today, is trivially translated to C compileable on modern systems, and is responsible for the vast majority of published mathematical and scientific papers 06:50:06 and it's still maintained, and widely recognised as one of the most reliable programs written... as well as the best typesetter 06:50:07 80s-era doesn't mean anything ... it's either ISO 7185 or TP (or UCSD, unlikely) or VMS or ... 06:50:10 So who needs pointers? 06:50:21 @ Different \PASCAL s have slightly different conventions, and the present 06:50:22 everybody, you just don't necessarily need to be able to twiddle them 06:50:22 @!@:PASCAL H}{\ph@> 06:50:22 program expresses \TeX\ in terms of the \PASCAL\ that was 06:50:22 available to the author in 1982. Constructions that apply to 06:50:22 this particular compiler, which we shall call \ph, should help the 06:50:23 reader see how to make an appropriate interface for other systems 06:50:24 Rugxulo: Trivial subset. 06:50:24 if necessary. (\ph\ is Charles Hedrick's modification of a compiler 06:50:26 @^Hedrick, Charles Locke@> 06:50:30 for the DECsystem-10 that was originally developed at the University of 06:50:32 Hamburg; cf.\ {\sl SOFTWARE---Practice \AM\ Experience \bf6} (1976), 06:50:34 Rugxulo: TeX doesn't use a single pointer. 06:50:36 It has memory pools, sure; of static size. 06:51:00 ISO 7185 was from around 1982 or 1983, it was just a formal version of classic Pascal (Jensen and Wirth book, circa 1975) 06:51:59 "standard Pascal" didn't officially dictate how to use files, so a lot of stuff was implementation-defined 06:52:42 there was no modularization (see Modula-2 or extended Pascal) or units (TP, Delphi) 06:52:51 -!- augur has quit (Ping timeout: 265 seconds). 06:53:39 the biggest proponent of "standard" (classic) Pascal these days is Scott Moore (of IP Pascal fame): http://www.standardpascal.org/ 06:53:43 oh, and before I forget 06:53:49 you wanted to know the most limited Pascal 06:54:07 no, definitely not PL/I, but PL/0 (from _Algorithms and Data Structures_) 06:54:44 right i think that is what i meant 06:54:58 Scott Moore even has source to the original CDC 6000 Pascal compiler (well, a later revision from '80s, anyways) 06:55:31 Strictly speaking, what alise wants is the bit of PASCAL that WEB uses. Whatever that is. 06:55:49 actually, I read somewhere that Cowlishaw meant Rexx to be a easier-to-learn subset of PL/I 06:56:01 1982 means ISO 7185 (standard) 06:56:14 pikhq: Well, cleaned up a bit. 06:56:17 almost definitely, esp. since that was before Turbo Pascal hit 06:56:28 TP isn't standard compliant, nor is Delphi 06:56:30 alise: ok i actually mailed cliff gifford 06:56:36 alise alise alise alise are you there 06:56:38 this is important 06:56:39 oerjan: sweet. he'll be devastated 06:56:41 fax: quite yesly 06:56:47 Let F be an endofunctor 06:56:55 okay 06:56:57 letted 06:57:03 letted 06:57:06 An F-algebra is a pair with A an object and a : FA --> A. 06:57:11 "a standard PASCAL version of TeX" ... probably literally standard Pascal he meant here 06:57:21 fax: okay 06:57:23 ?????? dependent pair ?????? 06:57:26 BTW, I wrote a Befunge-93 interpreter in Rexx yesterday ;-) 06:57:31 ... you're right 06:57:39 fax: what the fuck, we've just discovered that type theory is category theory. 06:57:45 :D 06:57:55 why does oerjan's theory of synchronicity continually present us with new evidence? 06:57:59 WHY IS EVERYTHING EVERYTHING ELSE 06:58:04 WHY CAN'T SOME THINGS BE DEFINITELY NOT OTHER THINGS 06:58:13 maybe 1 = 0 06:58:18 TRIVIALISM 06:58:20 and we just don't know it yet 06:58:27 alise: curry-howard-_lambek_ correspondence? 06:59:03 "MESA" ... hmmm, rings a bell, must've inspired some famous language, but I can't remember which one 06:59:11 oerjan: that's an isomorphism to /one/ category, isn't it? 06:59:20 possibly Modula-2 since Wirth spent a sabbatical at Xerox 06:59:21 we're isomorphing type theory and the actual (meta?)theory of category theory 06:59:52 well, there is a category of categories, and stuff 07:00:25 and different type systems correspond to different logics, so why not to different categories. 07:00:52 seems Knuth uses (used?) "ph" compiler from 1976 07:01:01 i have little clue what i'm talking about on the category side, though. 07:01:07 Rugxulo: ph is 1980s extension of 1976 compiler i think 07:01:11 * Rugxulo seems to be talking to himself and also interrupting the other conversation, bah 07:01:15 also \ph expands to "PASCAL-h" or something in the typesetted version 07:01:25 oerjan: yes but consider 07:01:32 you're saying "oh it's isomorphic to /one category/" 07:01:39 but you're ignoring category theory itself -- which IS a theory 07:01:43 we CAN reason about whole categories as objects 07:01:47 and it turns out this is ~~ type theory! 07:02:03 fax: gnab is a hilarious name. and is the perfect symbol 07:02:05 alise: and then i'm saying there is a category of _all_ categories (sometimes with a smallness requirement, but still) 07:02:14 oerjan: yes, but that's still /within/ another theory 07:02:21 (category theory itself at the "top level") 07:02:49 I do think that it sounds like Oberon (which excludes some of the rarer features of Pascal), but that isn't 100% easy to convert to (not that I can code in it either) 07:03:18 you can define intuitionistic type theory naturally inside category theory 07:03:36 so maybe we're doing this all backwards? 07:03:50 long story short: "standard" Pascal is pretty much ignored in favor of Delphi-ish versions (which let you do anything you want with pointers), extended Pascal is rare, and even ones that partially implement them aren't always fully compliant 07:04:19 FPC does not pretend to (want to) support any Pascal besides Borland 07:04:27 fax: seems so 07:04:44 Rugxulo: yeah why do people hate purity 07:04:53 GNU Pascal is better but tied to specific GCC versions 07:05:04 and not included in GCC source tree itself, only as patches 07:05:08 http://pastie.org/933758.txt?key=lymvolzrld6dwjkryqmtxq 07:05:10 this calculates 4! = 24 07:06:10 "gubed", heh, now I get it ;-) 07:06:34 thanks to my Befunge training 07:07:14 anyone here sufficiently interested in redivider? I'd like to write a binary numbers "library" in it 07:07:18 since unary is... slow 07:08:19 alise, okay it's not really ISO 7185, it claims to only use Jensen and Wirth with some extensions (e.g. default case, which wasn't officially added until extended circa 1988 or so) 07:08:33 Rugxulo: you mean TeX? 07:08:39 it also uses dynamic files of some sort 07:09:14 hmm 07:09:17 according to Scott Moore, Wirth always intended the header file names to be mapped to real files, but his CDC machine was so quirky, and they didn't need ten gazillion lines / files back then, so ... 07:09:19 binary in redivider should be the wrong way around 07:09:28 as in 001 = 4 07:10:20 -!- augur has joined. 07:10:30 hmm 07:10:34 so 101 -> 011 07:10:42 if the first digit is 0, obviously we flip it to 1 then return the rest untouched 07:10:45 but if it's 1... 07:10:52 then obviously it must become 0 07:11:13 and the rest is incremented 07:11:48 hmmm, he's using a few "extensions" that may or may not clash with reserved keywords of most Pascals 07:12:01 Rugxulo: interestingly enough nobody actually ever compiles the pascal 07:12:05 Rugxulo: they compile it to C (!) 07:12:11 but, not a full-blown compiler 07:12:14 just a simple "translator" 07:12:15 GNU --extended-pascal would probably work 07:12:21 and this stuff is used by tons of people every day... 07:12:35 it supports "continue", "halt" (exit), "goto non_numeric_label", etc. 07:12:50 succ: 07:12:50 { /0/; "1" + /.*/ } 07:12:50 | { /1/; "0" + succ[/.*/] }. 07:12:51 it works!! 07:12:58 best successor algorithm ever 07:13:21 it's just that Extended Pascal is extremely rare, only Prospero fully implemented it, I think, although GNU Pascal mostly supports it 07:13:42 alise: Nice binary successor. 07:13:49 pikhq: reverse binary! 07:13:53 you feed it binary digits in /reverse/ order 07:14:01 That's just a form of endianness. 07:14:04 Still binary. 07:14:04 yep 07:14:05 :) 07:14:06 but funny 07:14:15 I like how it actually shows how the carrying works 07:14:29 Yeah, that's fairly nice. 07:14:55 You could quite feasibly extend that to do reverse decimal arithmetic. :P 07:14:57 hmmm, assumes ASCII 07:15:18 I think Wirth's CDC used EBCDIC, as do many old IBM machines, but it's mostly ignored 07:15:25 Rugxulo: it doesn't assume ascii 07:15:31 it translates inputted/outputted text 07:15:40 it just uses ascii internally... and also its own charset for some things 07:15:43 pikhq: yeah but why bother? 07:15:44 alise: Pascal, not your thing. :) 07:15:51 I'm talking about pascal 07:15:58 Ah. Well then. 07:16:10 UTF-EBCDIC is a funny UTF. 07:16:50 pikhq: If I was writing this for efficiency, I would do base 256. 07:16:58 Because that's the max I can store in a character. 07:17:06 not sure what the CDC supported, but perhaps its keyboard was only 64 keys, can't remember 07:17:10 !slashes /1|/|0//0|/1//|/1/ 100111| 07:17:15 alise: Yeah, that would be the best. 07:17:16 101000 07:17:26 * oerjan whistles innocently 07:17:29 (you don't have to type keywords in uppercase in Pascal, only Modula-[23] and Oberon-* require that) 07:17:31 pikhq: But I'd have to hardcode every one. 07:17:43 oerjan: Wake me up when it does infix->postfix :) 07:17:43 Yes, you'd be writing a byte-based lookup table. 07:17:56 pred: 07:17:56 { /0/; "0" } 07:17:56 | { /1/; "0" + /.*/ }. 07:17:58 Just realised I can omit the base case 07:18:02 then it /fails/ if you pass it 0! 07:18:03 awesome 07:18:42 * alise wonders why 07:18:44 reverse: { x: /./; reverse[/.*/] + x }. 07:18:45 fails 07:18:45 oh 07:18:47 no "" case :P 07:19:32 eh? my succ doesn't work any more 07:19:42 now it succs instead 07:19:56 oh 07:19:58 no empty string case 07:20:41 $ echo | ./redivider binary.rd 07:20:41 100000000000000 07:20:43 Hooray! 07:20:51 Now to do addition and multiplication.. and then sleep it's 720am 07:21:13 the problem is it has to be called ugly 07:21:15 add(m)[n] 07:21:20 because add(m,n) doesn't work so well 07:22:43 Extended Pascal also officially supports variable-length arrays, strings, readstr and writestr, etc. 07:23:16 actually wait, I need to scan both... 07:23:37 "packed" (which you mentioned) was apparently to save precious RAM, also because the CDC had some odd word size 07:24:01 BTW, in the logs, somebody mentioned Algol 07:24:24 mention it to fizzie, he showed me mooz's Befunge-93 interpreter in Algol-60 (check WayBack) ! 07:24:55 sweet 07:25:05 anyone want to figure out how to write binary addition in redivider? 07:25:43 last:=first; {cf.\ Matthew 19\thinspace:\thinspace30} 07:25:43 07:25:47 Biblical reference?? 07:26:12 the last shall be the first? 07:26:51 "But many that are first shall be last; and the last shall be first." 07:28:12 yo erjan 07:29:07 i can't figure out thisx redivider error SO TIRED 07:29:27 "Since \PASCAL\ does not have a well-developed string 07:29:27 mechanism" ... it has none! (until "extended") 07:29:41 packed array [1..255] of char 07:29:56 redevered 07:30:01 MizardX: ping 07:30:08 gonna ask him something bout the spec... 07:30:20 ? 07:30:40 For example, here is 07:30:40 a simple macro that computes the length of a string." ... again, extended Pascal to the rescue 07:30:45 built-in 07:30:55 Rugxulo: not portable enough for knuth 07:30:58 MizardX: you remember redivider? 07:30:59 alise, I mean a real "string" type, keyword 07:31:08 alise, I agree, but it does exist! 07:31:11 MizardX: why does p[q] hard fail if p soft fails? 07:31:16 add(m,n): 07:31:16 { /0$/[n]; m } 07:31:16 | { succ[add(m, pred[n])] }. 07:31:22 I can't write this because /0$/[n] hard fails 07:31:55 alise: It's been too long. Could you give a link to the spec? 07:32:02 yeah, http://www.esolangs.org/wiki/Redivider 07:32:17 i'm just getting re-into it: wrote fibonacci and factorial; now writing a "library" for reverse binary numbers 07:32:26 succ is really pretty: 07:32:27 succ: 07:32:27 { /$/; "1" } 07:32:27 | { /0/; "1" + /.*/ } 07:32:27 | { /1/; "0" + succ[/.*/] }. 07:32:31 but addition is, alas, not so 07:32:36 for one, i can't see how to make it work 07:33:11 * Rugxulo does have half a mind to (try to) write a Befunge-93 interpreter in Pascal 07:33:37 already halfway started, but I was too dumb to finish correctly 07:34:25 it's the one program that doesn't get hurt by pascal's fixed-length strings :D 07:34:39 I guess you know Ada is Pascal-ish, included in GCC by default now 07:34:53 add(m,n): 07:34:54 { /0/[m]; /0/[n]; "0" + add(m,n) } 07:34:54 | { /0/[n]; /1/[n]; "1" + add(m,n) } 07:34:54 | { /1/[m]; /0/[n]; "1" + add(m,n) } 07:34:54 | { /1/[m]; /1/[n]; "0" + add(m,succ[n]) }. 07:34:59 if this worked it would be a nice binary adder 07:35:09 Ada83 was 7-bit only (from what I hear), hence why he probably couldn't consider it back then (plus expensive compilers) 07:35:11 Rugxulo: Ada is way more anal-retentive than pascal 07:35:34 He's Knuth, man; he programs correct MIX without fail. 07:35:39 And he /made MIX up/! 07:36:43 Just as a rule, Knuth is the man. 07:36:59 MizardX: and is there any way to coerce hard failures to soft failures? 07:37:01 if not, what to do? 07:39:20 hey guys 07:39:26 I just came up with an argument for the predecessor of 0 being 1 07:40:10 didn't the Romans lack understanding of 0? wasn't it a foreign concept? 07:40:19 something like that 07:40:20 anywa 07:40:21 y 07:40:35 consider reverse binary strings i.e. 4 = 001 07:40:47 the predecessor of 1, followed by some things, is 0, followed by some things; this is the no-carry case 07:40:50 "reverse" :( 07:40:59 yeah yeah 07:41:06 the predecessor of 0, followed by some things, is 1, followed by the predecessor of some things. 07:41:21 you're right, that's the reason I'm sad 07:41:23 even Hebrew writes numbers left to right (but still pronounced right to left) ... could be wrong, but I think that's what I read 07:41:25 now 07:41:40 consider the number "0" 07:41:42 It makes sense for Hebrews to write that way 07:41:45 but not Englishes 07:41:49 the predecessor is "1" plus the predecessor of some things 07:41:53 some things = "" 07:41:59 "Zero" as an actual number is a rather recent concept. 07:42:04 obviously the predecessor of an empty number -- considered as a recursive base case -- is the empty number 07:42:08 so the predecessor of 0 is 1. 07:42:20 Q.E.D. :P 07:42:40 It shows pretty *heavily* in Chinese numerals. 07:43:14 alise: if you consider the most significant bit of a number to repeat infinitely often from there, then that follows logically 07:43:31 it's just the 2-adic integer representation 07:43:41 well the predecessor of 0000... would be 1111... 07:43:42 零 is 0 in Chinese numerals. The next Chinese numeral of similar complexity is 億, 100,000,000... 07:43:44 which is infinity, zomg! 07:43:53 alise: no, it's -1 07:43:54 oh man I was reading about p-adics but... forgot it all 07:43:58 oerjan: howso 07:44:00 0.999999999 = 1? LOL 07:44:06 an infinite number of ones? 07:44:11 alise: 2's complement with infinite no. of bits 07:44:19 who said 2s complement? 07:44:23 I never said 2s complement 07:44:26 pure positive binary, man 07:44:30 the predecessor of 0 is infinity. 07:44:41 I don't think 11111111... is infinity 07:44:48 alise: well 2's complement is really just 2-adics cut off at some bit length 07:44:49 that doesn't make sense to me, at least 07:44:58 fax: not 11... 07:45:01 ...1111111 07:45:05 1+1+1+1+1+... = -1/2 is a better infinity 07:45:29 well it's (1 * 2^0) + (1 * 2^1) + ... 07:45:38 = 2^0 + 2^1 + 2^3 + ... 07:45:46 In a short period of less than a year, two distinguished physicists, A. Slavnov and F. Yndurain, gave seminars in Barcelona, about different subjects. It was remarkable that, in both presentations, at some point the speaker addressed the audience with these words: 'As everybody knows, 1 + 1 + 1 + · · · = −1⁄2'. Implying maybe: If you do not know this, it is no use to continue listening.[1] 07:46:38 = infinity 07:47:53 so what, didn't two dudes invent calculus? same as two dudes deciphered the Rosetta stone, same as ... 07:48:18 * oerjan didn't know that about the rosetta stone 07:49:28 "Some \PASCAL\ compilers do not implement non-local |goto| statements." ... not sure FPC does either 07:51:15 "@ Here the author of \TeX\ apologizes" ... "@^Knuth, Donald Ervin@>" 07:52:45 "help1("I'm broken. Please show this to someone who can fix can fix"); 07:52:45 end 07:52:46 else begin print_err("I can't go on meeting you like this"); 07:52:46 @.I can't go on...@> 07:52:48 help2("One of your faux pas seems to have wounded me deeply...")@/ 07:52:52 ("in fact, I'm barely conscious. Please fix it and try again.");" 07:53:36 hmm... so if infinity=....11111 07:53:37 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 07:53:45 by my algorithm its predecessor is .....00000 07:53:50 so ... the predecessor of infinity.. is 0 07:54:41 infinity doesn't equal ...11111!!! 07:54:49 this is blasphemus 07:55:35 alise: successor you mean 07:55:35 .....1111 = (1*2^0)+(1*2^1)+... 07:55:46 = sum{n=0,inf} 2^n 07:55:48 "with enough 36-bit 07:55:48 words you might be able to have |mem_max| as large as 262142, which is 07:55:48 eight times as much memory as anybody had during the first four years of 07:55:48 \TeX's existence." 07:55:52 you figure out the riemann sum thing for that 07:55:55 and i'll accept that 07:56:07 oerjan: no, because the predecessor of 1something is 0something 07:56:09 oh wait 07:56:11 so the predecessor of infinity is 07:56:14 ....111110 07:56:24 which is 2^1 + 2^2 + ... 07:56:26 = infinity 07:56:29 xD 07:56:30 1 + 2 + 4 + 8 + ... = -1 07:56:48 I DON'T BELIEVE YOU 07:56:52 ill proe it 07:57:43 1 + 2 + 4 + 8 + ... = X so 1 + 2X = X <=> 1 + X = 0 <=> X = -1 07:58:17 fax 07:58:21 ... dayum you slick 07:58:22 hi fax 07:58:26 HAHA 07:58:29 x3 07:58:44 what's sum{n=0,inf} n^(3^n) 07:58:47 good job fax 07:58:48 EH EH 07:58:49 GOT YOU THERE 07:58:51 greeting yourself and all 07:59:19 alise, I cant' do finite integral of n^(3^n) :/ 07:59:45 hey augur I am mathing 07:59:46 whats up 07:59:54 compling mathing 07:59:54 :o 07:59:59 it's 8am i haven't slept what's up 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:09 my clock says 6:59 am 08:00:38 25 years and my life is still 08:00:43 trying to get up that great big hill 08:00:46 ooff hope 08:00:52 for whatever that means 08:01:01 .??? kate 08:01:02 oh, no, for a destination 08:01:03 right 08:01:23 fax knows what im singing 08:01:25 CHINA 08:01:25 shes a faggot 08:01:27 0 + 1 + 512 + 7625597484987 = X so 1 + somethingX = X <=> ? 08:01:27 IN MY HANDS 08:01:37 shes sat in a group of faggots with a guiter and sang this song 08:01:39 dont deny it fax 08:01:48 I wish :x 08:02:02 :| 08:02:04 you never went to like 08:02:11 a glbtqq youth group? 08:02:17 no maybe I should 08:02:26 how old are you again? 08:02:29 21 08:02:35 too old 08:02:38 ;( 08:02:43 you're in the young adults group 08:02:48 NEVER TOO OLD FOR PAEDOPHILIA 08:02:58 8D 08:03:00 alise, you might like this song 08:03:00 lol 08:03:09 one of the lines is "and i try, oh my god do i try, in this institution" 08:03:10 implying that alise is a faggot 08:03:20 * alise cuts self 08:03:26 no, just in an institution 08:03:29 tomorrow, anyway. 08:03:37 * alise cuts self some more 08:03:41 * augur hugs alise 08:03:54 :P 08:03:57 man i am tired 08:04:00 8am, haven't slept, should i sleep? 08:04:04 fuck i have no self control 08:04:07 duh, yes ;-) 08:04:08 alise no we need the finite integral of n^(3^n) 08:04:14 fax: do it then 08:04:22 alise, I don't even know if that is expresible in arithmetics... 08:04:34 alise: Dude, I have forgotten to eat before. I think your situation is not quite as bad. 08:04:34 plug it into your al-jabr thing :-D 08:04:47 At the very least you will *eventually* sleep. 08:04:49 pikhq: yeah but i hate being tired; also i want to be awake for a while um... today 08:04:51 not tired 08:04:52 before going back 08:04:53 ask alpha! 08:04:54 so. yeah 08:05:01 alise just go to bed early 08:05:04 tommorow 08:05:14 you'll sleep long and it will get you uppin the morning 08:05:17 (unless you try?) 08:05:53 http://www.wolframalpha.com/input/?i=integrate+x%5E%283%5Ex%29+dx 08:06:00 augur: finite integral. 08:06:01 fax: no, see, /that/ is not an option because i am /tired/ right now 08:06:06 and i want to be /awake/, for hours, today 08:06:08 wait what alise 08:06:27 http://www.wolframalpha.com/input/?i=integrate+floor%28x^%283^x%29%29+dx 08:06:55 finite integral? what? 08:07:00 alise, even taking a small nap (not long, though) will recharge you 08:07:05 set your alarm if you're that worried 08:07:13 fuck recharging; I have to sleep for hours or I fail 08:07:20 ditto 08:07:30 if i sleep for even a tiny bit when im really tired im fucked 08:07:32 just fucked 08:07:34 forget it man 08:07:49 recharging is a lie 08:08:04 the truth is that when you go to sleep you die 08:08:04 A LIE 08:08:07 lol 08:08:07 D: 08:08:10 FOREVER 08:08:14 and god rewrites the world to makes things set up correctly 08:08:17 then revives you 08:08:18 a little piece of me dies every day 08:08:23 and it can take a really long time sometimes 08:08:40 that's why if you try to sleep up a tiny bit when you've been up for a long time, he fucking stomps you 08:09:00 you have never existed before this moment. all your memories before this very instant have been planted in your head. the universe replaces itself with a random state every single planck time; this was a coincidence. one in billions. trillions. it will go now. you think you have read this whole line but you have actually just finished reading it. the memory of the rest of a line was, again, implanted by chaos. goodbye. 08:09:10 it's his way of asying: Look I have a LOT of shit to do, and you are fucking it up 08:10:03 hey 08:10:11 is there any SCI-FI set in 100 dimensions? 08:10:15 no 08:10:17 alise ... you were wrong: 08:10:18 var p:pointer; {the node currently under inspection} 08:10:18 or any bigger number of dimensions than 3D 08:10:19 @!q:pointer; {the node physically after node |p|} 08:10:19 08:10:25 Rugxulo: aha look up the definition of pointer 08:10:27 it is not a pascal pointer 08:10:31 fax: 100 dimensional scifi?! 08:10:32 WAT 08:10:34 it is an integer index into a static array 08:10:34 :| 08:10:35 i am curious about peoples speculations on large numbers of dimensions 08:10:49 fax: Parts of Fine Structure. 08:10:49 none of the 4D sci-fi I have read has satisfied me 08:11:00 http://qntm.org/structure 08:11:01 pikhq oh damn - okay ty 08:11:03 pikhq: 100 dimensions? 08:11:14 alise: Significantly greater than 3. 08:11:19 great 08:11:20 :D 08:11:27 -!- FireFly has joined. 08:12:41 *Man* the intro to that makes more sense after you've read it once. 08:13:41 alise 08:13:43 you need to see this 08:13:52 fine structure? 08:13:54 i will read it sometime. 08:13:55 http://i.imgur.com/0eWnm.png 08:14:10 you know in type theory all data types are introduction/elimination 08:14:14 alise: You haven't read everything by Sam Hughes? D: 08:14:26 -!- augur has quit (Remote host closed the connection). 08:14:35 -!- augur has joined. 08:15:15 pikhq: Hey, I'm old school. I read the Ed stories. 08:15:20 fax: yes 08:17:03 4urhaskell 08:17:03 > "sup dawg, we herd u liek Haskell so we put a recurshin in ur recurshin so you can " ++ cycle "recurse while you " 08:17:07 SO FUCKING TIRED 08:17:08 sfdlgjs 08:17:20 WHY DO I DO THIS TO MYSELF 08:17:25 do what 08:17:32 stay up like this 08:17:37 MizardX: ping 08:17:38 uorygl: ping 08:17:39 -!- oerjan has quit (Quit: Got to sleep, God wants to reboot). 08:17:40 I would call my version of haskell either: 08:17:45 Haskell' or Hasceline 08:17:54 haskell' is taken 08:17:54 alise: Those were awesome. 08:17:59 Hascaline 08:18:03 alise: Still looking at it, and trying to make it work... 08:18:07 alise: No it's not 08:18:07 pikhq: Would make a great movie. 08:18:09 MizardX: ah :P 08:18:13 fax: yes, Haskell Prime 08:18:23 alise: When I first got into Sam Hughes, after I had read a few random snippets I went through and read all the stuff on his site in chronological order. 08:18:27 alise, yeah that project collapsed from it's own weight 08:18:35 fax: uhh it got released 08:18:36 as haskell 2010 08:18:37 Well. All the stories. 08:18:44 The other stuff, I have read massive chunks of. 08:18:49 alise: ... that's called Haskell 2010 :P 08:19:05 fax: Yes, that's the first bit of results of the Haskell Prime process. 08:19:10 :) 08:19:26 Haskell++, Haskell 2.0, Haskell-0x, Haskeller, Haskellwilltravel 08:19:49 You are not alone. Nor are you rare, nor even unusual; you're so common as to be insignificant. You are small, weak, and stupid. Your lives are meaningless and shorter than an eyeblink. You have achieved nothing. On the universal scale you are nothing. 08:19:49 This much we share already. 08:19:49 Now let us share the rest. 08:19:58 ^ one of my favourite quotes; from the Ed stories 08:20:28 what does it mean "Now let us share the rest."? 08:20:38 it's a first contact message 08:21:26 category theory seems too good to be true 08:21:47 JUST LIKE LOVE. 08:22:05 -!- Rugxulo has quit (Quit: beyond). 08:22:06 MizardX: imo, the language should be changed so that this works: 08:22:08 add(m,n): 08:22:08 { /0/[m]; /0/[n]; "0" + add(m,n) } 08:22:08 | { /0/[n]; /1/[n]; "1" + add(m,n) } 08:22:08 | { /1/[m]; /0/[n]; "1" + add(m,n) } 08:22:08 | { /1/[m]; /1/[n]; "0" + add(m,succ[n]) }. 08:22:22 i.e., p[q] soft fails if p soft fails; and also, q is modified to be the new input string of p 08:22:31 I guess "q is modified" can't happen 08:22:32 :/ 08:23:40 * alise yawns; so much 08:27:07 heh this is a new one 08:27:08 alise: 08:27:53 set: sigma/R, intros: [M]_R : sigma/R (for M:sigma), elimination: pick x from P in Q : rho (for P : sigma/R, Q(x):rho where x:sigma) 08:28:28 oh I think I was reading it wrong and it's less amusing than I'd thought 08:28:34 i don't get it 08:32:34 i am so tirred 08:32:43 fax: tell me more category theory correspondences 08:32:54 that's all I know so far 08:32:57 anything relating to Prop/proofs? 08:33:02 I'm finding out more as I go 08:33:14 well did you know that STLC corresponds to a CCC 08:33:20 yes 08:33:24 but anything relating to Prop/proofs? 08:33:42 not that i know of yet 08:34:08 any more fun related functions other than f-algebras and gnab? 08:34:27 alise, well 08:34:34 alise: http://pastebin.com/k99UVidS 08:34:44 Category theorists will often think of the ring R and the category R as two different representations of the same thing, so that a particularly perverse category theorist might define a ring as a preadditive category with exactly one object 08:35:05 remember what I was saying about proving x0 = 0 ==> 0x = 0 using oppposite category 08:35:06 MizardX: ouch. 08:35:08 that's how 08:35:12 add(m,n): 08:35:13 { /0/[m]; /0/[n]; "0" + add(m,n) } 08:35:13 | { /0/[n]; /1/[n]; "1" + add(m,n) } 08:35:13 | { /1/[m]; /0/[n]; "1" + add(m,n) } 08:35:13 | { /1/[m]; /1/[n]; "0" + add(m,succ[n]) }. 08:35:19 surely it would be nicer to make this work? ;-) 08:35:33 also that add hard fails no? [n] 08:35:46 /0/[m] won't work, since the regex isn't allowed to soft fail. 08:35:50 (and, just a question, why the .* clause in succ?) 08:36:01 also 08:36:02 MizardX: even if it did soft fail it'd hard fail 08:36:04 due to []s definition 08:36:58 ".. we talked a logic /over/ a category. Categorically this will correspond to one category, capturing the logic, being /fibred over/ another category, captuing the type theory" 08:37:59 MizardX: so what would be bad about making [] soft fail? 08:39:07 MizardX: what does mx represent? 08:39:11 alise http://ncatlab.org/nlab/show/Mitchell-Benabou+language 08:39:34 alise: mx = tail of m 08:39:43 The N-Category Cafe! 08:39:48 MizardX: ah. I usually call that rest :P 08:40:04 MizardX: so, I guess add can not really be defined as a two-argument function 08:40:05 alise: http://pastebin.com/sJe3qDXr <-- little easier to follow 08:40:05 ? 08:40:11 actually i think functions in redivider are a wart 08:40:21 they should just have multiple inputs or something 08:41:26 Last one uses two inputs for add. In the first one, I used the input stream as an input. 08:42:22 Oh, right you are 08:42:34 which is more useful do you think? I was just doing two args cuz add(x)[y] looks ugly 08:43:26 add(x)[y] vs add(x,y) and add(x,/.*/) vs add(x) 08:43:44 yeah 08:43:52 just asking for your personal opinion :P 08:44:25 -!- FireFly has quit (Quit: Hey! Listen!). 08:44:26 add(x,y) is more readable, and add(x)[y] is more practical. 08:45:17 add(x)[y] then 08:46:05 alise: i think you should make a language with strictly monadic functions. :o 08:46:14 define monadic 08:46:27 MizardX: hmm... if I'm having functions as ugly as add, I should do more digits 08:46:31 monadic, unary 08:46:33 say, 256 :-) 08:46:33 same thing 08:46:37 not nomad monads 08:46:40 augur: that's called the lambda calculus 08:46:48 no i mean truly strictly monadic 08:46:56 that is truly strictly monadic 08:46:59 LC is monadic, but its higher order so you can fact polyadicity 08:47:10 if you have a tuple type you have already lost 08:47:14 i mean a language where you dont get higher order enabled polyadicity 08:47:14 or even the naturals 08:47:22 no tuples! 08:47:33 Goedel((x,y)) = ToUnaryOnes(Goedel(x)) ~ 0 ~ ToUnaryOnes(Goedel(y)) 08:47:40 (~ is binary digit concatenation) 08:47:56 no pattern matching either 08:47:57 MizardX: are you sure add cannot be prettier? 08:48:26 I'm dreading implementing subtraction now :-) 08:48:29 and multiplication... eek 08:48:39 all user defined functions must be strictly monadic, no pattern matching, and the only non-monadic things are metasyntactic :x 08:48:42 To be able to use { regex; ... } as an if-statement, you have to do it that way. 08:49:30 MizardX: But, is there an actual reason [] should not soft-fail? 08:49:58 Maybe so that it could work on streams? 08:52:32 Eh? 08:53:39 Soft fail utilizes a single fallback point. Hard fail, the program would have to back-track to a point before the fallback point. 08:54:27 On a succesful match, the fallback point is moved up. 08:54:38 -!- Alex3012_ has joined. 08:55:06 fax: so would a category theory programming language allow you to define and use toposes? 08:55:14 MizardX: Fair enough. 08:55:24 I'd be happier with that response if your interp actually lazily read input :-) 08:55:44 true 08:57:43 fuck I am tired 08:58:12 fax: me too 08:58:17 MizardX: I dread to define subtraction now... 08:58:25 and here I thought redivider was the prettiest language I'd ever seen! 08:59:05 It's good at some things... 08:59:20 arithmetic is not one of them 09:01:08 my mind boggles even just trying to think of how to write subtraction... also i am tired 09:03:26 why don't you write it by turning 3-2 into +++-- 09:03:35 then get rid of "+-" --> "" 09:03:36 no :P 09:03:51 i'm doing binary because unary is slow, that's the point :P 09:05:45 { m: binary; /\+/; n: binary; reverse[add(m)[n]] } 09:05:46 | { m: binary; /\-/; n: binary; reverse[sub(m)[n]] } 09:05:50 MizardX: this hard fails if I do - why :( 09:05:54 how am i supposed to code it 09:06:52 You have to check one thing at the time, and branch. 09:06:52 fax: http://ncatlab.org/nlab/show/constructive+mathematics 09:07:03 MizardX: I'm not sure /how/ you branch 09:07:14 honestly, why don't blocks soft fail if parts soft fail? 09:08:23 alise: They soft fail if the _first_ line soft fails, otherwise they hard fail. 09:08:24 alise: { m: binary; { /\+/; n: binary; reverse[add(m)[n]] } | { /-/; n: binary; reverse[sub(m)[n]] } } 09:08:46 why is this restriction there? it looks nothing at all like regular bnf when put under that restriction 09:09:21 Yeah, yeah, backtracking; but PEG parsers allow a ridiculous amount of that and they work fine. 09:09:53 damn, my subtracter has a bug! 09:11:35 Heh; in my now-fixed subtracter, 1-x is the successor of x, and 1-2 is 3. 09:11:49 1-3 is 2. 09:12:03 1-4 is ... wait, what? 5. 09:12:10 1-5 is... 4. 09:12:21 1-6 is 7. 09:12:31 1-7 is 6. 09:12:45 So wait, 1-n is n+1 if n is even, and n-1 if n is odd. 09:12:46 I see. 09:13:10 MizardX: does your adder ever leave trailing 0s? 09:13:27 alise: only if the input has trailing zeros 09:13:35 good. 09:13:39 my subtracter does it sometimes :( 09:15:18 2-3 = 1. 09:15:21 2-4 = 6. 09:15:31 2-5 = 7. 09:15:41 2-6 = 4. 09:15:46 2-7 = 5. 09:15:54 Cool, it's "splitting" the naturals. 09:16:34 1000-x is x-1000, strangely. 09:16:54 Except 1000-10000 = 11000. 09:17:19 So 8 - 16 = 24. 09:20:38 removing the rule 1x - = 1x fixed it. 09:20:43 removing the rule 1x - = 1x fixed it. 09:20:44 oops 09:20:49 no it didn't 09:21:19 MizardX: why does your succ function do /.*/ btw? I forgot 09:21:23 -!- lament has joined. 09:22:19 alise: To store the remaining input, before you change it to something else with (...)[n] 09:22:40 * alise runs into a problem 09:23:01 (reverse binary ahead:) 0x - 1y = 1(x+y) 09:23:06 that's not right, is it? 09:23:50 x - y = x + (-y) = x + (~y + 1) 09:24:24 er right 09:25:19 0x - 0y = 0(x-y) 09:25:20 1x - 0y = 1(x-y) 09:25:20 0x - 1y = 1(x-succ(y))? 09:25:20 1x - 1y = 0(x-y) 09:28:38 wait 09:28:41 0x = 2*x 09:28:44 1x = 1+2*x 09:29:27 so 2*x - 1+2*y = 2*(x - y) - 1 = 2*(x - y - 1/2) 09:30:07 yes yes very nice 09:30:55 it doesn't really help.. 09:32:09 fax: http://ncatlab.org/nlab/show/anafunctor 09:34:48 that's interesting 09:35:49 { /0/; rest: /.*/; 09:35:50 ( { /0/; "0" + sub(/.*/)[rest] } 09:35:50 | { /1/; "1" + sub(/.*/)[rest] } 09:35:50 )[n] } 09:35:52 this is n-0 09:35:55 this is certainly right. 09:36:05 but 0-1? 09:36:08 hmm 09:36:14 we need to subtract one more than we usually would from the rest 09:36:21 | { /1/; rest: /.*/; 09:36:21 ( { /0/; "1" + sub(/.*/)[succ[rest]] } 09:36:22 | { /1/; "0" + sub(/.*/)[rest] } 09:36:22 )[n] } 09:36:23 looks correct to me 09:37:07 so why does it calculate 10011 - 1101 = 1100? it's 110 09:38:02 MizardX: wait, HTF is your add correct? 09:38:17 it has 1x+0y = 1(x+y+1) 09:38:28 nnnooo it doesn't 09:38:30 i added that 09:38:30 lol 09:38:54 MizardX: your add is interesting; it swaps each time 09:39:03 0x+0y = 0(y+x) 09:39:15 1x+0y = 1(y+x) 09:39:25 +0y = 0y 09:39:34 0x+1y = 1(y+x) 09:39:48 1x+1y = 0(y+x+1) 09:39:52 1x+ = 1x 09:40:59 aha! 09:41:05 * alise fiddles with stuff 09:42:02 -!- kar8nga has joined. 09:42:27 0x-0y = 0(x-y) 09:42:28 1x-0y = 1(x-y) 09:42:28 0x-1y = 1(x-(y+1)) 09:42:28 1x-1y = 0(x-y) 09:42:28 x- = x 09:42:28 3 09:42:29 these are correct 09:42:34 so why do they compute wrongly? 09:43:25 fax: what type T:*->* has |T A| = Fib(|A|)? 09:44:14 it's a strange sort of tree 09:45:04 precisely! 09:45:07 data Fib n where Leaf :: Fib 1 ; Branch :: Fib a -> Fib b -> Fib (a + b) ... 09:45:19 I guess that is totally useless because I just repeated what you said 09:45:25 that's not *->*; that is nat->* :P 09:45:27 well it's wrong as well 09:45:48 data Fib n where Leaf :: Fib 1 ; Branch :: Fib n -> Fib n -> Fib (S n) 09:45:53 consider T := A | B | C | D 09:45:55 |T| = 4 09:45:57 no that's still wrong isn\t it 09:46:08 therefore |FibTree T| = 3 (!) 09:46:24 ohhhh 09:46:31 that's different 09:46:45 T := Fin 12 09:46:48 |T| = 4 09:46:53 |FibTree T| = 144 09:47:23 the question is 09:47:26 what is FibTree's inductive definition? 09:47:51 1 + (1) + (1 + (1)) + (1 + (1) + (1 + (1))) 09:48:07 no; for general T 09:48:41 that was powers of two :/ 09:48:48 I can't do this alise 09:49:57 FibTree 0 == 0 09:49:58 so all constructors of FibTree require a value of T at some point 09:49:58 FibTree 1 == 1 09:49:58 so a non-base-case value requires two distinct values of T 09:49:58 FibTree (n+2) == FibTree (n+1) + FibTree n 09:49:59 so ?? 09:52:01 fax: the really hard bit is e.g. 09:52:10 |FibTree (A | B | C)| = 2 09:52:18 so we can't have Foo : T -> FibTree T 09:55:51 (a,b) --> (b,(a,b)) 09:55:54 that's the recurrence 09:56:08 I don't think it's expressible 09:57:02 grrrr 09:57:07 why isn't this binary subtraction working 10:00:15 * alise decides to enslave MizardX to write binary algorithms all day 10:01:20 or not, but /me just asks MizardX -- the new resident Redivider expert -- how feasible e thinks a self-interpreter would be 10:01:26 it would have to execute while parsing, right? 10:01:39 but redivider programs can reference later terms... so I'd have to do some sort of awful AST thing 10:02:31 "Laurent Vogel complains that handling of newlines is not well defined in the specifications and proposes the following convention: when a string is sent to the output stream, no newline is printed at the end, except if the string is empty, in which case a newline is all that is printed. 10:02:33 rjan Johansen complains that input is a lousy hack that has no way of handling arbitrary strings (think Wikipedia:code injection here) and no well-defined behavior on end of file. This makes an otherwise powerful language useless for implementing I/O-supporting programs properly in. " 10:05:22 -!- tombom has joined. 10:12:43 imma implement slashes in redivider 10:12:55 derivider would be a nice name for a redivider implementation 10:13:00 quotient a nice name for a self-interp 10:14:38 Eh, too lazy to do slashes. 10:18:11 hey fax 10:18:18 http://www.esolangs.org/wiki/Onoz ;; implement this. it involves proof manipulation 10:20:59 morning 10:24:49 -!- lament has quit (Quit: lament). 10:28:55 * alise wonders why this doesn't work 10:29:01 main : { /$/; "" } | /./ + main. 10:31:49 alise alise wonders why alise 10:31:54 what 10:36:22 ah, you need to handle newlines 10:36:23 MizardX: ping 10:36:57 ? 10:38:30 MizardX: /.*/ and /./ don't match \n 10:38:35 so cat has to be 10:38:37 main: 10:38:37 { /$/; "\n" } 10:38:37 | { /./ + main } 10:38:37 | { /\n/ + main }. 10:38:43 feature or bug? I think it is inheriting Python's behaviour 10:39:51 Yes. [^\S\s] or (?s). would both match newlines 10:40:25 So, feature or bug? :P 10:40:43 I don't know. It just is. 10:41:38 Okay. :P 10:52:44 There's often an option to the regex eggine to make . match newlines too. For Java, the Pattern.DOTALL flag; for Perl, the "s" (single-line) modifier; for Python, the either the re.S or re.DOTALL flag. 10:53:02 But the defaultish behaviour is no-newlines-for-dot for all three. 11:16:53 -!- aschuele1 has quit (Quit: leaving). 11:17:15 -!- aschueler has joined. 11:22:40 -!- augur has quit (Remote host closed the connection). 11:22:48 -!- augur has joined. 11:32:18 fax: so 11:33:24 so what 11:33:42 fax: category theory 11:34:07 http://www.comlab.ox.ac.uk/ralf.hinze/SSGIP10/Notes.pdf 11:34:37 what's that? 11:36:09 catagary thary natas 11:36:13 wat 11:37:47 kukuh 11:38:04 fax: so your summing thing, what's 2^3^4^5^... 11:38:11 ?????? 11:38:25 I can't do that it's too hard 11:38:31 :( but i wanna know! 11:38:39 maybe it's the answer to all dependent category theory magic 11:38:43 encoded in base 10 11:39:00 I doubt it 11:39:23 ^ is weird 11:39:26 I don't trust it 11:39:31 it's total though 11:39:33 whatever you say 11:40:18 fax: I assume you distrust (n^^m := {n^n^...} m exponentiations) even less then 11:40:19 erm 11:40:20 even more then 11:40:30 yes 11:40:35 btw http://muaddibspace.blogspot.com/2009/10/cantors-diagonalization-proof-in-coq.html just to check you realise it is /much/ simpler to prove than this 11:40:46 you don't have to do diagonalisation so literally 11:40:51 no I don't know a simpler way 11:41:08 lemme prove it; it's on my other HD 11:41:11 I just wrote that very quickly because I wanted to have written it 11:42:25 HD ? is that gordi laughing? 11:42:36 orr the lazer guy from X-man 11:43:06 Hard Drive 11:43:07 :P 11:45:56 fax: here is the much shorter -- and more general -- proof: http://pastie.org/933892.txt?key=esshdwnk4lab3etv0lehta 11:48:14 wow 11:48:33 why is mine so long... 11:49:19 fax: because you translated cantor way too literally :P 11:49:51 the actual (\x. !magic x x) construction is due to oerjan; though it's "obvious" once you've seen it 11:50:38 that's the diagonal 11:50:42 negated 11:50:50 how do you think of it? 11:50:57 be oerjan? 11:51:09 I mean conceptually 11:51:10 but actually I think we can explain this proof without making reference to a single "diagonal" 11:51:32 In fact, it's very similar to Russell's Paradox. 11:51:35 that IS the diagonal 11:51:41 magic x x = x in x. 11:51:47 !(magic x x) = x is not in x. 11:51:58 Is (\x. !(magic x x)) a member of itself? 11:52:31 basically the issue is that surj lets us hide unrestricted comprehension like that in a perfectly innocent natural, where we can't "see" it 11:52:35 of course that's only one view of the proof 11:53:05 i wish there was a button to ignore everyones messages from everyone else when i go to sleep 11:53:09 so i didn't have to read logs 11:53:23 turn off your computer 11:54:13 fax: so... I really need to find a way to unify computer algebra systems and dependent type theory 11:54:28 alise you already know what it is 11:54:36 do I? 11:54:43 dependent type theory 11:55:22 dependent type theory doesn't really let you manipulate expressions structurally with free variables. 11:56:17 quote them 11:56:39 fax: define quote 11:57:38 tttttttttttttttt 11:59:16 . 11:59:47 fax: well? 12:00:18 -!- kar8nga has quit (Remote host closed the connection). 12:00:34 HOW 2 TURn YOUTUBE inTO MP3? 12:01:38 are you going to answer my question or... 12:01:45 I just realized 12:01:48 -1 = 1 mod 2 12:01:52 HEENCN 12:01:55 -1 * -1 = -1 12:01:57 !!!!!!! 12:03:28 fax: you could just give me a simple answer and i would understand you know 12:06:51 fax: or not. 12:07:29 bbl 12:18:57 awesome, thusly.org isn't registered 12:20:09 " turn off your computer" the problem isn't that i somehow can't not read the logs, i just don't want you people to have shared conversations i haven't read 12:25:56 oklopol: it's ok just stay awake forever 12:27:49 but i need my 13 hour beauty sleep 12:27:54 err try more like 15 12:28:16 it was 22:30 - 13:30 or something 12:28:30 or maybe something completely different, who knows 12:29:34 fax: so what do you mean by quoting 12:30:24 manipulate the expressions as data 12:30:42 encode them in a negative integer 12:34:50 helpful 12:35:13 -!- hiato has joined. 12:42:45 hi hiato 12:44:34 hi hi hiato 12:44:55 hi lim n->inf ( hi)^(n)ato 12:49:09 aww alise, you're so adorable :D 12:49:13 "# Emacs Lisp. Wow...so this is what forethought, design and programming-in-the-large look like" <- HAHAHAHAHAHA# 12:49:46 oh, hai alise 12:50:00 I didn't get a nick hitight there for some reason 12:50:14 wait hiato is the pascaller guy isn't he? oh the synchronicity 12:50:26 Is he? 12:51:29 I think he's trying to put his shadowy past behind him 12:51:50 heh 12:52:00 we - well, mostly I - were talking about minimalist pascal before 12:52:08 a la TeX; ftp://ftp.tex.ac.uk/tex-archive/systems/knuth/dist/tex/tex.web 12:52:10 oooh 12:53:19 heh - a la tex <-> a latex 12:53:20 the most advanced mathematical typesetter, and one of the most bug-free pieces of software, is written in a dialect of Pascal used by a circa-1982 compiler, and avoids the use of pointers, set types, enumerated scala types, and only uses var parameters for files. 12:53:21 *scalar 12:53:23 heh 12:53:28 It pretty much avoids /everything/. It has a "pointer" type, but it's just an index into a global static array. 12:53:39 hmmmm 12:54:10 That is actually pretty esoteric 12:54:25 at least compared to what pascal is today 12:54:46 * hiato investigates 12:55:33 brb 12:55:41 hiato: Note that the intermingled TeX is the documentation; per Knuth's WEB system. 12:55:44 in a sort of prolonged sense 12:55:54 Ignore everything that doesn't look like Pascal, except some lines which are automagically translated to Pascal from some other form. 12:56:01 Also, be prepared to crossreference. 12:56:04 noted 12:56:11 heh, and so it has begun 12:56:13 wait, brb to read tex source? :P or something else 12:56:33 -!- kar8nga has joined. 13:12:50 fax: ping 13:12:54 hi 13:14:35 alise: brb for food 13:14:41 now to read sour:e 13:14:50 s/:/c/ 13:15:36 alise: are there any docs for the "WEB" lang? 13:16:03 I think so 13:16:08 it's not just a one-use thing 13:16:27 hiato: basically half of it is TeX, half of it is Pascal, and epsilon of it is some sort of macro-thing that i'm not sure if it compiles to pascal or not 13:16:41 hiato: your best bet is likely to typeset the WEB source to get the documentation and source typeset as a TeX document. 13:17:10 however, I have been unable to find a WEB distribution for a modern computer; all I can find is its C-based relative CWEB. 13:17:16 hmmm, I guess 13:17:25 oh, I see 13:17:42 The first published literate programming environment was WEB, introduced by Donald Knuth in 1981 for his TeX typesetting system; it uses Pascal as its underlying programming language and TeX for typesetting of the documentation. The complete commented TeX source code was published in Knuth's TeX: The program, volume B of his 5-volume Computers and Typesetting. Knuth had privately used a literate programming system called DOC as early as 1979. He was inspir 13:17:42 ed by the ideas of Pierre-Arnoul de Marneffe[12]. The free CWEB, written by Knuth and Silvio Levy, is WEB adapted for C and C++, runs on most operating systems and can produce TeX and PDF documentation. 13:17:48 I am trying to find a WEB distribution now. 13:18:09 hiato: Failing all that, the hint is that stuff can include other sections; the macro things are obvious when you see them, and text and \ stuff is TeX; things that look like Pascal, are. 13:18:23 Hmmm, interesting that this pascal works sans assignments, or at least casting of 'types' in one 13:18:46 yeah, copy that 13:18:48 TeX nowadays is compiled by using web2c, which translates the WEB/Pascal source to C. 13:19:01 it uses assignments, just not casts in them yeah 13:20:05 hiato: An awful lot of the TeX source and its conventions are so that it runs giving strictly the same results no matter /what/ the input for all environments you can imagine. 13:20:11 So it's a bit idiosyncratic in its minimalism. 13:21:51 Yeah, I'm beginiing to see that, though, I'm more impressed with how archaic the implementation language is for what must be one of *the* most reliable and bug free systems 13:22:30 Yes! Of course nowadays the younguns use pdfTeX which I think has more C bits to it maybe? and even XeTeX which I have no idea what the hell it is. 13:22:47 Never heard of that last one 13:22:55 But if you run tex(1) with the intention of getting a .dvi out of it, you're running something compiled from C translated from 80s restricted Pascal. 13:23:14 hiato: It's basically a merger of TeX and Unicode + "modern font techologies" 13:23:18 So I don't know how the code is done. 13:24:44 and heh, younings? Getting a tad above yourself there :P But yeah, this is, well I must say strange. I know their intention was not performance, but surely there were better choices, even back in the 80's (?) 13:25:08 Their? This is almost entirely the work of the single demigod Knuth. :-) 13:25:26 Well, C wasn't really so portable or standardised then, I imagine. 13:25:36 Pascal was pretty much the only other language... 13:25:43 And his WEB system was already built to use Pascal. 13:25:46 added lol having just watched clash of the titans 13:25:53 Yeah, I guess 13:25:58 Besides, TeX isn't even very slow. 13:26:11 and tex in forth would've been too cool lo exist 13:26:13 *to 13:26:27 But, yes, not really 13:27:02 for the speed thing that is. Eh, my concentration is wavering. Must. Mono. Task. 13:27:47 Actually Knuth still writes his programs in WEB's son CWEB. 13:28:00 They're like nobody elses... 13:28:08 Reall,? Wait, is this knuth of up arrow fame? 13:28:25 Yes... and The Art of Computer Programming fame. 13:28:27 Or Graham number 13:28:30 And oh so many things. 13:28:32 hmmm 13:28:44 v. v. v. impressive in that case 13:29:00 Howso? 13:29:43 Oh, and also the KnuthMorrisPratt algorithm. 13:29:46 And the Knuth shuffle. 13:30:12 Oh, and the guy who popularised big-O notation for computer algorithms. 13:30:24 Safe to say... Knuth is a god. 13:31:24 KNUTZ 13:31:31 I always felt that the more you know about somethieg (In this case maths), the less you know about everything else. What was it? Academics are people who know more and more about less and less until they know nearly everything about nothing. or some such. But, I guess I never explored the comp sci side of him, in terms of practical and implemented stuff - as opposed th theory 13:32:02 At least the nothing that is mathematics is a very interesting and beautiful nothing. 13:32:04 hiato, except physics 13:32:18 people who know physics seem to know a lot and be quite sane and clever 13:32:39 Wait, dont get me wrong, I wranna be an academic, but that is still a roughly accurate vew in my opinion 13:32:48 I note that a lot more mathematicians believe in God than do scientists. 13:32:56 fax: heh, that's why I wanna go into astro phys 13:33:04 The natural numbers, they're God. Close as you'll get to a formal definition. 13:33:10 Physics and the like are much more concrete, finite, etc. 13:33:24 Hmmm, interesting view 13:33:28 don't equate finitism with atheism 13:33:45 fax: I'm making analogies and hypotheses. 13:33:47 I'm allowed. 13:34:01 Anyway, I'm pretty sure /any/ reasonable definition of God includes an inkling of the infinite. 13:34:10 So someone who is truly, /truly/ a finitist to the bone would be an atheist. 13:34:17 :| 13:34:24 didn't I just say... 13:34:24 And I'm an infinitist and strongly disbelieve in God. 13:34:26 So, yeah. 13:34:27 heh, but, I do agree that finitness+rigidity and friends and god and so on anre not mutually excl 13:34:37 fax: I don't avoid saying things just because you don't want me to... 13:34:46 alise yeah but URgh 13:34:52 hiato: what is god that is not infinite? 13:34:56 I was not telling you "don't say this" 13:35:06 fax: Well, give me a reason for not equating the two. 13:35:11 I only mean very strong finitism, you understand. 13:35:15 A philosophy transcending mathematics. 13:35:17 Alise, no less or more a god in my view 13:35:19 god = infinity is just idiocy 13:35:27 this is like saying 666 = the devil 13:35:29 I mean really 13:35:32 Not what I said. 13:35:33 it's just crazy 13:35:41 Never said that. 13:35:44 hey I am doing analogies now 13:36:10 Anyway, this is a waste of time since obviously God doesn't exist. 13:36:20 sigh. At the mention of the word god people start breaking. But, this is isnteresting. 13:36:27 alise: obvious? 13:36:31 alise how can you say that is obvious, it is not even true 13:36:41 fax: I knew that would provoke you! 13:36:44 hiato: Don't worry, I don't actually believe it's obvious. 13:36:46 God exists and I can prove it 13:36:46 fax: I'd be careful of making that a fact 13:36:54 But fax is so sure that God exists and uses "atheist" as an insult, it's funny. 13:36:55 watch a plant grow: You have witnessed it 13:37:07 Wow, nice one, Anselm of Canterbury. 13:37:08 alise: heh, no worries 13:37:15 That even tops the "I imagined it; it's awesome; so it exists" one. 13:37:32 fax: proof enough for ou perhaps 13:37:39 *you 13:37:48 are you just going to call me a famous italian monk or will you try and refute my argument? :) 13:37:59 hiato, you don't buy this? 13:38:02 and throfgh his sarcasm, alise is merely saying the same 13:38:11 fax: afriad not 13:38:18 hrmm 13:38:44 maybe you have an outdated definition of God that means some kind of conscious being which listens to people when they prey to win the lotterly 13:38:56 "Plants grow => God exists" simply does not follow in any sense. Maybe you meant "Plants grow; plants growing is wonderous; I perceive God as the generalised-'growing' nature of things; therefore God exists". 13:39:08 alise no not at al 13:39:10 Which is very, very close to pantheism -- a concept which is atheism, just with names changed. 13:39:56 nope. in fact, I take prayer as proof of man's interpretation of an ideal god and the want for such a being, but def not it's existence 13:40:07 alise: haha 13:40:15 hiato, I'm saying /that/ stuff is BS 13:41:11 Anyway, this is pointless. The only way to convince a reasoned atheist to become religious is programming; the only way to make an atheist out of a reasoned religious person is deprogramming. 13:41:30 Unreasoned religious people can of course be atheist-ised, and impressionable atheists who haven't thought about it much can be made religious too. 13:41:32 alise: other way around 13:41:34 fax: I do believe, however, that should there be god(s) there are some fundemental criteria for their/it's comprehendable existence, with rigid tests 13:41:42 fax: Yes, thank you for inserting your personal opinion. 13:41:47 I knew you would take the terms perjoratively. 13:41:51 alise I just did that because you did it :P 13:41:59 I can't think of better terms. So there. 13:42:03 But we're clearly both on the reasoned end. 13:42:11 hiato, it's easy to test my theory, just look at a sunrise 13:42:12 And we're not going to try and (de)program each other. 13:42:16 So let's just stop now. 13:42:26 And give up with your fucking "the universe is beautiful GOD EXISTS" non-sequiturs. Please. 13:42:46 alise: It's not about beauty 13:42:54 Remember when I said let's stop talking about this? 13:43:13 alise: in the name of a reasonable conversation I object. So long as this is not offeding anyone, the fact that there can be no changing of views shold not stop a coversation 13:43:34 But this is just degenerating into a flamewar, from an irrelevant tangent at that. 13:43:42 Let's keep the peace and talk about things we can have constructive discussions about. 13:43:45 I wouldn't call it a flamewar 13:43:55 You know my personality. It will be one soon :) 13:44:00 Heh 13:44:04 I didn't want to say that :P 13:44:27 But ok, I digress. Back to Pascal 13:45:27 Is there a cellphone IRC client? 13:45:39 For what cellphone? 13:45:40 as in Java nonsense 13:45:41 There are countless. 13:45:43 Yes. 13:45:51 Many. 13:45:53 Awesome 13:45:55 http://www.google.co.uk/search?q=java+mobile+irc+client&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-GB:unofficial&client=firefox-a 13:45:56 pick one 13:46:01 haha 13:46:04 :p 13:46:51 or, you know, 20 13:47:16 Hmm. 13:47:22 I wonder, I wonder, how to self-interpret Redivider. 13:47:28 It would help if it had... data structures; at all. 13:47:37 Well, it does, they just have to be strings. 13:47:38 Like Tcl! :P 13:48:05 is fax religious? 13:48:24 no 13:48:26 -!- oklopol has quit (Read error: Connection reset by peer). 13:48:34 I'm aatheist 13:48:44 -!- oklopol has joined. 13:48:53 (just kidding) 13:49:00 is fax religious? 13:49:00 * Disconnected 13:49:04 (just kidding) 13:49:11 he certainly is if he believes God exists. 13:49:11 whoooosh 13:49:14 14:35 < fax> hiato, you don't buy this? 13:49:15 quite simple. 13:49:20 14:35 < fax> hiato, you don't buy this? 13:49:24 12:48 < alise> 14:35 < fax> hiato, you don't buy this? 13:49:30 12:48 < alise> 14:35 < fax> hiato, you don't buy this? 13:49:32 ok stop guys 13:49:33 I'm a finitist 13:49:37 LOL 13:49:39 that's the biggest anything can possibly be 13:49:43 hah 13:49:50 was fun while it lasted 13:49:54 bring the fury alise 13:49:59 and he does? that's what i'm asking, with fax i never know what's serious and what's not 13:50:14 oklopol: he's got really offended at me for saying something about atheism before 13:50:19 so i'd assign a v. high probability he's serious 13:50:32 oklopol: I can prove god exists: You can see a plant grow 13:50:33 seconded 13:50:34 i don't care about probabilities 13:50:47 oklopol: there's your proof 13:51:01 why does nobody accept my proof ?? 13:51:03 fax: you accept that proof? 13:51:05 yes 13:51:07 fax: stop embarrassing yourself 13:51:09 it's obvious 13:51:09 okay, thanks 13:51:14 alise.... 13:51:14 oklopol do you 13:51:17 no 13:51:20 why not? 13:51:24 Opinions 13:51:28 everyone has one 13:51:32 you have a chance to be filed under "religioustype mathematician guy", not "half-mathematician, half-religiouscrackpot" 13:51:33 this isn't a matter of opinion 13:51:34 at least one 13:51:35 i don't believe in proving things out of a formal system 13:51:38 don't throw it away 13:52:00 oklopol, what about cogito ergo sum? You don't buy that 13:52:01 ? 13:52:02 in a formal system where plants growing implies gods i accept it 13:52:04 fax: no 13:52:07 i do not 13:52:08 wow 13:52:23 Cogito ergo sum is not even close to "plants grow therefore god exists". 13:52:33 alise: no one said it was 13:52:44 " i don't believe in proving things out of a formal system" 13:52:44 what about proving that some kind of innoculation works? by testing it and such 13:52:49 oklopol: but fax analogised. 13:52:52 fax: that's just science 13:52:53 alise, no it wasn't an analogy 13:53:12 as a scientific truth, you can ask whether god exists 13:53:19 oklopol, it's not a mathematical proof but it has the same effect no? 13:53:23 which means "is it useful to model the world as a world where a god exists" 13:53:29 the answer is obviously no in my opinion 13:53:46 fax: no, nothing to do with math 13:53:56 it's just information about the past 13:54:08 this innoculation has worked most of the time 13:54:20 oklopol, it's not induction 13:54:25 THIS GOD HAS COMFORTED ME MOST OF THE TIME 13:54:31 oklopol, people actually have an explanation about why it should work too 13:54:37 as well as testing to back it up 13:54:38 SO GUYS 13:54:39 PASCAL 13:54:43 HEY HIATO 13:54:45 HOW'S THAT TEX 13:55:05 fax: that's just models for the world again supported by the fact they've modeled the world wellb efore 13:55:08 *well before 13:55:11 looks like alise has starting flaming to make sure she doesn't learn anything 13:55:11 hiato: hiato: haito: 13:55:14 fax, out of interest, does it matter if god doesn't exist? I mean, as far as the end user is concerned, the effects would be the same 13:55:18 alise: Heh 13:55:19 i don't care if there's a reason in that model why something should work 13:55:20 fax: haha seriously shut up 13:55:28 just shut up, you're being a total idiot 13:55:28 i don't consider it a truth 13:55:33 first i made a joke, then i tried to change the topic 13:55:38 hiato: if god didn't exist everything would just instantly stop like pulling the plug out of a computer 13:55:42 yes, "you're being an idiot" is a flame 13:55:44 flaming and proud 13:55:47 because it's fact, you are 13:55:50 ...and I can prove it! 13:55:53 hiato: about the mattering, that's what i mean by scientific truth 13:55:53 ok, I have what I need 13:55:57 fax: Funny, no, it wouldn't. 13:56:00 See: physics. 13:56:00 whether it's useful to think there's a god 13:56:07 whether the world behaves as if there was a god 13:56:08 oklopol: not sure I understand 13:57:14 hiato: science does not talk about what's true and what's not, that's the science of opinions called philosophy's job, sciences talks about mathematical models for certain phenomena 13:57:23 and backs them up with experiments and shit 13:57:46 haha, poor chioce of wording for that last one 13:57:48 also pulling a plug out of the computer -- atheism is LAPTOP BATTERIES 13:57:49 but yeah 13:57:49 it all makes sense now 13:58:01 alise: why are you being a dick? 13:58:06 so you can ask the scientific question of "whether god exists" by making some sort of model in which there's an all-knowing god and explaining stuff with it 13:58:12 alise: you're like riot police 13:58:20 alise: all you do is escalate things and cause fights 13:58:31 Yeah, I'm basically Satan ...in a can. 13:58:38 alise: what? 13:59:03 alise: seriously you are coming off as very deluded and brainwashed 13:59:16 Tee hee. 13:59:26 :D 13:59:29 I sure am one brainwashed atheist, Mr. Plants Grow. 13:59:31 alise: it's like you have to cling on to atheism for dear life, because you are so terrified something might make fun of you for "beleiving in god" 13:59:37 No. 13:59:38 alise: plants do grow 13:59:44 I've considered my atheism many times. 13:59:48 alise: if you think otherwise you are mistaken 13:59:53 Yes, yes they do. 13:59:58 That doesn't mean God exists though. 14:00:01 yes it does 14:00:07 No. It doesn't. 14:00:12 oh good point 14:00:17 :D 14:00:21 I had not considered "No. It doesn't." before 14:00:22 fax: seriously you are coming off as very deluded and brainwashed. it's like you have to cling on to consciousness-does-not-existism for dear life 14:00:22 He's not crazy. It's the government man. But noone believes me. But you will, right? Haha! You do, but they wont! haha! they called me mad- but I showed them! 14:00:30 alise: typical... 14:00:31 because you are so terrified something might make fun of you for "believing in consciousness" 14:00:37 Hmmmmmmmmmmmmmmmmmmmmmmmmmm 14:00:42 I used to beleive in consciousness actually 14:00:49 I used to believe in God. 14:00:51 you don't believe in consciousness? 14:00:52 And it's spelled Believe. 14:00:55 alise did you really? 14:01:05 oklopol: no, he thinks consciousness means "metaphysical-soul-type". 14:01:14 fax: As much as I could coherently believe anything before developing proper rational thouht. 14:01:16 alise I was a very strong atheist until like 1 year ago 14:01:16 *thought 14:01:19 Which is not much at /all/. 14:01:28 Ohh, that would explain the incoherence and fanaticism. 14:01:36 Recently deconverted atheists are the most fanatical of all religious people. 14:01:40 Erm, re-converted. 14:01:41 alise like we used to have to sing hyms in class and I would just sit there not singing 14:01:50 Fight the powa 14:01:52 :D 14:01:57 that was in primary school tohugh 14:01:59 though* 14:02:01 oklopol: si back and enjoy the show 14:02:01 RAGE AGAINST THE HYMN MACHINE, FAX 14:02:12 hiato: have to smiley occasionally 14:02:21 oklopol: heh, ok 14:02:22 I'm not fanatical 14:02:34 yeah, sure 14:02:50 god exists because plants grow. can we get back to haskell now 14:02:58 alise: Well here is a problem: 14:03:04 OH NO A PROBLEM 14:03:07 (*) nobody beleives my proof 14:03:19 (*) nobody will LISTEN to my proof because _they've already decided it's wrong_ 14:03:25 what does that remind you of/ 14:03:26 ? 14:03:39 I looked at your proof, and tried to figure out how on earth it made sense at all, which led to an automatic analysis of it in my wetware. 14:03:41 hint: It reminds you of trying to convince religous people that god doesn't exist 14:03:48 It used logical systems, philosophical systems, etc. to try and find a match. 14:03:49 It couldn't. 14:03:53 It concluded that your proof is full of shit. 14:03:57 I happen to believe it's right. 14:04:02 -!- AquaLoqua has joined. 14:04:04 It's me, incidentally. 14:04:21 I don't try and convince religious people God doesn't exist because it doesn't work. 14:04:42 Woo, cellphone irc! 14:05:35 alise: Also if someone is going to judge me and ignore the content of what I say based on "oh but they've got different beleifs than me" then I don't give a fuck what they think 14:05:38 re: 12:51 < alise> you have a chance to be filed under "religioustype mathematician guy", not "half-mathematician, half-religiouscrackpot" 14:05:44 er, i mean god is, er, dating an athiest 14:05:58 I'm not interested in talking about this. 14:06:02 yes you are 14:06:09 you just realize that you've been pwnd :D 14:06:12 so you want to stop 14:06:14 You have no chance of convincing me your religious opinions are not crazy, so do not even bother as it is a waste of both of our time. 14:06:16 fax: hahahaha 14:06:28 ^ typical distraction technique 14:06:32 While you seem to have succeeded at taking your delusions to higher and higher levels I'm not even going to listen now 14:06:37 now you will pat yourself on the back so you can continue living your delusion 14:06:46 you are really fucking crazy. 14:06:47 fax: everyone is a winner here. Except oklopol 14:06:56 i'm not a winner? :( 14:07:04 hiato: now we are going to talk about pascal and nothing else. i am intensely interested in every footnote about Pascal. 14:07:05 every single one. 14:07:08 especially TeX. 14:07:19 but i like winning 14:07:23 alise: Ok then 14:07:24 oklopol: you can win 14:07:37 oklopol: not allowed. 1st commandment 14:07:54 :----------------[()] 14:08:08 *[)(] 14:08:14 hiato seems to be pulling out some kind of history book 14:08:16 Have you considered cosmetic surgery 14:08:43 oklopol that is 14:08:46 my face regex's all treatment 14:08:56 groan 14:09:01 i hate alise 14:09:06 me too 14:09:14 me three 14:09:20 atheists are such annoying idiots 14:09:22 plants four 14:09:22 Me four 14:09:33 yay, I have two votes 14:09:34 conclusion: AquaLoqua = plants 14:09:44 AquaLoqua = hiato; therefore hiato = plants 14:09:47 bahaha 14:09:58 I am a vegiterian for what it's worth 14:10:06 what the /hell/ is a vegiterian 14:10:14 Vej e teeriyan 14:10:21 and jewish, and gay, and black, and a midget 14:10:25 13:08 < oklopol> atheists are such annoying idiots 14:10:26 lol 14:10:37 so hate all you want on me 14:10:40 :) 14:10:54 hiato: what, /all/ of those things? 14:10:57 impressive 14:11:10 most hated women in the world, that's me 14:11:23 wait wait, i am /fairly/ sure you are male 14:11:30 according to quantum physics, nothing isn't nothing anymore.. it's really a boiling bubble brew of particles coming in and out of existence at such a small scale that you can't ese it 14:12:05 alise: yeah. and caucasian, and straight, and six 2 and and and 14:12:12 no, six 1 14:12:19 hiato: :D 14:12:30 alise talk to me :( 14:12:35 i belong in no minority i think 14:12:38 -!- AquaLoqua has quit (Quit: used jmIrc). 14:12:42 fax: not unless you talk about something else 14:12:53 alise quantum theory IS somehing else 14:12:59 something else else. 14:13:42 why are there no good CASs... grr 14:13:52 CAS 14:14:02 fdulu@chippy> wtf CAS ~ 14:14:03 empty space has this much energy: 10^120*energy of the universe 14:14:05 wtf, I don't know what CAS means! 14:14:16 10^120*energy of the universe = 0 14:14:35 hiato: Computer Algebra System 14:14:45 alise what's the smallest prime numbers above that ? 14:14:48 symbolic expression evaluator/etc such as Mathematica, Maxima, Axiom, etc. 14:14:49 that might the constant 14:14:54 fax: something 14:14:59 Aah, yes, then wlf would be the wrong place to ask 14:15:10 *wtf 14:15:11 anyone know of a mathematical-notation handwriting recogniser thing? 14:15:18 also, what about fuse? 14:15:26 ? 14:15:29 it's not that though 14:15:33 it's a CAS 14:15:46 IIRC 14:16:03 wait, no, no 14:16:33 Draw a picture of 3D curved space 14:16:47 Sage 14:16:51 clos enough 14:16:56 www.sagemath.org 14:17:13 any programme that has a livo cd is a win in my books 14:17:17 *e 14:17:34 sage is kind of limited. 14:17:35 like, really limited 14:17:39 oh I forgot Maple in my list 14:17:44 wouldn't actually know 14:17:48 Sage is really just an interface to other CASs and the python doesn't blend too well with it 14:17:54 plus, well, it just doesn't do as much as the commercial ones 14:18:02 Oh, well thanks for the heads up 14:18:26 then, there's only one thing left alise: be a pirrrrate 14:18:38 But even Mathematica is not really decent. 14:18:39 Do you beleive in graviational lensing? 14:18:44 It is also very slow on Linux. 14:18:48 ah well 14:18:48 I think it's a fairy story like global warming or linux 14:18:48 Perhaps Maple? I have not tried it. 14:19:05 * alise hopes that fax is joking for /once 14:19:09 s/$/\// 14:19:48 Perhaps. TBH, if Mathematica is anything like what I've heard, then I'm not sure that the software you're looking for has been invented yet 14:21:40 I don't believe it has been; no reason though: it should be. 14:22:20 @ I must remember to say |break| at the end of the program for each case. 14:22:20 --Knuth 14:24:01 Grr! I hate Linux font rendering. 14:24:15 alise part of the conspiracy I guess... 14:24:54 hey alise if the universe was flat it would have total energy 0 14:24:58 -!- Asztal has joined. 14:24:59 but it's not flat, so god exsts 14:25:16 you're just trolling me now 14:26:15 non-euclidean 14:27:32 NON-EUCLIDEAN GOD 14:27:36 *GOD 14:27:49 Gregor: please set topic: "hey alise if the universe was flat it would have total energy 0, but it's not flat, so god exsts" 14:28:13 anyone can set topic 14:28:25 Oh? 14:28:27 yes 14:28:30 finally, at least hiato understands my proof 14:28:33 just keep the logs url 14:29:14 heh 14:30:35 Aah: "When +t is set, only channel operators may modify the topic of the channel. This mode is recommended in larger, more public channels to protect the integrity of the topic." 14:31:12 +t is not set. 14:31:13 is it? 14:31:17 no 14:31:18 nope. 14:31:21 so set the topic yourself. /topic. 14:31:26 yeah set it 14:31:36 no, it's not, but I was just curious as to the mechanism 14:31:40 yeah just curious 14:31:44 yeah 14:31:45 oh shit 14:31:46 sorry 14:31:49 fuck... 14:31:49 No the universe IS flat 14:31:53 yep 14:32:04 it's flat like ur mommas chest 14:32:12 I retract my earlier statement 14:32:13 oklopol is just rour 'cause he lost and everyone else won 14:32:17 fax: so there is 0 energy 14:32:19 wait 14:32:19 so god does not exist 14:32:20 hmmmm 14:32:21 yeah i lost 14:32:23 *sour 14:32:30 indeed he does not 14:33:36 the universe is accelerating 14:33:40 hiato: so I'm interested in defining, inspired by TeX, a sort of ultra-subset of Pascal -- maybe not /quite/ as small as PL/0 -- say, uber-Pascal. 14:33:44 you are now officially quality control. 14:33:46 yep getting faster and faster 14:34:04 70% of the energy of the universe resides in empty space 14:34:13 alise: I am so very game 14:34:23 for that 14:34:29 he's totally game 14:34:44 at LEAST 70% 14:34:51 -!- hiato has changed nick to oklopol_. 14:34:54 for that 14:34:55 hiato: are you still game if I told you I was thinking of dropping pointers? 14:35:00 -!- oklopol_ has changed nick to hiato. 14:35:04 yeah or would that just make you mad? 14:36:06 alise: Well, in principle, I dont really have a problem, but is there any reason in specific? I mean, is this just in the name of reducing the language? 14:36:20 Also, it will vake things more painful 14:36:21 yeah do you just wanna reduce it or what? 14:36:25 *make 14:36:27 yeah god that'll hurt 14:36:27 hiato: pretty much: pointers in pascal are already restricted quite a lot, and I would imagine that buffers would work fine in most of the cases 14:36:29 oklopork do you like cosmology 14:36:33 i luv it 14:36:38 :/ 14:36:39 what's cosmology 14:36:43 hiato: theory is "good enough for knuth, ..." 14:36:45 is it the science of stars 14:36:50 plus, I really hate malloc/free. 14:36:59 so not having them at all will be a relief; I won't feel obligated to use them! 14:37:24 alise: heh, but ok. I too share a distrust with thos methods whose names we do noht mention, so ok then 14:37:50 I don't distrust them, I just find them so incalculably tedious that I find myself doing crazy things just to avoid them. 14:38:13 hiato: Packed arrays can obviously go. 14:38:14 antropic principle is religous? 14:38:29 what's that 14:38:29 Naah, I _distrust_ them. Wouldn't give them house address in case we accidentally get overrun with junk 14:38:39 hiato: What about files? Is there any problem with removing the program statement and adding "file" as a new type instead of weird x^ variables? 14:38:54 heh, but... but... but 14:39:08 Well, let's try fermalise this 14:39:12 *form 14:39:14 see 14:39:30 -!- kar8nga has quit (Remote host closed the connection). 14:40:06 As shown in the example above, Pascal files are sequences of components. Every file has a buffer variable which is denoted by f^. The procedures get (for reading) and put (for writing) move the buffer variable to the next element. Read is introduced such that read(f, x) is the same as x:=f^; get(f);. Write is introduced such that write(f, x) is the same as f^ := x; put(f); The type text is predefined as file of char. While the buffer variable could be used 14:40:07 for inspecting the next character to be used (check for a digit before reading an integer), this concept leads to serious problems with interactive programs in early implementations, but was solved later with the "lazy I/O" concept. 14:40:13 I don't see how this shouldn't be solved with simply functions 14:40:44 Depending on what you hate+ what I hate, I think we can find a better way to construct most of the existng types. As for I/O, we can come up with some clever def's and types based around buffers 14:41:07 ah, it seems we agree then 14:41:11 Yes. Er, just out of curiosity, how attached are you to records? 14:41:16 (I know, I'm crazy! I just need to consider /everything/.) 14:42:00 I'll take that as "very". 14:42:15 Obviously n..m types are useful. 14:42:21 Not at all. In fact, in my final exam for school i lost all the varks for using funky types and meesed up arrays instead of them. It's really not necessanry in a minmalist group 14:42:29 What about enumeration -- (a,b,c) types? 14:42:29 records 14:42:31 that is 14:42:52 Those are "nice" I guess but really... that's just a bunch of constants and an n..m type. 14:42:56 No rason to be part of the language. 14:42:58 Can you find a time where they are absolutely necessary? 14:43:04 Yep 14:43:04 Theoretically they are never. 14:43:07 I think I like records though. 14:43:21 Sets -- Perhaps they may be faster, but I'm not sure I lik ethem. 14:43:30 Well, if you like them then we get to keep localised functions 14:43:37 *like them 14:43:41 unlike knuth 14:43:41 hiato: Not even C has them, does it? 14:43:48 Not sure 14:44:00 What is a localised function, exactly? 14:44:18 You know, the whole not using C bit gets in the way every now and then :P 14:44:33 Scoped 14:44:42 Right. 14:44:53 What has that got to do with sets? 14:44:56 Or am I parsing you wrongly? 14:45:21 Now. writeln. I don't like writeln because it's a variadic, polymorphic function that does different things depending on the types of each of its arguments. 14:45:23 nothing at all, I was merely saying that if we compromise on records, we compromise on that too :) 14:45:26 In Pascal, this is absolutely impossible. 14:45:29 So writeln is absurd. 14:45:47 Wait, not necessarily 14:45:49 However I don't think variadic functions are even very standard at all in Pascal. 14:45:55 hiato: Oh? 14:46:09 Are we going to have overloaded functin defs? 14:46:25 a la Delphi/FPC 14:46:27 hiato: You mean f(x) and f(x,y) and also for different types? 14:46:39 yep 14:46:44 The only language I know of that does that is C++, I think. 14:46:51 CLOS does but that doesn't really count. 14:46:51 specifically for types 14:47:29 My vote is yes for them, because it's such an overlooked feature nowadays 14:47:54 what wit auto casting and implicit types 14:51:17 -!- alise has quit (Ping timeout: 258 seconds). 14:51:28 -!- alise has joined. 14:51:49 Well, I think that a lot of overloading is misused. 14:51:49 For instance a function working on integers and the analogous function on the reals are often very different. 14:51:50 Such as division vs integer division. 14:51:50 Plus it complicates the compiler a lot. 14:51:50 What did I miss? 14:52:17 Well, I missed that all, un moment por favor 14:52:45 Hmmm, ok, I guess that is a valid point 14:53:20 and through some quick resarch, I found that pascal has/had anoter mechanism to make writeln possible 14:53:25 http://stackoverflow.com/questions/617654/how-does-writeln-really-work 14:53:42 now, the ancient problem of having to say 14:53:42 procedure MyProc(args : array of const); 14:53:45 string = array [1..n] of char 14:54:08 and pick n 14:54:11 what should we do about that? 14:54:23 Wait, what's the problem there? 14:54:32 of, n as in var n? 14:54:35 *oh 14:54:47 hiato: that array of const thing is just for delphi&co 14:54:48 also 14:54:51 it's that you have to pick n 14:54:52 for all strings 14:55:06 FPC i take as nearly standard 14:55:41 FPC? Remember that I'm not a Pascalite. :) 14:55:51 FreePascal, I see. 14:55:56 Ah, my bad: Free Pascal Compiler 14:56:34 So what have we agreed on. "program" sucks, separate file buffer things suck. 14:57:17 aah, ok, as for string, the way I figure is to just use a shortStr = array [0..255] of char 14:57:27 and build from there 14:58:00 But this has numerous disadvantages, over a hypothetical structure containing the length of the string, followed by a dynamically allocated block. 14:58:09 Say, can't files represent such a thing? 14:58:15 Who says they have to be bound to actual files...? 14:58:24 yes, also, we will keep recordss, loclaised functions, no overloading, and buffer base IO 14:58:35 yeah 14:58:42 I like that idea actually 14:58:48 I didn't agree to localised functions! :-) 14:58:52 Not yet. 14:58:55 Damn 14:59:02 Hmm, files don't support random access, though, do they? 14:59:07 nope 14:59:12 sequential 14:59:35 That's an issue for strings, then. 14:59:40 But how come files get to be infinite? 14:59:45 which is not technically a problem, but just adds a lot of overhead 15:00:30 They dont, reall,. In fact, IIRC, the FP for a file is restricted to cardinal 15:00:35 Not sure if you've realised this, but we're basically honing in on defining a slight subset of Oberon-2 http://www.statlab.uni-heidelberg.de/projects/oberon/kurs/www/Oberon2.Report.html :-P 15:00:42 which is unsigned int32 in C I guess 15:00:57 Never heard of it, but damn 15:01:16 Oberon-2 is Wirth's latest language in the Pascal series. 15:02:40 this I dont like: Function = PROCEDURE(x: INTEGER): INTEGER 15:03:03 it looks like Function is a type then 15:03:11 which makes no sense 15:03:45 Yes it does. 15:03:48 and the fact that PROCEDURE can return is a tad of putting for me 15:03:53 Function is the type of procedures taking an integer and returning an integer. 15:03:55 *off- 15:04:22 but that's meaningless, surel,? 15:04:25 *y 15:05:38 unless we do first class functions and need a type for them, but then it would really be nice to have pointers 15:06:19 I imagine Oberon has function pointers. 15:06:52 wow apparently evolution is better than general relavity? 15:07:29 yugh, and oberon has a ridiculous expansion for n-dimensional arrays 15:07:47 how's it ridiculous 15:09:35 ARRAY L0, L1, ..., Ln OF T ==> ARRAY L0 OF ARRAY L1 etc in Oberon. In the spirit of all that is Pascal, that should just be invalid. 15:09:36 hiato: anyway 15:09:43 ...why? 15:10:15 alise: ... because that's just the way it is :) 15:10:23 Okay. 15:10:30 Anyway, opinion: the REAL type is named incorrectly. 15:10:40 but, yes, anyway? 15:10:53 It can not even represent all rationals; it cannot represent a single irrational. 15:10:58 RATIONAL_APPROX is what it is. 15:11:27 what about karma 15:11:28 alise 15:11:35 fax: in what sense 15:11:38 do you beleive in chamelions? 15:11:44 what 15:11:44 lol. 15:11:52 now that's in my head 15:12:37 Well, in all fairness, real reals have always been the job of external libs in any Pascal deriv 15:12:47 I doubt any of them were /real/ reals. 15:12:53 Can they represent sqrt(2) precisely? pi; all of it? 15:13:15 If they did, then they are "computable reals", not found much outside of abstract mathematics. They have several disadvantages, such as that equality always diverges if given two equal reals. 15:13:18 yes, ofc not _actual_ reals 15:13:32 gmp-esque 15:13:37 Right. 15:13:40 That's still rationals. :P 15:14:04 Incidentally, goal: the uber-Pascal's self compiler should be <10,000 lines. Including parser, everything. 15:14:05 but if that is your gripe with the real type, then it's merely a matter of syntax 15:14:15 In what lang? 15:14:20 self-compiler. 15:14:22 uber-Pascal. 15:14:23 aaaah 15:14:25 heh 15:14:27 tralalalalaal 15:14:30 what 15:14:56 I sand into the keyboard 15:15:01 *sang 15:15:11 -!- hiato has quit (Quit: underflow). 15:15:14 o_O 15:15:44 -!- hiato has joined. 15:16:13 hiato: I wonder what the self-compiler should output. 15:16:22 Perhaps very simple bytecode in the style of Pascal compilers of old. 15:16:26 alise: I died a ping death, what'd I miss? 15:16:32 Just "o_O". 15:16:36 Then a simple machine-specific compiler would compile this to, say, assembly. 15:16:54 Anyone know a good free text usenet server? Don't think my ISP provides. 15:19:47 alise: heh, yeah, some 'junk' and a few bytes of import, then let's go fancy and huffman code the pascal, with delimeters for vars/const etc 15:20:14 alise how much quantum physics do you know 15:20:17 hiato: Oh, I was thinking way more than that: actually compiled to a pseudo-asm type dealie. 15:20:18 damn my terrible coneection 15:20:18 fax: Not much. 15:20:24 anyway, it was a nice idea in my head 15:20:29 alise we can learn it together 15:20:35 hiato: :P 15:20:43 fax: will you keep trying to find ways to relate things to dog, I mean god 15:22:29 alise, quantum physics has NOTHING to do with god 15:22:33 -!- hiato has quit (Quit: underflow). 15:22:37 fax: Thank god! Er... 15:24:12 -!- hiato has joined. 15:24:46 Ok, let's hope this works, I have now tunneled with SSH just to get a better ping 15:43:04 when i wanna learn quantum physics i'll just take a course at uni 15:43:51 -!- hiato has quit (Quit: IPL finals). 15:45:04 what's ipl 15:56:17 -!- kar8nga has joined. 16:39:57 -!- Mathnerd314 has joined. 16:44:57 alise: Took a while to knit out all the bugs... http://pastebin.com/71FdS5ge <-- updated version of the previous program, now supporting negative numbers and subtraction. 16:45:26 MizardX: It's tricky business, isn't it. 16:45:58 MizardX: Do you think it would be fruitful to extend this to base 256? 16:46:02 Or thereabouts. 16:48:33 I have one for decimal numbers. It can calculate expressions with +, -, (, ) 16:50:08 Ah, wait... It isn't finished 16:50:16 well, your binary functions trivially generalise 16:50:21 since the carry operation is all that matters 16:50:29 it's just for efficiency in programs, since unary is really slow and binary is not much better 16:50:40 could we calculate small factorials with base 255? (need ~ for negative) 16:54:54 Space optimization for sub(m,n): add(m,succ[invert[n]]). 16:55:13 -!- hiato has joined. 16:58:11 To do factorials, we need multiplication. To implement base-256 we need a case for every digit-digit-combination; some 65000 rows for each operation at least. 16:59:44 Presumably it would be computer-generated. 16:59:54 BTW, am I right in thinking there is no real obstacle to compiling Redivider? 16:59:54 computer programming 17:00:06 Code and data are firmly separated, and there's no dynamicness... 17:00:33 The regex implementation could be an obsticle, but not impossible. 17:01:01 You could use Google/Russ Cox's re2, since the spec doesn't require backreferences or anything. 17:01:06 That would be superfast. 17:01:11 MizardX: Would your parser be adaptable to this task? 17:02:00 -!- Tritonio_GR has quit (Ping timeout: 258 seconds). 17:03:25 MizardX: I'm thinking that a hard fail -- being an unrecoverable operation that terminates the entire program -- is just a printf-exit type dealie. 17:03:38 A soft fail is just, say, returning NULL so the whole program is effectively a chain of ||s. 17:08:08 Redivider is highly recursive, so a simple translation into C would have stack troubles. 17:08:45 The python implementation handles the stack itself. 17:08:58 True. 17:09:07 alise: ong of p 17:09:14 uorygl: Woot! The creator is here. 17:09:29 uorygl: I think that in Redivide, p[q] should soft fail, not hard fail, if p soft fails. 17:09:34 This would allow a lot nicer branching and stuff. 17:09:56 Too bad I don't remember anything about Redivider. 17:10:06 Look up the spec; http://esolangs.org/wiki/Redivider 17:10:08 * uorygl begins trawling. 17:10:14 I have a tiny bit of JavaScript that translates Redivider to JavaScript code, but it's probably very incomplete, and I don't remember the implementation strategy at all. 17:10:24 uorygl: Also, I think that in {a;b;c}, b and c soft failing should cause the whole thin to soft fail, not hard fail; yes, this means that backtracking becomes large, but PEG parsers do that too, and they have no problem (e.g. Parsec) 17:10:30 And it would make the language nicer for branching and stuff. 17:10:57 I think the very point of hard fail is to prevent backtracking from becoming large. 17:11:55 * uorygl looks at the spec and hopes it's not anything too embarrassing. 17:15:35 Backtracking becoming large is not really too much of a problem. 17:15:39 Parsec and the like do it. 17:16:05 uorygl: It's not embarrassing, it's one of the prettiest esolangs! 17:16:25 Well, I meant the spec itself. 17:16:30 I know the language is awesome. :P 17:16:44 The spec is pretty poor, but eh. 17:17:08 -!- jcp has joined. 17:19:39 uorygl: If Redivider had data structures a self-interp would be quite easy. 17:19:43 Apart from regexps. 17:20:08 Strings aren't good enough for you, I see. :) 17:21:57 uorygl: Not for representing all that :) 17:22:54 uorygl: I'm impressed how clean and readable Redivider code is, when all it really is is regexps and branching. 17:23:11 Although I think functions are a wart; having separate () and [] seems to me a wart that could be fixed. 17:23:25 Yeah, I agree that that part's kind of ugly. 17:23:51 Especially since deciding between f(x,y) and f(x)[y] is often hard; the latter is ugly in appearance but the former is ugly to use. 17:23:58 f[x,y], if that could be made to work somehow, would be ideal. 17:24:01 The solution is simple: remove (). :P 17:24:42 Well, sure, say that f[a,b,c,...,x] is syntactic sugar for f(a,b,c,...)[x]. 17:24:52 But the semantics are different. That only helps the syntax. 17:25:37 You could say that f(a,b,c,...,x) is syntactic sugar for the same if f has one less argument than was actually given. 17:25:54 * uorygl shrugs. 17:27:38 Anyway, for backtracking, you could extend the language. Say that `this` means the same thing as this, except when this hard fails, in which case `this` soft fails instead. 17:28:04 So you have backtracking, but only when the programmer thinks it's a good idea. 17:28:42 That's just a kludge. 17:28:43 Make everything backtrack. 17:28:45 Problem solved. 17:29:56 I suppose since it's an esoteric language, you could say that any of the three solutions will work. :P 17:30:39 prolog uses "!" to cut off back-tracking inside a predicate. 17:30:39 I guess taking a really long time is usually preferable to halting with an error, isn't it. 17:31:56 Smite, and smitten; that thing is then smote. 17:34:47 Here's my non-esoteric programming language design slogan: put the programmer in a maximum-sexurity prison and give them all the keys. 17:35:21 What else would be inside the prison? 17:36:45 The standard library and computing tools. 17:37:20 -!- FireFly has joined. 17:37:30 pick up adder. use adder on bill and bob. 17:37:39 throw adder at various non-adder objects. 17:37:50 remark that snakes have learned incredible arithmetical abilities since last seen. 18:16:28 fax: hi 18:19:49 hello 18:22:23 fax: wanna specify what you meant by quoting for dependently typed / cas :/ 18:22:58 it's obviou 18:22:59 it's obvious 18:23:10 it's not. 18:23:18 so tell me 18:29:27 -!- lament has joined. 18:34:34 -!- Sgeo_ has joined. 18:34:56 -!- Tritonio_GR has joined. 18:35:46 reals are [...] hard 18:37:08 -!- Sgeo has quit (Ping timeout: 240 seconds). 18:38:56 * Sgeo_ listens to someone chattering away in German :/ 18:40:04 -!- tombom_ has joined. 18:40:55 -!- cheater3 has joined. 18:40:55 -!- cheater2 has quit (Read error: Connection reset by peer). 18:43:31 -!- tombom has quit (Ping timeout: 252 seconds). 18:44:25 -!- coppro has joined. 18:47:35 got duct tape? :p 18:48:27 -!- MizardX has quit (Ping timeout: 260 seconds). 18:48:30 Quick question: if a language were to apply a move-to-front transform on its instructions, would it be possible for it to be TC? 18:54:38 who knows 18:54:56 hmm any real-ish lib i write can't be self-contained, has to be integrated with the cas 18:55:04 because consider e.g. pi*SomeRandomF[pi/e] 18:57:25 Take Brainfuck. Add a move-to-front transform. Does this remove its TCness? If not, the answer to your question is yes. 19:00:07 uorygl, but it might remove BF's TCness, but another language specially equipped to deal with it might still be TC 19:00:16 uorygl: heh, thanks, but I suspect it does 19:01:25 hiato: examine BCT. 19:01:26 and, in fact, I can prove trivially that you can write a loop in BF-MTF that does do the same thig everytime, but as for hindering a a tag proof, ay, I'm not sure 19:01:28 I guess your question seems too vague to have a meaningful answer. 19:01:29 http://www.esolangs.org/wiki/BCT 19:01:33 it does a lot of bit jiggling too 19:01:41 *does not 19:02:18 alise: Will do 19:03:23 you know what would be fun? 19:03:30 uorygl: Ok, I understand. Perhaps the question should've been, does applying MTF to a procedural language necessarily hinder it's ability to loop with predictable effects? 19:03:37 a program that outputs semantic-descriptions of esolangs 19:03:51 like, say, of a certain form; with say paramaterisable "arg count" / "complexity" or something 19:04:12 hiato: I see MTF as something you apply to strings, not languages. 19:04:13 * Sgeo_ holds his breath and opens VStudio for the first time in a bit of a while 19:05:10 MTF is something you do to genders! 19:05:31 uorygl: it's an encoding scheme, ad as such can be used to encode the meanings of any tokens, say, in a programming language 19:06:01 -!- alise has left (?). 19:06:03 -!- alise has joined. 19:06:44 Well, can't you simply say that the first step in parsing the language is to un-MTF it? 19:07:26 -!- Rugxulo has joined. 19:07:40 moo 19:07:52 * alise wonders about such things. 19:07:56 uorygl: sigh, ok. Again: does applying MTF to a procedural language necessarily hinder it's ability to loop with predictable effects? 19:07:59 ehh 19:08:00 sorry 19:08:06 didnt't change that one 19:09:12 does applying MTF, so as to encode instructions, to a procedural lang on a per token basis necessarily hinder it's ability to loop with predictable effects? 19:09:13 * uorygl attempts to type a g-with-caret and fails. 19:09:54 g with circumflex? 19:10:04 Right, sorry. 19:10:13 any reason? ;-) 19:10:25 hiato: do you mean if each instruction is actually a number n referring to the nth most recently executed instruction? 19:21:12 \6lkgh 19:21:17 <-- Ru?ulo 19:21:38 Rugxulo: You fail at Unicode. 19:21:42 hmmm, it looked right when I cut and pasted it ... oh well 19:21:56 it'd be easier within ERC / Emacs, but Opera ain't as comfortable for me 19:22:38 Nowadays, a word. 19:26:56 * Sgeo_ writes a short C++ program on his Nexus One 19:28:27 * Sgeo_ should do all his C++ homework on it 19:28:32 (j/k obviously) 19:30:29 Rugxulo: Did you happen to see what my static compiler made (because of a bug of it) out of your benchmark.bef? 19:30:52 not sure, maybe ... 19:31:12 Rugxulo: It basically turned it into what would be in C "foo: goto foo;". 19:31:16 did you hear that I wrote an B93 interpreter in Rexx? 19:31:32 so you can add it to your collection (and I'm still waiting for links to your Fortran and Forth ones) ;-) 19:31:44 infinite loop, yes, that sounds like what I saw in the logs 19:31:56 Rugxulo: I didn't have the "pop 0 from empty stack" logic in place yet, so the starting value for the "-= 100" loop was "undef", and therefore it removed the whole computation. 19:32:04 Ah, you logread thoroughly. 19:32:21 sometimes, not necessarily all the math stuff alise is fond of ;-) 19:32:26 Didn't notice the Rexx one; I did notice I had been highlighted re mooz's Algol-60 stuff. 19:32:29 augur? 19:32:39 Oh come on, nothing I do counts as real mathematics. 19:34:07 in fairness, my benchmark is pretty lame ... I'm sure there are better things to test than subtraction (mul or div, perhaps) 19:35:00 http://pastebin.com/WUY8YyjL -- there's that Forth one, though it's horribly lame; I'm ashamed of it. I seem to have done it seven years ago; I could do better now! (I hope.) 19:36:31 why be ashamed? as long as it works ... ! 19:36:37 http://pastebin.com/h2eYkH2q -- Fortran; also quite bad, I presume. 19:36:42 I don't even know if these work right. 19:36:48 Away to make some dinnur now. 19:37:37 The big GOTO instruction in the Fortran one is funny, I think. 19:37:47 here's the Rexx one: http://www.pastebin.org/177657 19:38:43 * alise wonders what the Christus Rex line is there for 19:38:56 oh Rexx 19:38:56 har har 19:40:30 Dance! Everybody-- dance! O; 19:40:31 I wonder which Fortran variety this is (77?) 19:40:37 dance! Everybody-- dance! 19:40:57 BTW, fizzie ... thanks!! :-) 19:41:22 77, I believe. 19:41:33 why isnt augur 19:41:41 what Forth is this for (or is it ANSI)? 19:41:51 fax: he's busy doing things, presumably 19:41:53 Rugxulo: *ANS 19:41:57 :( 19:42:20 Rugxulo: American National Standard Forth != ANSI 19:42:27 it's an ISO standard though, roughly 19:42:36 er, okay 19:42:39 Rugxulo: I think I've tested it with gforth, but I used the ANS Forth standard doc as a reference, so it might even be a bit portable. 19:42:47 ANS, ANSI, ISO, tomato, tomahtoe ... blah 19:42:57 ANSI is an organisation, ANS is just a name of a forth standard 19:42:58 HAHA, gandi.net added "no bullshit" to their header line 19:43:02 going all out I guess 19:45:23 bah, whatever crumbs of Forth I knew, I've forgotten 19:46:59 Hmmn, I seem to have done the same ANSI mistake there; 19:47:04 \ ANSI standard word READ-LINE defined here since pforth doesn't have it 19:47:16 Also it mentions a "pforth", apparently it was that instead of gforth. 19:47:47 I've been dabbling with gforth lately; wrote some socket bindings (the existing were silly), and a JSON parser in it. 19:49:27 linuxy guys: what would you put on a server that you don't want any crap on at all, so that it's administratable without dealing with a bunch of debian-style administration cruft? 19:49:32 i'm thinking arch, maybe 19:49:34 pforth? doesn't ring a bell, but then again there are a billion ! 19:49:54 alise: Slack? 19:50:08 pikhq: I'd go Slackwise, but I kinda like... packages... 19:50:22 Slackware has packages. Just no... Dependencies... 19:50:23 Slack's what I was going to say too; at least it doesn't get in your way at all. 19:50:36 Slackware or Slax?? 19:50:36 pikhq: That's not really... a package... :P 19:50:40 I think pForth's reasonably well-known; http://www.softsynth.com/pforth/ 19:50:46 Sure it is. 19:50:55 slax is nothing to do with servers afaik 19:50:55 Just no package management. :) 19:51:00 okay, I do recognize the webpage 19:51:00 pikhq: well, i'd like package management ;P 19:51:03 *:P 19:51:05 slackware is close mind 19:51:07 the problem is 19:51:15 even slackware and arch have to be configured to get rid of their usual crap 19:51:15 but you know ... everybody has their own Forth, it seems 19:51:23 Fine, fine. LFS? 19:51:31 at least Slackware has 64-bit version now 19:51:50 -!- oerjan has joined. 19:51:51 all i want is some standard non-sucking shit like qmail and the like, no /etc/init.d rubbish, no really pointless programs installed 19:51:59 that's pretty much it 19:52:07 Uh, Slackware. 19:52:14 ... plus package management. 19:52:17 Closest you're going to get this side of BSD. 19:52:18 Besides, doesn't Slackware even use HAL now? 19:52:18 but but - pointless programming is all the rage! 19:52:23 Oh. BSD. 19:52:28 "copyright 3DO", heh 19:52:28 I Forgot About That. 19:52:39 NetBSD, perhaps. 19:52:41 But I don't like ports... 19:52:43 Of course, you could just build Alisix. 19:53:03 You're right BSD would be nice, but I dislike ports. 19:53:07 FreeBSD seems popular on servers 19:53:21 Alisix would be nice but eh. 19:53:27 Save my efforts for the long-term things. 19:53:32 A Linux distro is not worth the effort. 19:53:52 Pity stali hasn't a release. 19:54:04 Would be nice for the occasional really simple system build. 19:54:14 I think sta.li may be a bit further than I'd want for a server: it has /no packages/, all systems have exactly the same set... 19:54:19 and there is no choice, only one of each type of app 19:54:27 and i've have to manually compile all the other stuff 19:54:49 You could just run Buildroot. 19:55:04 Which is uclibc+Busybox's distro builder thing. 19:55:10 I admit you have got me tempted by the BSDs... is there an alternative to ports? 19:55:19 Portage. 19:55:26 But that's- 19:55:46 (-Gentoo?) 19:55:48 Gentoo/FreeBSD is FreeBSD using Portage instead off Ports. 19:55:58 I'll pass. I think. 19:56:03 Binaries are sort of nice. I think. 19:56:10 (yes, it is a completely normal FreeBSD system) 19:56:34 I think it uses the Gentoo init script setup, and portage... And that's the sum total of differences. 19:56:35 hmm... is the author of defcalc around anywhere? 19:56:44 Mathnerd314: the wiki 19:57:00 pikhq: the thing that gets me is that nobody does server editions any more 19:57:03 Oh yeah. Ships with bash by default, because many parts of Portage assume bash. 19:57:03 aliseBinaries are sort of nice. I think. 19:57:06 like, you get all this pointless desktop crap. 19:57:07 pkgsrc? 19:57:15 that you just don't need 19:57:16 pkg_add? 19:57:18 HAL -- completely useless on a server 19:57:21 etc 19:57:33 alise: Gentoo actually still has "server editions". 19:57:45 pkgsrc -- is that widely used? 19:58:02 pikhq: Mm... but I just can't bring myself to buy into the USE flags, 24-hour-install culture. 19:58:04 -!- hiato has quit (Quit: Weather). 19:58:11 That's what NetBSD *uses*. 19:58:20 Not if you use binary packages. 19:58:25 And NetBSD comes as binaries, not source. 19:58:29 pkgsrc, that is. 19:58:32 alise: is he actually on the wiki? 19:58:41 pkgsrc is NetBSD's ports-alike. 19:58:42 Mathnerd314: yes; after all, he wrote the article. 19:58:45 -!- kar8nga has quit (Remote host closed the connection). 19:58:52 Which happens to work on a large number of Unixes. 19:58:58 hmm 19:59:19 the actual (\x. !magic x x) construction is due to oerjan; though it's "obvious" once you've seen it 19:59:25 -!- iamcal has quit (Ping timeout: 252 seconds). 19:59:32 And yes, it has binaries. 19:59:49 it's just the fixpoint theorem of lambda calculus, really. as is every other diagonalization, ever. well, more or less. 19:59:53 Oooh. And you can use it on Slackware. 20:00:35 so once you've seen a handful of them, it's obvious. 20:00:48 http://kuparinen.org/martti/comp/slackware/slackware.html 20:00:55 fax: ^ 20:01:00 I do believe that actually produces Linux/NetBSD. 20:01:05 Erm. 20:01:05 NetBSD/Linux. 20:02:00 pointless 20:02:06 hi oerjan 20:02:13 fax: see above 20:02:57 alise: like, prove to me that he hasn't dropped off the face of the earth sometime in the past month 20:02:58 * Asztal hates pressing ctrl-shift-backspace by accident. 20:03:06 I do it worryingly often. 20:03:15 Mathnerd314: can't. 20:03:18 use the email-this-user feature 20:03:26 Asztal: disable that key 20:03:56 * Sgeo_ ALMOST implemented a search through a BST as though it was merely a tree 20:04:02 I can't solve my equstion :( 20:04:04 *facepalm* 20:04:12 fax: what equation? 20:04:21 It's even more work to implement it that way 20:04:27 * oerjan isn't reading through all the logs today, just searching for his nick 20:04:27 oerjan, (x-2)(x-3)(x-7)=0 20:04:40 which ring? 20:04:40 fax: um, x=2, 3 or 7? 20:04:51 I tried to solve it using galois theory but I got the wrong answers 20:05:27 fax: if it's a field then a product being zero <=> one of the factors is zero 20:05:33 otherwise, what Mathnerd314 said 20:05:43 here is my attempt http://www.pasteit4me.com/413001 20:05:47 hm 20:06:00 that is unreadible if you don't have the steps I am following 20:06:25 I don't know why it doesn't just work! 20:06:28 http://www.wolframalpha.com/input/?i=(x-2)(x-3)(x-7)=0 20:07:03 fax: oh you mean extracting that from the original polynomial? yeah i guess that's supposed to be galois theory. unfortunately i don't remember that part. 20:08:03 alise: i think fax was a _little_ unclear on what he was actually trying to do there. 20:08:12 quite 20:08:37 wait, or is that she nowadays 20:08:47 * Rugxulo wonders if everybody here is studying mathematics at university 20:08:53 it's (1/3)(s1 + y + z) 20:09:02 she i believe. 20:10:11 i'm studying mathematics in #not-math 20:10:21 lament: that's not allowed! 20:10:25 horrible! 20:10:32 * alise punches lament 20:10:55 unless it's the math of "not". in which case the above diagonalization would be relevant. 20:11:37 * Sgeo_ wonders if he's abusing continue and break 20:11:45 maybe I got s_2 wrong 20:12:09 breaking and continuing sounds like abuse in itself, i'd think 20:14:10 I'm studying mathematics at university! 20:14:29 http://codepad.org/brm0TsGn 20:14:48 Let me rephrase that. 20:15:03 I'm attempting to get good marks in mathematics at university! 20:15:11 * Sgeo_ sees how he could change things to not use continue 20:15:14 But why bother? 20:15:22 Sgeo_: you could use a break in the first to make it more consistent 20:16:16 then it would be a while(true) 20:18:15 Use Haskell, where if you want continue and break, you have to write them yourself! 20:18:39 that would make everything way too easy 20:18:49 Pretty easy to do, though. 20:19:12 Just write a new monad, or do it in continuations. 20:19:26 Or even some Template Haskell. 20:19:34 Sgeo_: you could use else break; then the continue's would be unnecessary. fwiw. 20:19:35 Yeah, continuations make it possible. 20:19:45 pikhq: he'd just do some pattern matching with recursion 20:19:48 CONTINUATIONS MAKE EVERYTHING POSSIBLE 20:20:02 * alise wonders why there's sprunge.us, taking pastebin input on HTTP; but no "nc paster.org" 20:20:05 Continuations are the ultimate in flow control, so yeah. 20:20:33 alise: Beats me. 20:20:46 Sgeo_: why can't you just return a bool instead of passing in a reference? 20:20:48 * alise is considering registering uti.li for a bunch of little-utilities 20:21:03 $ nc uti.li (whatever the lowest unused port number is) Mathnerd314, because this is what the professor wants, I think 20:21:09 $ somecmd | nc uti.li portn 20:21:16 Still, Sprunge is pretty nice when you stick the small curl line in a script in ~/local/bin/. 20:21:20 Sgeo_: what class? 20:21:24 Yes, but it's still highly unoptimal! 20:21:32 Yes. 20:21:32 nc is perfect because the API is there in EVERY language, more or less. 20:21:39 If it can open a socket, you can do a paste in a few lines. 20:21:53 nc is perfect because it's the simplest damned networking scheme. 20:21:59 "Send bits over line" 20:22:00 Mathnerd314, data structures 20:22:06 s = opensock("uti.li", portn); writesock(s, "...paste stuff..."); readsockline(s, &r); closesock(s); 20:22:13 /* r is now url to paste */ 20:22:27 The only problem with uti.li is that I keep typoing it! 20:22:30 It's hard to type... 20:22:36 2/TCP,UDP Management Utility Official 20:22:40 Who cares about that? 20:22:42 Does anything actually bind it? 20:22:56 Can nc do UDP? 20:23:02 Yes. 20:23:03 Sgeo_: you're writing a binary tree? 20:23:03 Yes. 20:23:13 So does anything bind 2/tcp? 20:23:26 If not, well, `alias paste=nc uti.li 2` now! 20:23:28 * pikhq looks 20:23:28 Sgeo_: is it required to be in C++? 20:23:32 Yes 20:23:42 Nothing well-known. 20:23:49 Perfect then. 20:23:58 Hey, I could put one of the oldschool multiuser unix games onto another port. 20:24:00 It's reserved and completely and utterly unused. 20:24:12 4 is officially unassigned. 20:24:12 Have some expression evaluators/etc. somewhere over HTTP... 20:24:21 Host some useful bots... 20:24:25 maybe some sort of wiki thing 20:24:29 pikhq: that's what they _want_ you to think 20:24:31 Could be a nice little domain. 20:25:16 A handful of the more useful daemons... 20:25:44 Heck, stick some of the retarded throwaway ones there too. 20:25:45 Some CAS interface thing, maybe. 20:25:50 Because Wolfram Alpha is a bit naff. 20:25:55 Echo, QotD, character generator... 20:26:02 TIME 20:26:06 AliseCAS: Because Wolfram Alpha Is A Bit Naff(TM). 20:26:07 `define naff 20:26:17 * Considered to be poor taste; Bad; tasteless; Something that is poorly thought out, doesnt really work, or is otherwise not very good; Heterosexual \ [20]en.wiktionary.org/wiki/naff \ * An English surname 20:26:17 HACKEGO CANNOT HELP YOU NOW 20:26:23 Heterosexual? XD 20:26:32 Wolfram Alpha is a bit heterosexual. 20:27:00 you don't say. 20:27:15 isn't wolfram gay? 20:27:21 googling says no 20:27:44 So, quite naff. 20:27:44 who could stand to live with him, man or woman? 20:27:47 you know, wolfram alpha would be pretty neat if it was more strict in what it accepted ironically 20:27:51 oerjan: his clone 20:28:06 masturbation has never been so incestuous 20:28:16 alise: i think that might end in an explosion 20:28:24 yes. BUT OF WHAT KIND... 20:28:27 ahem 20:28:27 anyway 20:28:30 moving on 20:28:32 involving gamma rays, perhaps 20:29:16 pikhq: Clearly it should expose Hunt the Wumpus on some port. 20:29:22 Grr... Apt-get nowadays first tries IPv4 and then falls back to IPv6. :-/ 20:29:38 Which suggests a more typeable domain name along the lines of "nick-nacks"; it'd be a little repository of mostly-fluff. 20:29:50 Ilari: They've seen too many brokenly configured IPv6 systems, I guess. 20:30:20 And meh; I got an apparently-working fungot (at least the ^bf command worked when I pointed it to a listening nc) as a x86-64 executable out of that compiler of mine, but if I compile it as a 32-bit executable (the real fungot doesn't run on x86-64 hardware) it segfaults on startup. 20:30:20 fizzie: you can break before the call to throw-failure." page 7, under heading 5, evaluation. scheme, or doing a side effect 20:30:45 fungot: I appreciate you trying to help, but I'm not sure that's quite it. 20:30:46 fizzie: and too, and these are people who are brave enough to do it 20:31:05 Apparently n.kn is available. 20:31:06 This machine in question has broken IPv4 connectivity (but IPv6 connectivity works)... :-)) 20:31:14 Saint Kitts and Nevis!!!!! 20:31:16 doh, silly typo in the Rexx B93 thingy: "do ; " (shouldn't have that semicolon) 20:31:38 I solved it! 20:31:55 you guys were right, the roots are 2,3,7 20:32:09 well... duh 20:32:09 :P 20:32:17 fax: erm, you _said_ it in the beginning, sheesh 20:32:20 essentially 20:32:27 yes but I solved it using a different method 20:32:55 I cannot believe n.kn is available! I wonder how much it costs 20:33:11 n kroner 20:33:13 http://www.pasteit4me.com/414001 20:33:17 Reserved/Not Available 20:33:18 as n -> infinity 20:33:18 bastards 20:33:20 what's n.kn? 20:33:25 fax: a domain name 20:33:50 I just wish uti.li was easier to type; it's really short and sounds nice + is memorable. 20:33:57 But typing it, at least on QWERTY, is like a tongue-twister for your hands. 20:34:03 uti - stumble - ,. - li 20:34:23 because your fingers have to bend terribhorribly 20:34:24 uti.li/ties, the best place to shop for ties. 20:34:38 :D 20:35:45 use.ful ... easier to type 20:35:54 .ful doesn't exist though. 20:36:01 THAT IS THE ONE FLAW WITH YOUR PLAN 20:36:03 I thought so ... oh well 20:36:20 alise: Clearly. 20:36:56 Hmm, it'd be really nice to have a bot in here hooked up to a competent CAS. 20:37:20 alise 20:37:24 We get into the more... shall we say, abstract side of computing ... and each of us opening a Haskell buffer and scribbling away to get an approximation every time we need a calculation is a bit sucky. 20:37:25 I have parigp installed 20:37:35 fax: okay 20:37:49 hi 20:37:55 xD hi 20:38:25 Of course the issue with hooking a bot up to a CAS is that most of the half-decent ones -- namely Mathematica and Maple -- cost. 20:38:46 And I'm not sure how licensing would go if other people are on the server. 20:38:51 I want to write a (very basic) CAS 20:38:53 (And I'm not sure pirating it and then exposing it is such a grand idea.) 20:38:55 (Axiom is alright, I gather, and Maxima is... you know... well, it works sometimes...) 20:39:03 just something that will do basic calculations that I don't want to do myself 20:39:12 fax: I want to write a (very advanced) CAS 20:39:35 with the important property of "not sucking"; one missing from all major CASs 20:39:38 especially mathematica. 20:39:41 it lacks not sucking in droves. 20:39:56 (this is equivalent to sucking; i guess i do accept ~~p->p after all) 20:40:42 of course you accept it for decidible predicated 20:40:45 s 20:40:49 yes :P 20:40:51 alise: that's a hasty generalization. i think you just default to things sucking unless proved otherwise. 20:41:04 * oerjan snickers 20:41:05 oerjan: have you ever used mathematica?! :-) 20:41:13 help me ; 20:41:21 i don't think so 20:41:21 Error: no help found for topic "me". 20:41:25 I have a math probluem 20:41:28 Mhm. The compiled bot connected to freenode okay, and it answers to "bf" and "ul" commands in privmsg just fine, but it doesn't seem to accept my authority; the "raw" command doesn't do anything. 20:41:28 oerjan: ah, you lucky bastard 20:41:34 it taunts you in, it shows pretty pictures 20:41:36 then it lags, it crunches 20:41:37 it fails 20:41:39 it errors 20:41:41 it unreliabelises 20:41:42 it sucks 20:41:58 fizzie: This is the final stage of sentientosity... 20:42:02 Nice knowing you! FOOOOOOOOOOM 20:42:07 My these paperclips are ni 20:42:30 -!- Rugxulo has quit (Quit: Rugxulo). 20:42:42 the paperclips who say ni 20:43:03 fax: the problem with writing a good CAS is that you end up having to write most everything else with it 20:43:14 Sgeo_: my proposal: http://codepad.org/0BathdOv 20:43:26 alise: it's not so bad, in fact the universe turned into paperclips _ages_ ago. 20:43:48 you need to write a good typesetting system, so you can integrate it perfectly with your language; you need to write a good editor, to write stuff in; you need to write a good document editor (it has to be the same as the former two things) suitable for writing and publishing entire documents in with mathematical code interspersed 20:43:49 etc 20:43:51 it's just the paperclips organized to make a simulation. 20:43:52 Sgeo_: should be more useful than yours for the rest 20:43:55 Mathnerd314, that looks.. unhelpful 20:44:02 Oh, I see 20:44:07 implementing a good cas is basically implementing the entirety of mathematical discipline 20:44:16 oerjan: wow, you turned into wolfram! 20:44:57 hmm, I'd like to make a Connection Machine-inspired OS, where the whole thing is N-in-the-range-of-billions entirely-parallel machines that operate on one bit at a time, with communication pathways between them 20:45:06 so everything becomes a task in weaving communication together... 20:45:09 erm not OS 20:45:10 esolang 20:46:01 http://www.esolangs.org/forum/ 1 to 5 are spam; all the same question/response format advertising some product 20:46:49 alise: i mentioned that already. 20:46:55 I want a cool CAS 20:47:14 it's basically a calculator that has better numbers than just integers 20:47:19 and floats 20:47:20 fax: does Mathematica work? :p 20:47:28 mathematica is so shit. 20:47:29 assuming there are no new ones, rss says no 20:47:49 alise do you think that handwriting recognition could really work? 20:48:01 i dunno... 20:48:09 and I don't even know whether it'd be faster than typing 20:48:11 * oerjan checks for comments 20:48:13 just have to try eh? 20:48:22 mathematicians like writing on paper and it usually isn't /too/ messy, so... 20:48:59 fax: also imo: the important symbolic-computation part of a CAS is basically a partial evaluator that stores infinite-precision values as free variables, accompanied with special-cases in every relevant function over these free variables 20:48:59 or whatever 20:49:01 I dunno 20:49:13 it's just having an atomic symbol behave according to certain rules, then calling it a real 20:49:22 I don't think I agree with that 20:49:26 plus some approximation function that takes an expression and approximates it numerically to arbitrary precision 20:49:27 what you are talking about sounds like just one approach 20:49:32 and I have a slightly different one in mind 20:49:33 fax: well, CAS = /symbolic/ 20:49:41 if you just mean a computer program that does algebra, well 20:49:46 yes that technically satisfies (expand CAS) 20:49:49 well yeah as a starting point 20:49:50 but you know how acronyms and names go 20:50:03 I wouldn't call anything that wasn't symbolic a CAS 20:50:16 ...which is why i'm thinking a lot about how to unify symbolic term rewriting and dependently-typed functional languages 20:50:19 alise: why is mathematica shit? I can only find 2 results on google for that 20:51:09 Mathnerd314: It entices you in with pretty pictures and the like, but -- and ais523, winner of the Wolfram Prize, sufferer under Mathematica can attest to this -- one, it's coded shittily. It's basically unoptimised tree rewriting. The compositions of the C primitives that Wolfram Research expect/want you to do are blazing. Change one tiny little thing? Glacial. 20:51:18 I mean glacial: Mathematica is either insanely fast, or unbelievably slow. 20:51:33 without knowing t1,t2,t3 20:51:44 Also, for an advanced mathematical CAS a large portion of its function library is not-so-mathematical things like image processing and the like. 20:51:51 Also, the GUI is laggy on a lot of machines. 20:51:58 On Linux it's so ridiculously laggy that I find it unusable. 20:52:05 primarily I just want to calculate answers 20:52:06 Finally, it costs far too much. 20:52:12 a useable interface can come later 20:53:06 Mathnerd314: conclusion: Mathematica sucks. 20:53:10 From what I've heard Maple is alright. 20:54:21 big, slow, expensive... ok 20:54:28 Big is not such an issue. 20:54:45 But very slow, creates hype and then fails to live up to it, and expensive are the main things. 20:55:14 it creates so much hype it slows down the computations! 20:55:15 basically mathematica 20:55:22 is better than lisp 20:55:23 . 20:55:43 well, expensive -> big, so that makes sense 20:55:53 and optimization is harder for big things 20:55:55 fax: lol wat 20:57:25 hey CAS users 20:57:35 I have a challenge for you (i.e. solve this problem for me) 20:58:09 * Mathnerd314 waits 20:58:30 well I have maxima installed right now... not that that will do any good 20:58:38 fax: come on 20:58:48 oh you guys will actually try it? 20:58:54 yes 20:59:05 okay let w = e^(2ipi/3) so that w is a primitive cube root of unity, 20:59:34 let y = t_1 + w*t_2 + w^2*t_3 and z = t_1 + w^3*t_2 + w*t_3 21:00:00 t_n are unknown yeah? 21:00:06 yes they are just some variables 21:00:17 now I have a theorem that says y^3 + z^3 and y^3 * z^3 are both in Q. 21:00:32 sec 21:00:48 Extra informaton: 21:00:55 fax: am i meant to encode this theorem? 21:01:09 no just calculate the values of y^3 + z^3 and y^3 * z^3 21:01:29 how? you have free variables 21:01:54 t_1,t_2,t_3 are roots of t^3 - s1 t^2 + s2 t - s3 = 0, where s1 = t1 + t2 + t3, s2 + t1*t2 + t1*t3 + t2*t3, s3 = t1*t2*t3 21:02:17 wait t1 = t_1 here? 21:02:18 1 + w + w^3 = 0 or w + w^2 = -1 21:02:21 oops, yeah 21:02:27 didn't mean to switch notations 21:02:41 well i will try but i don't think maxima is up to this 21:02:59 well there's find_root... singular... 21:03:25 hmm i wonder could i just use solve to do this? 21:04:05 s1 = t1 + t2 + t3, s2 + t1*t2 + 21:04:06 that should be = right 21:04:08 s2 = t1 21:05:16 (%i13) allroots(t^3 - s1 * t^2 + s2 * t - s3 = 0); 21:05:16 `allroots': polynomial not univariate: (s3, s2, t, s1) 21:05:16 -- an error. To debug this try debugmode(true); 21:05:17 fax: sorry. 21:05:17 No output. 21:05:43 alise: the roots are given by his s1 = 21:05:46 t1 + t2 + t3, s2 + t1*t2 + t1*t3 + t2*t3, s3 = t1*t2*t3 equations 21:05:50 well start by multiglying out y^3 + z^3 21:05:56 and them simplify it down to a rational 21:06:06 *s2 = in there 21:06:12 oerjan: actually i just have no idea how to tell maxima all this 21:06:17 so i give up, pretty much 21:06:48 urgh you haven't even tried 21:06:53 there is no root finidng involved 21:06:59 yeah i know 21:07:04 just multiply out y^3 + z^3 21:07:05 but a cas sucks if it can't work it all out for you. 21:07:07 you will get something huge 21:08:00 Plus Maxima is so hard to use with its ugly output. 21:08:21 fax: got something huge: http://www.wolframalpha.com/input/?i=%28t_1+%2B+w*t_2+%2B+w^2*t_3%29^3+%2B+%28t_1+%2B+w^3*t_2+%2B+w*t_3%29^3+with+w+%3D+e^%282+i+pi+%2F+3%29 21:08:23 if your computers can't do this I will have to figure it out myself.. 21:08:41 see, just outsource it to web 3.0 21:08:43 problem solved 21:08:52 even did the subscript. clever wolfram alpha 21:09:05 brb 21:09:30 Mathnerd314: well there is a 3 in there which should be a 2 21:10:04 well, change it and press enter ;-) 21:10:36 it's real if t1-t3 are real 21:11:08 same for * 21:11:30 good enough? 21:11:51 http://www.wolframalpha.com/input/?i=%28t_1+%2B+w*t_2+%2B+w^2*t_3%29^3+*+%28t_1+%2B+w^2*t_2+%2B+w*t_3%29^3+with+w+%3D+e^%282+i+pi+%2F+3%29 21:12:09 http://www.wolframalpha.com/input/?i=%28t_1+%2B+w*t_2+%2B+w^2*t_3%29^3+%2B+%28t_1+%2B+w^2*t_2+%2B+w*t_3%29^3+with+w+%3D+e^%282+i+pi+%2F+3%29 21:16:02 fax? 21:16:09 hi 21:16:40 that "Alternate form assuming t1, t2 and t3 are real:" looks good,I am trying to rewrite it in terms of s1,s2,s3 21:16:49 ok 21:16:50 2 s1 - 3 ((t_2^2 + t_3^2) t_1 + (t_1^2 + t_3^2) t_2 + (t_1 + t_2^2) t_3) + 12 s3 21:16:57 something like that, I can't see what to do with the middle bit 21:17:19 something to do with s2, I imagine 21:18:09 actually I just notice that I got this wrong, that s1 part is a mistake 21:18:19 an error 21:19:26 hm 21:19:49 parts of that 12 may want to be shared out 21:19:55 there's something odd about the '2' tohugh 21:20:11 infact I would say it's the oddest prime 21:21:51 -!- cal153 has joined. 21:23:30 hah 21:25:16 http://www.wolframalpha.com/input/?i=factor+2+x^3+-+3+y+x^2-3+z+x^2-3+y^2+x-3+z^2+x%2B12+y+z+x%2B2+y^3%2B2+z^3-3+y+z^2-3+y^2+z 21:27:08 so it's (s1-3 t1)(s1-3 t2)(s1 - 3 t3) 21:27:44 cool!! 21:27:53 right... now we can work on y^3 z^3 :P 21:28:01 unless you are fed up of this 21:28:10 no no, let's do so :- 21:28:14 * :-) 21:28:27 once I have this, I should be able to write down an solution for the general cubic 21:29:25 hello 21:29:30 hey augur 21:29:35 hey 21:29:45 do you know Steven pinker? 21:30:00 I jus twatched this, http://fora.tv/2008/09/12/Steven_Pinker_The_Stuff_of_Thought it's pretty cool (linguistics) 21:30:12 very basic I guess .. compared to what you do though 21:33:24 ahh 21:33:25 yes 21:33:29 i dont know if ive watched that one yet 21:33:37 but the corresponding book has some interesting chapters 21:33:41 and raises some interesting questions 21:33:52 anyway, i have to be out of here 21:33:53 byeee 21:33:57 see ya 21:34:12 back 21:35:05 hi 21:35:23 I should go to bed soon 21:35:31 hmmm... product is too long to enter into the textbox 21:35:38 Mathnerd314: lol 21:35:42 Mathnerd314 that keeps happening to me with wolfram :[ 21:35:42 write prod 21:38:34 -!- augur has quit (Ping timeout: 264 seconds). 21:38:35 -!- nooga has joined. 21:38:54 parser dies when removing all spaces :-/ 21:39:01 parser parser 21:39:02 I'd offer to use Mathematica, but it's not on this machine. 21:39:09 Try their web API. 21:39:16 I am sure it will accept more. 21:40:14 -!- Alex3012_ has quit (Ping timeout: 265 seconds). 21:40:21 I actually got visited at a summer camp by wolfram :-) 21:40:29 That must have been horrible. 21:40:45 Wait, how did he fit his ego in the room and still have space left for you? 21:41:10 wolfram is the god of nerds 21:41:13 it was a big room ;-) 21:41:18 weird guy 21:41:29 nooga: I resent that 21:41:32 he's no god of mine 21:41:45 -!- funcot has joined. 21:41:48 ?ul (hello, I am a real executable)S 21:41:48 hello, I am a real executable 21:41:48 Mathnerd314: Like a TARDIS! 21:41:58 fizzie: What about the whole, you know, self-modifying malarkey? 21:42:33 ?help 21:42:41 alise: you're not a nerd 21:42:41 Well, it doesn't. I have (will have, hopefully, etc.) jitfunge for those use-cases. 21:42:48 nooga: hahaha 21:42:49 TARDIS FTW 21:42:55 me not a nerd 21:42:56 I laugh 21:43:04 fizzie: So fungot doesn't really use g or p at all? 21:43:05 alise: the outer macro is interpreting the code ( follow the link 21:43:06 Howso? 21:43:12 Or is it just modifying code that doesn't work? 21:43:13 t_1^6-3 t_2 t_1^5-3 t_3 t_1^5+6 t_2^2 t_1^4+6 t_3^2 t_1^4+3 t_2 t_3 t_1^4-7 t_2^3 t_1^3-7 t_3^3 t_1^3-3 t_2 t_3^2 t_1^3-3 t_2^2 t_3 t_1^3+6 t_2^4 t_1^2+6 t_3^4 t_1^2-3 t_2 t_3^3 t_1^2+9 t_2^2 t_3^2 t_1^2-3 t_2^3 t_3 t_1^2-3 t_2^5 t_1-3 t_3^5 t_1+3 t_2 t_3^4 t_1-3 t_2^2 t_3^3 t_1-3 t_2^3 t_3^2 t_1+3 t_2^4 t_3 t_1+t_2^6+t_3^6-3 t_2 t_3^5+6 t_2^2 t_3^4-7 t_2^3 t_3^3+6 t_2^4 t_3^2-3 t_2^5 t_3 21:43:27 looks like i'm on acid 21:43:31 -!- Azstal has joined. 21:43:34 or maybe not. 21:43:42 alise: There's a funge-space, sure, it's just data-only. I use it a lot for data-storage, but not for modifying anything that will be executed. 21:44:01 Right. 21:44:06 -!- Asztal has quit (Ping timeout: 265 seconds). 21:44:10 -!- Azstal has changed nick to Asztal. 21:44:57 In fact the executable is ~235 kilobytes, because there's a 592*80*4 byte static array containing the cells defined in the program source, in case it tries to 'g' those values. 21:46:45 I'm sure there are still lots of bugs, but it's a nice feeling that it got on IRC with so little work. The babbler part probably won't work; it's the most complicated piece of the bot, after all. 21:47:12 funcot: babble 21:47:22 aww 21:47:25 There's no data files there, or styles. 21:47:42 I should probably try funcot with the real fungot's state-files and others. 21:47:43 fizzie: what about him? :) everyone seems to have a nice day solely because of the 21:47:53 -!- funcot has quit (Remote host closed the connection). 21:48:59 fizzie: How goes jitfunge, anyways? 21:49:41 * Mathnerd314 fires up Sage 21:49:46 (on a VM) 21:49:53 pikhq: I've been sidetracked with this other compiler a bit. 21:50:15 Ah. 21:50:31 I presume you're using LLVM for both? 21:50:59 Yes, but a bit differently. I didn't really feel like doing C++ for this static compiler, so I just generate LLVM .ll assembly sources. 21:51:13 alise: RUN THE SKY IS FALLING 21:51:27 coppro: AAAAAAAAAAAAAAAAAAAAAAAAAAAAH 21:51:37 Mathnerd314: sage is kinda crappy 21:51:41 Ah. 21:51:50 it's just a half-baked python interface to a bunch of half-decent tools 21:51:51 So, not the same code generation. :( 21:52:01 alise: but it has a polynomial factorer :-) 21:52:17 alpha removed almost all incentive to use Sage 21:52:24 I can probably reuse fingerprint implementations and some other bits, but they're reasonably independent projects. If jitfunge code would have been cleaner, maybe I could have shared more code. 21:55:12 fax: (x^2 - x y + y^2 - x z - y z + z^2)^3 21:56:14 Mathnerd, http://hpaste.org/fastcgi/hpaste.fcgi/view?id=25045 21:56:18 alpha is just so unreliable, that's the issue 21:56:30 which is why we need alyskas 21:56:30 (mangled alisecas) 21:56:42 this is great the cubic is solved! 21:56:56 Alγsκαs 21:57:07 fax: to floating-point precision ;-) 21:57:22 (unless you have CReal) 21:57:48 Mathnerd314, one thing which is missing is radical expressions for cube roots of unity.. but that will be another time 21:58:10 -!- nooga has quit (Ping timeout: 260 seconds). 21:58:12 you said you wanted to sleep :-) 21:58:17 just install few digits 21:58:19 voila reals 21:59:24 -!- Alex3012_ has joined. 21:59:44 -!- kar8nga has joined. 21:59:53 -!- sebbu has quit (Quit: Quitte). 22:00:06 yeah; I like http://gmplib.org/#TRY a lot 22:00:09 -!- sebbu has joined. 22:00:46 alise, another thing my algebra system will have is radical numbers and algebraic numbers 22:00:58 There's no easy way to download from Magnatune without paying anymore :( 22:01:07 I'm going to need to write an app for that 22:01:20 fax: shouldn't you just do x^1/n 22:01:28 Sgeo_: there's an app for that 22:01:39 alise, what? 22:01:53 What's it called? 22:02:00 totally radical 22:02:16 Sgeo_: Only on iPhone. 22:02:21 * Sgeo_ growls 22:02:22 From Apple. 22:02:31 www.apple.com 22:02:37 Sgeo_: Growling? 22:02:39 There's an app for that. 22:02:44 ...er, no, wait. It was rejected. 22:03:05 * Mathnerd314 laughs because he's so confused 22:03:11 I take it that you were joking about there being an app for downloading from Magnatune for iPhone? 22:03:19 OR IS THERE LOL 22:03:32 okay bye 22:03:38 alise aren't you going to bed soon ? 22:03:41 bye fax 22:03:51 bye 22:03:52 sometime 22:03:53 bye 22:04:03 -!- oerjan has quit (Quit: Later). 22:04:19 no not you oerjan 22:05:41 -!- fax has quit (Quit: Lost terminal). 22:06:29 * Mathnerd314 counts 3 ops on #esoteric 22:08:08 oerjan lament fizzie? 22:08:15 yep 22:08:19 lament never uses ops except as part of his regular exercise routine (trolling) 22:08:29 oerjan hasn't used ops one iirc 22:08:39 the last time fizzie used ops he was so nervous he almost shattered from the cruelty of what he was doing 22:08:49 this place approximates anarchy pretty closely over time 22:09:07 so it's either an argument for anarchy working or not working depending on your perspective :D 22:09:08 well, you can ask on #freenode 22:10:09 Alγsκαs is pretty... albeit meaningless 22:11:17 Anyone know of a LaTeX package to make a table where the head column stretches out diagonally to save horizontal space? 22:11:25 like what you might see in a brochure 22:11:37 eh?# 22:11:39 *eh? 22:12:20 -!- Phantom_Hoover has joined. 22:12:22 http://df.magmawiki.com/index.php/User:BaronW 22:12:28 Now that's esoteric. 22:12:56 not turing-complete :p 22:13:09 Nor is anythinh. 22:15:12 Phantom_Hoover: you fail 22:15:19 turing-complete is a perfectly well-defined concept 22:15:21 Nothing real, I meant. 22:15:28 Perhaps I was unclear. 22:15:39 so? BaronW could have -- if Dwarf Fortress allowed -- presented a finite construction allowing turing-complete computation 22:15:42 just like a BF interpreter does 22:15:46 so it's a valid thing to say :P 22:16:15 But Dwarf Fortress has finite storage. 22:16:26 In game, I mean. 22:16:29 Yes, well, that is the issue. 22:17:29 I have to say that his division routine seems long-winded. 22:17:41 http://df.magmawiki.com/index.php/Dwarf_Fortress_Wiki:Magmawiki I wonder what the point of this i. 22:17:42 *is 22:18:29 To replace MW, presumably. 22:18:31 Phantom_Hoover: my brain is Turing-complete 22:18:38 No it isn't. 22:18:41 Finite storage. 22:18:48 I can use paper 22:18:54 And you'll die. 22:19:17 Why replace MW with something about identical to it? 22:19:21 coppro: universe is finite 22:19:28 They haven't. 22:19:31 also, like Phantom_Hoover said, you are finite 22:19:32 universe is not finite 22:19:36 coppro: physics disagrees. 22:19:52 Surely it depends on the overall geometry. 22:20:11 well, soort of 22:20:14 All the evidence and our best-accepted theories point to it being finite...so... 22:20:15 It's finite. 22:20:16 AFAIK it's unknown whether it's finite and unbounded or not. 22:20:23 Oh, well. 22:20:29 Science marches on. 22:20:42 it is technically finite, but because it's expanding faster than I can travel, it is effectively infinite 22:20:43 coppro: But besides, Phantom_Hoover is right; you are not immortal. 22:20:51 I will make myself immortal! 22:20:55 Also, even if you were, the universe is not. 22:21:02 Heat death 22:21:12 So you do, in the end, only have the option of halting. 22:21:32 Mind, that doesn't make /me/ give up hopes that the singularity will sort out the pesky problem of entropy. 22:21:40 entropy is such a misapplied concept :( 22:21:41 Hey, it's just a statistical law... 22:22:03 I'm imagining some godlike force of matter keeping the universe prised open like a toothpick when it's due to big-crunch 22:22:12 fuck yeah, take that, universe 22:22:50 Even so, coppro would be in no state to be doing algorithms. 22:22:57 and on a universal scale, the nature of entropy is not well-understood 22:23:21 entropy divides itself by 0, obviously 22:23:21 -!- kar8nga has quit (Read error: Connection reset by peer). 22:23:42 I mean when we're post-Singularity, provably immortal unless something goes really, really badly wrong, and Ω tells us it's figured out how to stop the universe from ending... 22:23:56 Then I'll accept that you can act as a Turing machine, given sufficient patience. 22:24:01 Although you would be an /unreliable/ Turing machine. 22:24:26 Possible non-deterministic. 22:24:48 As well as the sheer likelihood of human error after so much time. 22:25:07 Unless Ω upgraded our minds, too. 22:25:15 Then yes, you'd be able to act as a Turing machine. 22:25:15 that story has been going around: http://www.multivax.com/last_question.html 22:25:18 What is Ω? 22:25:30 The end. 22:25:38 Presumably the singularitu. 22:25:50 Ω = superintelligence 22:25:54 Dear god, my typing is atrocious. 22:25:58 Singularitu! 22:26:12 Mathnerd314: It's been going around forever. 22:26:16 That's actually a pretty cool name. 22:27:15 alise: well, is it true? 22:27:29 Mathnerd314: The story? As in literally? 22:27:32 No, it's fiction. 22:27:35 Ask a better question. 22:27:43 "could it be true?" 22:28:12 Maybe. 22:28:20 Ask a better question. 22:28:28 "do you want it to be true?" 22:28:37 Mathnerd314: I doubt there is a sort of metareality into which AC can somehow slip into when the universe ends. 22:28:41 So the end is very metaphorical. 22:28:57 But an intelligent hypercomputer is of course possible. Reversing entropy, who knows? 22:29:47 well, it definitely has a "punchline" at the end 22:30:58 I'm now severely regretting getting a low-end laptop and accidentally squishing my Windows partition to a sliver more than it needs... 22:31:13 " 22:31:16 "Like all economics professors, I have no soul, and so am unable to sympathize with your loss." 22:31:23 Phantom_Hoover: external usb drive! 22:31:33 (or usb thumbdrive) 22:31:37 Too much like hard work. 22:31:38 (or sd card) 22:31:42 Bye 22:31:44 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.9/20100401213457]). 22:31:47 bye 22:32:41 "You are the husband of a wonderful and beautiful lady whom you love very much - and whom you just found in bed with another man. In a rage, you take your hardcover copy of Introduction To Game Theory and knock him over the head with it, killing him instantly (it's a pretty big book)." 22:32:43 This post is awesome 22:33:31 "You are the dictator of East Examplestan, a banana republic subsisting off its main import, high quality hypothetical scenarios." 22:33:52 oh, yeah 22:34:00 * Mathnerd314 googles and finds it again 22:34:06 finds what? 22:34:08 The post is http://lesswrong.com/lw/24o/eight_short_studies_on_excuses/ 22:34:42 right; I found that again 22:35:29 "A leader of your state's atheist community breaks into your office via the ventilation systems" 22:35:30 wat. 22:36:38 Wait what? 22:36:48 "The next day, the atheist leader comes in again. This time, he is wearing a false mustache and sombrero." 22:36:51 pikhq: http://lesswrong.com/lw/24o/eight_short_studies_on_excuses/ 22:38:11 brb ~15-20m 22:43:23 -!- SimonRC has quit (Ping timeout: 246 seconds). 22:45:58 -!- Tritonio_GR has quit (Ping timeout: 268 seconds). 22:46:38 -!- tombom_ has quit (Quit: Leaving). 22:52:18 -!- Azstal has joined. 22:52:39 -!- Asztal has quit (Ping timeout: 276 seconds). 22:52:47 -!- Azstal has changed nick to Asztal. 23:00:43 -!- FireFly has quit (Quit: Hey! Listen!). 23:00:58 -!- Alex3012_ has quit (Read error: Connection reset by peer). 23:03:08 -!- Alex3012_ has joined. 23:16:02 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:28:34 -!- nooga has joined. 23:53:12 -!- sshc has quit (Read error: Connection reset by peer).