00:03:01 -!- MissPiggy has quit (Quit: Lost terminal). 00:22:20 -!- cpressey has left (?). 01:11:00 -!- augur has joined. 01:20:28 -!- augur has quit (Ping timeout: 245 seconds). 01:22:37 -!- augur has joined. 01:26:57 -!- augur has quit (Ping timeout: 256 seconds). 01:28:39 -!- augur has joined. 01:40:53 -!- augur has quit (Ping timeout: 245 seconds). 01:42:25 -!- augur has joined. 01:49:38 -!- augur has quit (Ping timeout: 245 seconds). 01:50:23 -!- coppro has joined. 01:53:54 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 02:08:03 -!- augur has joined. 02:25:28 -!- augur has quit (Ping timeout: 245 seconds). 03:22:11 -!- gm|lap has joined. 03:49:54 -!- bsmntbombdood_ has joined. 03:51:53 -!- bsmntbombdood has quit (Read error: Operation timed out). 03:55:09 -!- oerjan has quit (Quit: Good night). 03:56:07 -!- adu has joined. 04:09:53 -!- Gracenotes has joined. 04:16:17 -!- bsmntbombdood__ has joined. 04:18:48 -!- bsmntbombdood_ has quit (Ping timeout: 245 seconds). 04:35:03 -!- Sgeo_ has changed nick to Sgeo. 04:40:12 -!- augur has joined. 04:55:34 -!- bsmntbombdood__ has changed nick to bsmntbombdood. 05:00:13 -!- augur has quit (Ping timeout: 265 seconds). 05:03:33 -!- Wareya has quit (Ping timeout: 252 seconds). 05:06:37 -!- zzo38 has joined. 05:07:39 I see the note about INTERCAL in the topic message. But what I know, is, P.D.Q. Bach is the INTERCAL of Baroque music. But it doesn't help much unless you know about both INTERCAL and about P.D.Q. Bach. 05:19:56 I try to figure out how to add natural numbers represented as sets 05:21:38 And I am still also trying to figure out how to write a program in Hyper Set Language that produces a set of all non-halting programs 05:34:58 -!- coppro has quit (Ping timeout: 264 seconds). 05:38:51 -!- augur has joined. 05:39:38 yo bitches 05:40:23 ! 05:44:12 I have looking up things about set theory on Wikipedia, today. 05:44:51 -!- kwertii_ has joined. 05:47:23 -!- kwertii has quit (Ping timeout: 246 seconds). 05:47:23 -!- kwertii_ has changed nick to kwertii. 05:48:02 I think the old Russell's paradox set in Hyper Set Language was wrong, I fixed it now, hopefully this way is actually Russell's paradox for real, this time: Russell={[0.#;1.0]/(element_of/(#.#))}\*; 05:48:37 Where element_of={[<#]&>#;not/(not/@)}; 05:48:52 And not=({0}!(0.0))|(0.1); 05:53:56 -!- coppro has joined. 06:03:06 zzo38: you should help work on the formal grammars pages. :D 06:19:37 What formal grammars pages did you mean? 06:20:43 Also, I looked at the article about fuzzy sets, and now it allowed me to think of something else, which is, quantum fuzzy sets (the probabilities can be entangled). 06:22:21 http://toolserver.org/~soxred93/pages/index.php?name=Augur&namespace=0&redirects=noredirects 06:22:55 those are the ones i created recently, i also modified the TAG, CCG, and Indexed Grammar pages 06:23:08 you should contribute some stuff regarding some other formalisms 06:24:41 Which ones should I contribute? 06:24:52 anything you want! 06:24:56 just not controlled grammars 06:25:00 since im working on that page 06:25:01 :P 06:25:07 OK. 06:25:24 Unfortunately I don't know enough about formal grammars to write a Wikipedia article 06:29:15 Ah! PHP works now on Hackiki. 06:30:22 thats ok, zzo38, its a opportunity to LEARN about them. :D 06:30:54 augur: Yes, I can learn about formal grammar from what is already written on Wikipedia 06:30:55 * Sgeo rates xkcd on WOT as being not particularly child friendly 06:31:10 What does "WOT" means 06:31:24 zzo38: no no, i mean, you can find some reference to some formalism on wikipedia that isnt property explained, or given thorough examples, or whatever 06:31:24 Web of Trust 06:31:27 mywot.com 06:31:30 and then you can go research them, etc. 06:31:45 thats what im doing for the categorial minimalism stuff, and for the control grammar stuff 06:32:03 OK 06:32:06 and you just go through doing that. if you find some reference in a paper or book to some formalism you havent heard of ever, check to see if its on wiki 06:32:11 if not, go find info about it and put it up 06:34:02 There's something about Reddit that my computer doesn't like 06:34:03 :( 06:34:13 ok im going to play some wipeout 06:35:04 And I'm on Hackiki now 06:35:08 -!- zzo38 has quit (Quit: zzo38). 06:36:17 redbull is THE official drink of the early Wipeout games. :D 06:36:22 not that i like redbull or anything but 06:43:59 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 06:45:45 -!- yiyus has quit (Ping timeout: 265 seconds). 06:49:32 -!- adu_ has joined. 06:50:54 -!- adu has quit (Ping timeout: 265 seconds). 06:56:37 * Sgeo should not be on the computer right now 06:56:42 * Sgeo should be sleeping 06:57:13 -!- adu_ has quit (Quit: adu_). 06:59:05 -!- yiyus has joined. 07:04:42 -!- Asztal has joined. 07:05:59 -!- tombom has joined. 07:10:29 -!- coppro has quit (Quit: good night). 07:23:33 i shouldnt be sleeping 07:23:33 :D 07:39:01 -!- kwertii has quit (Quit: bye). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:32 so ive invented fun little variant of the lambda calculus which isnt usable as a mode of computation but which is useful in constructing interesting representations of meaning :T 08:19:49 -!- Asztal has quit (Ping timeout: 265 seconds). 08:47:58 -!- MizardX has joined. 08:59:17 -!- scarf has joined. 08:59:21 -!- scarf has quit (Changing host). 08:59:21 -!- scarf has joined. 09:03:17 -!- gm|lap has quit (Quit: HydraIRC is a child molester -> http://silverex.net/news <- i couldn't change my quit message). 09:22:38 -!- scarf has quit (Read error: Connection reset by peer). 09:22:43 -!- scarf has joined. 09:33:22 -!- SHAXMAT has joined. 09:38:36 -!- pikhq has quit (Read error: Connection reset by peer). 09:39:54 -!- pikhq has joined. 09:42:58 -!- SHAXMAT has quit (Ping timeout: 245 seconds). 10:04:28 -!- Asztal has joined. 10:15:13 -!- scarf has quit (Ping timeout: 264 seconds). 10:15:44 -!- scarf has joined. 10:58:51 -!- scarf_ has joined. 11:00:55 -!- scarf has quit (Ping timeout: 276 seconds). 11:08:22 -!- scarf_ has changed nick to scarf. 11:08:36 -!- augur has quit (Quit: Leaving...). 11:08:39 -!- augur has joined. 11:15:52 -!- BeholdMyGlory has joined. 11:54:57 -!- scarf has quit (Ping timeout: 252 seconds). 11:55:46 -!- scarf has joined. 12:12:48 -!- bsmntbombdood has quit (Read error: Operation timed out). 12:30:17 -!- scarf has quit (Remote host closed the connection). 12:30:26 -!- scarf has joined. 12:30:31 -!- bsmntbombdood has joined. 12:34:32 -!- tombom_ has joined. 12:37:35 -!- oerjan has joined. 12:38:25 -!- tombom has quit (Ping timeout: 276 seconds). 12:38:49 I see the note about INTERCAL in the topic message. But what I know, is, P.D.Q. Bach is the INTERCAL of Baroque music. But it doesn't help much unless you know about both INTERCAL and about P.D.Q. Bach. 12:39:11 um there is a major distinction: INTERCAL actually _exists_. 12:39:26 oerjan: on the forum where that was originally posted, it made sense to assume that I Wanna Be The Guy would be well-known to people who viewed it 12:40:02 well, I Wanna Be The Guy _also_ exists, i believe 12:40:20 and i had heard of it (on this channel), so... 12:40:26 it does exist 12:40:52 i am referring to P.D.Q. Bach, who regretfully doesn't (and never did). 12:41:36 -!- FireFly has joined. 12:42:02 and i would bet that we have a better fit to that on the wiki. any of the Lesser Known languages, say 12:43:27 admittedly existence of persons and existence of programming languages may not be quite directly comparable. 12:48:13 -!- augur has quit (Ping timeout: 264 seconds). 13:11:55 -!- MissPiggy has joined. 14:03:06 -!- oerjan has quit (Quit: leaving). 14:24:11 -!- augur has joined. 15:09:26 is there any esolang where writing tac would be easier than writing cat? 15:09:48 (in case you don't know, tac is like cat but reverses the order of the lines) 15:10:13 scarf, know any such esolang? 15:20:33 Any stack-based one with only line-based I/O, presumably 15:27:30 -!- cpressey has joined. 15:37:24 If INTERCAL's the PDQ Bach, which one's the Victor Borge? 15:39:38 Deewiant, how so? tac doesn't reverse the stuff inside a given line 15:39:44 it only reverses the order of lines 15:39:59 AnMaster: Thus the restriction for line-based I/O 15:40:16 Deewiant, indeed, but still it would be as simple as doing one read then one write and so on 15:40:18 Although I guess it's still easier to print them out as they come in 15:40:18 after each other 15:40:20 Yeah 15:40:44 so that is not a valid answer to my question then 15:41:49 It mightn't've been in any case, if no such language exists 15:42:20 Deewiant, err "mightn't've"? 15:42:32 might not have 15:42:34 right 15:55:55 AnMaster: Cyclexa would be like that if not for a hack that meant that both ways were equally easy 16:03:07 scarf, hm *looks* 16:03:19 AnMaster: nothing to look at 16:03:24 but it treats memory as a stack 16:03:30 scarf, no wiki page? 16:03:43 no, vapourware 16:03:56 scarf, describe it then, since you obviously know about it 16:04:21 AnMaster: think stupidly generalised regex 16:04:33 uhu 16:04:41 I can't quite imagine what that means 16:40:25 It matches things besides strings? Pointers, dogs, bicycles, trampolines, caves, ideologies, chuck steak...? 16:41:42 * cpressey kicks it up 1.125 notches 16:42:10 /BA(M*)!/ 16:43:27 * AnMaster notes that FILE is too C-dependant 16:43:47 cpressey: well, think of "B" in a regex as meaning "if the current string starts with B, remove it; otherwise fail" 16:43:48 I'm not sure how to implement all of r, w, a, r+, w+, a+ in erlang 16:43:52 some I can do 16:43:56 that's what it means in Cyclexa 16:44:04 now, B^ means "add a B to the start of the current string" 16:44:07 but for some I'm unsure what the hell the distinction is supposed to be 16:45:21 scarf: Sounds kind of like the regex version of an unrestricted grammar (or relatively unrestricted) 16:46:26 AnMaster: not sure what the a means (I thought + meant append) but I thought the rest were supported (Erlang used to even use the same chars as C, but they changed it at some point) 16:46:46 cpressey, it seems related to positioning of the stream 16:46:50 cpressey: + means both readable and writable 16:47:04 scarf, but then why not rw 16:47:10 and why is there r+ and w+ 16:47:11 and r positions at start, w truncates the file then there's only one position, a positions at end 16:47:17 shouldn't they be eqiv then? 16:47:20 nope 16:47:26 r+ lets you read from the start, or write at the start 16:47:33 w+ truncates the file 16:47:40 but after writing to it, you can read back what you just read 16:47:43 Yay C. 16:47:45 well, that is tricky, I need to manually emulate w+ I think 16:48:25 -!- MigoMipo has joined. 16:49:04 *read back what you just wrote 16:49:04 I've yet to run into a non-eso language that doesn't support those six modes trivially 16:49:14 Deewiant: VHDL? 16:49:24 but then, hello world is awful in VHDL 16:49:48 Deewiant, well there is no "read+write+truncate", I need to do some manual truncate after for that mode 16:49:55 scarf: It's not really a programming language 16:49:57 Deewiant, does mycology test all 5 modes or just some? 16:50:07 Deewiant: what a weird statement 16:50:10 Just one or two I think 16:50:21 Deewiant, how irritating :P 16:50:22 it's just not intended to program computers, which is why it's so different 16:50:25 scarf: Well, I haven't used it 16:50:37 Well yeah 16:50:52 s/eso/eso computer programming/ 16:51:10 I don't see why programming should be restricted to computer programming in general, though 16:51:26 Not in general, but in the context of file I/O... 16:51:38 well, OK 16:51:57 otherwise, you could just say that freestanding C has no file I/O at all unless it's in a nonstandard library 17:04:20 * cpressey builds a "Hello World" circuit on his breadboard 17:04:53 (It's a battery, two wires, and a lamp.) 17:09:13 -!- charlls has quit (Ping timeout: 245 seconds). 17:20:04 -!- jcp has joined. 17:25:41 Deewiant, interesting mycology result on half-implemented FILE: 17:25:50 BAD: 00S reflected 17:25:50 GOOD: closed file with C 17:25:50 GOOD: reopened file in append+read mode 17:25:54 that loops forever 17:25:57 until ctrl-c 17:25:58 those lines 17:26:14 "Whoops" 17:28:01 Deewiant, well, I'm just curious how it could happen. I assume you don't care about "fixing" it to error out more gracefully, but if you did, here is the output showing which ones are implemented: 17:28:16 http://sprunge.us/jjKh 17:28:25 Probably just the S error handler goes to the wrong place 17:29:06 Deewiant, right, a trace is really painful here. Should be possible to spot it by reading the code if it is as simple as that though 17:29:19 * AnMaster goes to implement L 17:29:48 -!- MizardX- has joined. 17:31:51 hm interesting API 17:32:18 file:position(IoDev, cur) to set the possition to the current one and get the current abs position 17:32:26 so basically a no-change to read current 17:33:58 -!- MizardX has quit (Ping timeout: 260 seconds). 17:34:16 -!- MizardX- has changed nick to MizardX. 17:35:22 Deewiant, tell me if you want me to test any fixed version, preferably before I implement S. 17:35:26 which is soon 17:35:44 I can easily break it in a local CCBI 17:36:11 right 17:36:14 no need then 17:37:17 -!- amca has joined. 17:38:16 Deewiant, is FILE byte based or unicode based? 17:38:28 this poll also goes to fizzie 17:38:42 I guess unicode might break fungot's use of FILE 17:38:42 AnMaster: these unique items make us invincible! but you are true heros. the world, tee, hee! it's not the only one thing we need to defeat you, lavos. 17:39:11 AnMaster: The spec says 17:40:45 ah right 17:41:15 Deewiant, does mycology test that? 17:41:24 ^style 17:41:24 Available: agora alice c64 ct* darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube 17:41:25 Probably not 17:41:31 ^irc 17:41:33 I think it just wrote text, not binary 17:41:37 ^style irc 17:41:37 right 17:41:37 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 17:41:48 Deewiant, testing value above 255 would be a good idea 17:41:56 * cpressey was getting sick of that game 17:41:58 It's UNDEF 17:42:06 no 17:42:07 "# Functions W and R write cells as bytes, any cells containing values greater than 255 will have the top bits stripped. " 17:42:14 from http://rcfunge98.com/rcsfingers.html#FILE 17:42:24 Deewiant, so doesn't look undef to me 17:42:26 Oh, darn 17:42:33 Deewiant, unless he added that after 17:42:38 He did 17:42:40 But anyway 17:43:01 that operation is somewhat confusing 17:43:11 it isn't modulo 256 is it? 17:43:24 Yes it is 17:43:28 right 17:43:36 It says nothing about negative numbers though :-P 17:43:43 You need a special bit stripper to properly strip off the "top bits". 17:45:30 cpressey, har 17:45:40 Deewiant, well lets assume something for them -_- 17:51:37 There's that thing about FILE that you got negative values for bytes >= 128 on some interpreter. 17:51:54 fungot only uses values in the [0, 127] range, doing multibyte values in a base-128 sort of way. 17:51:55 fizzie: that's simple to understand. :p fnord/ news/ fnord/ fnord/ fnord/ fnord, that is). 17:52:53 fizzie: What interpreter is fungot running on? 17:52:54 cpressey: even bawden rees point out in the third argument to dynamic-wind calls a continuation from outside the environment itself... 17:53:22 cpressey: last I heard it was cfunge, and before that rc/funge 17:53:25 but I'm not sure 17:57:11 That's what I heard too 18:02:14 Does it matter that the rcfunge homepage doesnt say what rcfunge is for? 18:02:59 It has the manuals, which do say 18:06:49 heh 18:08:01 amca: that's typical of the rc/funge documentaion 18:08:04 *documentation 18:08:39 Yes, fungot started on RC/Funge, then migrated to cfunge. 18:08:40 fizzie: i cannot see where are the logs? where is the middot? can't find it with a spoon for far too long. you can't. scheme is a language of stuff like that 18:08:48 * amca found the website confusing 18:09:45 http://git.zem.fi/fungot/commitdiff/75359446b1d88ef6644b88f3fa879d2f8d683592 was needed to make it work on cfunge. 18:09:46 fizzie: scroll down to the mit scheme repl does indeed provide hooks for customizing the printer, but it's not r5rs 18:11:06 -!- sebbu2 has joined. 18:11:15 why is my FILE G in cfunge so complex 18:11:17 -!- charlls has joined. 18:11:35 oh it tries to emulate fgets() but treating all of \r \n \r\n as newlines 18:11:36 I think 18:11:58 There was some difference on how STRN's L/R worked in the corner case of requesting more characters than the length of the string itself. 18:12:45 -!- sebbu3 has joined. 18:12:58 hm maybe 18:13:20 efunge can't yet run it 18:13:37 due to missing SOCK and FING and STRN 18:14:23 The spec now specifies that L/R with more than the number of chars should return the full string, but I think cfunge instead reflects; it was some sort of theological argument about the immutability of specifications there. 18:14:23 and I'm not implementing FILE because of it, but to avoid having to do rm myco*.tmp 18:14:29 -!- sebbu has quit (Ping timeout: 260 seconds). 18:14:31 after a few mycology runs 18:14:51 fizzie, s/theological/philosophical/ 18:15:12 I just used to do 'ccbi mycology.b98; rm -f *.tmp' 18:15:21 Deewiant, sure but still 18:16:58 -!- sebbu2 has quit (Ping timeout: 264 seconds). 18:17:52 now why the hell do I have pop_gnirts, push_list and push_gnirtses in efunge... 18:18:07 and for push_list I would need to reverse it 18:21:23 push_gnirts(Stack, String) -> 18:21:24 lists:reverse(String, [0|Stack]). 18:21:34 now that is a wonderful implementation 18:21:37 agree cpressey? 18:22:15 also *watches confusion grow amongst Deewiant, fizzie and scarf* 18:22:35 * cpressey didn't remember a lists:reverse/2 18:23:09 cpressey, oh so you became confused too? 18:23:18 see erl -man lists of course 18:23:59 I recognise it, being used to Prolog 18:24:18 although it's a bit non-obvious what reverse does there, I agree 18:24:55 scarf, well, it reverses the first list then appends the second 18:25:08 gotcha 18:25:09 since it is a BIF it should be pretty well optimised too 18:25:36 (BIF = Built In Function. Means it is implemented (in C probably) by the runtime) 18:26:23 Because the compiler can't recognize and optimize lists:reverse(List) ++ Tail. 18:27:06 That's a bit silly 18:27:15 -!- kar8nga has joined. 18:28:27 cpressey, really? How strange. 18:28:43 I'm being somewhat facetious. 18:28:47 pretty sure it does. It certainly does optimise [H] ++ Tail into [H|Tail] 18:28:54 read that somewhere (official docs iirc) 18:29:31 cpressey, har 18:29:35 It's certainly possible to write "sufficiently clever compilers", but you rarely encounter them in the world at large. 18:30:59 Deewiant, what does G do on EOF? 18:31:05 it seems cfunge reflects on that 18:33:09 I can't tell you anything beyond what the spec says 18:33:21 What's that "b" returned by FILE's G in http://www.rcfunge98.com/rcsfingers.html#FILE ? 18:34:05 Can't remember 18:34:13 Maybe nothing 18:34:43 Deewiant, does mycology assume G trims the trailing whitespace? 18:34:44 err 18:34:48 trailing newline I meant 18:35:07 fizzie, it is number of bytes 18:35:18 that is, the length of the 0gnirts 18:35:24 (excluding the 0 it seems) 18:35:29 Oh. That wasn't very obvious. 18:35:29 Why do you ask me instead of mycology 18:35:41 BAD: G didn't read 'foo\n' 18:35:42 but 18:35:46 dumping it shows it did 18:35:47 huh 18:36:55 * Deewiant awaits the "Deewiant, ^" 18:37:03 oh found it 18:37:23 a pitty this means I can no longer use lists:reverse/2, since I don't need to reverse at all 18:37:37 -!- cpressey has left (?). 18:38:43 The pit viper falls into a pit. How pitiful. Isn't that the pits? 18:38:52 :-) 18:38:56 fizzie, :) 18:39:18 Deewiant, btw, I think we have another bug with R reflecting causing the program to go to the wrong place 18:39:48 Deewiant, basically look at: http://sprunge.us/IfWW 18:40:22 it is not infinite here 18:40:26 it stops after that point 18:43:18 well at least I got this in: 18:43:22 true = Bytes =< 0 18:43:34 why? Because that way I throw an exception if it isn't true 18:43:48 which means I can move all the error handling for this function to one place 18:44:06 err fix the order of >= 18:44:14 >= that is 18:46:18 -!- charlls has quit (Ping timeout: 245 seconds). 18:51:11 -!- kar8nga has quit (Remote host closed the connection). 18:55:44 -!- charlls has joined. 18:58:47 -!- cpressey has joined. 19:02:40 What language is this? 19:02:49 Wow, typing the keys on the keyboard feels so light 19:02:53 I was just blowing snow. 19:07:02 -!- charlls has quit (Read error: Connection reset by peer). 19:07:31 -!- charlls has joined. 19:07:37 Sgeo: Your fingers get vibrated numb? 19:08:02 It's physically hard pushing on the snow blower 19:08:48 * amca doesnt live where snow falls, so didnt realise 19:09:06 I think the snow blower is crap, tbh 19:10:17 Yes, you should switch to a snow-sucker. 19:13:24 Or perhaps even a snow-melter. 19:14:34 A snow-sublimator. 19:14:55 It blows cool, dry air on the snow, and the snow sublimates into that air. 19:16:06 Or increase global warming 19:17:39 Unfortunately, increasing global warming has all sorts of negative effects... :-> 19:18:19 where is alise 19:18:52 ouch, good point 19:20:45 Won't he be here tomorrow, or is he usually here on Fridays? 19:22:09 idk 19:22:26 he's usually here friday evening 19:22:30 although not most of the day 19:26:59 Is alise still a he? 19:29:44 -!- charlls has quit (Ping timeout: 240 seconds). 19:35:36 Deewiant, pushed the FILE for cfunge (both trunk and supervisor-tree) 19:35:52 What language is this? <-- what language is what? 19:35:59 AnMaster: s/cfunge/efunge/? 19:36:04 Deewiant, err yeah 19:36:06 typo 19:36:17 Whatever language they were talking about? 19:36:29 Sgeo, when? 19:36:36 When I said that 19:37:00 well, then the channel had been idle for a bit over 15 minutes, so none I guess 19:37:32 Well, whatever language they were talking about 15min before I said that, then 19:37:58 Sgeo, befunge and/or erlang 19:38:17 Sgeo, if it was the discussion I was involved in 19:38:26 * Sgeo doesn't even remember 19:38:32 why do you even care then 19:38:33 and 19:38:35 just scroll up 19:38:51 even though it is still on screen 19:38:59 just over half a page ago now 19:39:44 Deewiant, anyway: might be time to update the mycology results page soon. Perhaps include efunge too :) 19:40:03 Deewiant, note that only supervisor-tree has TURT 19:40:11 but in general it is less stable 19:42:34 by the way, funny misreading: 19:42:38 GOOD: 34V is 5 19:42:39 became 19:42:40 GOOD: 34V is 5A 19:42:44 Deewiant, ^ 19:42:45 XD 19:43:45 (this is true for a direct current if the total resistance is 6.8 Ohm, and we assume there are only simple linear components) 19:44:23 * Sgeo wonders how many facepalms the next episode of SG-1 [in season 9] will give him 19:44:26 oh btw, I wonder why CPLI doesn't do polar form 19:46:43 Interestingly, 6.8 ohms is one of the standard values for resistors, too 19:47:03 Deewiant, by the way: "Can't test o in linear text mode: i ignores spaces, no way to know from within standard Funge-98 whether they are output to file." is completely wrong. You can see if it skipped those spaces when reading in again. Like, the data continues after those spaces where it should 19:47:06 good old E12 19:47:09 just read it in in binary mode 19:47:13 so you get it all on one line 19:47:39 cpressey, oh yeah, probably a hidden message there! 19:49:15 hm, I think this requires a fingerprint ACDC that would implement various electricity related calculations 19:50:17 of course there are more operations than there are upper case letters, especially for AC 19:52:48 cpressey, btw if you are interested in efunge: bzr branch lp:~anmaster/efunge/supervisor-tree 19:53:10 cfunge would be at bzr branch lp:cfunge 19:53:24 (yay for vendor creep, better to say it before someone else does) 19:53:59 (lp: of course is a short hand for https://something.launchpad.net/) 19:55:14 AnMaster: o with that mode removes only trailing spaces 19:56:15 (Well, and trailing newlines / form feeds) 19:56:19 Deewiant, on each line 19:56:40 Deewiant, so while you couldn't check trailing newlines/ff at the end of the file 19:56:53 you could check if it removed spaces at the end of all but the last line 19:57:06 Deewiant, also if FILE was available you could check it fully 19:57:28 (of course, FILE could be intentionally lying if the interpreter detected mycology) 19:57:37 (but that seems rather unlikely) 19:57:58 Mycology doesn't really try to handle being lied to ;-P 19:58:10 true 19:58:32 fizzie, btw, do you use G or just R for your FILE usage? 19:58:56 AnMaster: I think I use G for some of the ^command persistence things, since it was easier there. 19:59:11 (It's a line-based format.) 19:59:36 hm 19:59:49 Hmm, I guess i in binary mode only doesn't write spaces, it still increments the x-coordinate 20:00:02 * AnMaster debates if to enable the read_ahead option when opening files in FILE 20:00:05 So yeah, I think you could detect it in that way, you're right 20:00:17 Deewiant, yep 20:00:50 fizzie, you see: 20:00:55 "The read_ahead buffer is also highly utilized by the read_line/1 function in raw mode, why this option is recommended (for performance reasons) when accessing raw files using that function." 20:01:08 and since I (for various reasons) use raw files... 20:01:45 default size for read_ahead is 64 kb 20:01:46 hm 20:01:51 Nothing performance-intensive in fungot uses G, though; just the initial state-loading. 20:01:53 fizzie: aaargh... this bug can't be found that easily... but i probably will 20:02:03 ^style 20:02:04 Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube 20:02:07 ah 20:02:10 not ct any more 20:02:12 explains it 20:02:40 why doesn't FILE have an option for transparent gzip :/ 20:02:46 that way it would have been trivial in erlang 20:02:56 since there is (for some reason) built in support for that 20:03:00 just a flag to file:open 20:03:27 (doesn't work with read+write of course= 20:03:30 s/=/)/ 20:03:51 ^style nethack 20:03:52 Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal) 20:04:08 fungot, what do you sound like with the nethack style? 20:04:09 uorygl: they say that some yetis are full of hot air. its small, distant cousin. various varieties exist, and whispered to him, " one rest") is sometimes termed " minister to the sea; there's no food. 20:04:30 fizzie, how much would readahead benefit fungot for R though? 20:04:31 AnMaster: nurses are trained to touch it. so david prevailed over the lower edge of the tribute) as well quit now!" i-hsiu was unable to quit it for use in hand-to-hand combat; wrap it round your head to ward off noxious fumes or avoid the gaze of the dead. 20:05:02 AnMaster: No clue, since I don't know how much it benefits R in general. In any case, there really aren't any performance problems in fungot at the moment. 20:05:03 fizzie: they say that dungeoneers prefer dark chocolate. the glare of the servants of the lords of death. you know what that is so much useless rusted scrap in no time at all.) had told him: " mirror, mirror: " you have a rocky road ahead of them must have brought it with blood a-drip at vlana's feet. 20:05:26 That fact about yetis sounds a bit suspicious. 20:05:31 Nurses are trained to touch it. 20:05:38 It's true that some yetis are full of hot air. 20:05:49 ...well, it's the sort of thing that sounds true. 20:05:56 in NetHack, it is true 20:06:42 It seems to be; it's from rumors.tru. 20:08:05 fizzie: I know a lot about NetHack; I can normally guess whether a rumor is true or false 20:08:35 Even though I'm not a very NetHacky person, I've actually acquired a fair amount of passive knowledge by osmosis from r.g.r.n. 20:08:36 What's that cockatrice-related false rumor? 20:08:50 fizzie: you read rgrn? 20:09:00 uorygl: there's one about wielding a lizard corpse against a trice 20:09:09 That sounds like it. 20:09:11 scarf: Yes. In fact, I noticed one of your posts there recently. 20:09:36 There's two others: "A cockatrice corpse is guaranteed to be untainted!" + "A dead cockatrice is just a dead lizard." 20:10:08 why would you read rgrn 20:10:15 even if you did play nethack 20:10:18 Why would you not 20:10:37 * cpressey shakes his head at all of USENET 20:10:39 it's full of sad, sad people 20:11:13 who dedicated their life to nethack, think they're the ultimate authority on it, and actually aren't even very good 20:11:32 rgrn's tactical advice isn't so much bad, as twenty years out of date 20:11:44 but the newsgroup as a whole has been getting better 20:12:15 I also haven't felt the tone to be pompous at all, which is what your description makes it sound like. 20:12:59 the pompous people are the devteam, and they hardly ever say anything 20:14:16 -!- wareya has joined. 20:14:55 AnMaster: No clue, since I don't know how much it benefits R in general. In any case, there really aren't any performance problems in fungot at the moment. 20:14:56 AnMaster: sorry, no one knows why medusa stands alone in the kidnappings and raids the inhabitants of the temples. filling the gaps between these strips and the outside, he enjoys visiting the earth, a grasping tail, hooves, or yeti, is outside it; and so he returned to practice, teach, and thieves. he has been suggested that it was a pretty fair shot with a wand of vibration might bring the whole course of known life from the 20:15:04 how much are continuous reads? 20:15:08 and how much is random access 20:15:24 with rgrn, who can tell? 20:15:26 There's not much continuous reading at all. 20:15:39 ah well 20:15:47 fizzie, you don't use t do you? 20:16:18 in NetHack, it is true <-- how can yetis be full of hot air 20:16:26 as in, what does that actually mean for playing 20:16:33 AnMaster: it means, that if you eat one, you might be full of hot air 20:16:38 which is the message for gaining cold resistance 20:16:43 aaah... 20:16:57 AnMaster: No t there, right. 20:16:58 if they weren't full of hot air, they'd be hurt by the cold 20:17:07 and that seems wrong for yetis 20:17:10 fizzie, hm. 20:17:41 The messages are always so punny; your health currently feels amplified for shock resistance. 20:18:08 fizzie, well since performance was one reason to switch to cfunge for you iirc (allowing bf/ul programs to run for longer), I doubt you would be interested in efunge. 20:18:51 -!- wareya has changed nick to Wareya. 20:19:18 Mhm, maybe not; the sub-interpreters (bf, ul) are pretty slow, after all. 20:19:28 indeed 20:19:33 -!- MigoMipo has quit. 20:19:42 Though I'd like to have fungot 2.0 use ATHR; it sounds much more enterprisey that way. I'm just bad at getting things done. 20:19:42 fizzie: they say that a potion of sickness. ( funk wagnalls standard dictionary of the sun.... thrice i filled the tub and emptied it. 20:19:56 That's a strange thing to say. 20:19:59 fizzie, ATHR isn't done yet 20:20:22 If you really want to be enterprisey, find a use for TRDS 20:20:24 parts of it works 20:20:28 Deewiant, har 20:20:28 What's better than time travel, after all 20:20:45 -!- MigoMipo has joined. 20:20:52 Deewiant, well, why not have 2 time dimensions 20:20:56 that sounds even better 20:21:03 two or more of course 20:21:08 Go ahead and spec it then ;-P 20:21:16 Deewiant, first tell me what the hell that even means 20:21:32 ooh wait, maybe like having the third dimension be the time dimension 20:21:52 so trefunge but every tick creates a new layer and move all ips there. 20:22:00 but then something-something to travel in it 20:22:17 Deewiant, what about that ^ 20:22:40 You were doing okay until the "something-something" 20:23:04 hah 20:23:10 In any case, rgrn is one huge bundle of pleasantness compared to unmoderated comp.lang.c. 20:23:11 I can't work out the something-something 20:23:22 fizzie, rgrn? 20:23:35 rec.games.rougelike.nethack? 20:23:36 rec.games.roguelikes.nethack 20:23:41 right, almost 20:23:47 Or is it roguelike 20:23:48 Whatever 20:23:51 AnMaster: Yours is in fact more right. 20:23:56 fizzie, more right? 20:24:00 so it isn't right either? 20:24:09 Well, it is right. 20:24:11 ah 20:24:15 The hamming distance is lower for mine 20:24:16 But it is also more right than Deewiant's. 20:24:24 -!- charlls has joined. 20:24:26 Unless a swap is cheap 20:24:31 err 20:24:36 what? 20:24:37 Or is it hamming distance 20:24:41 Edit distance, whatever 20:24:48 Edit distance from what? 20:24:56 From rec.games.roguelike.nethack 20:25:02 to what? 20:25:06 Oh, right, I completely unsaw AnMaster's typo. 20:25:12 indeed I didn't notice it either 20:25:14 rec.games.rougelike.nethack and rec.games.roguelikes.nethack 20:25:23 How can people not notice these things :-P 20:25:37 Deewiant, I can't spot it reading quickly 20:25:41 how can anyone spot it 20:25:47 the different length is harder to miss 20:26:15 Deewiant: Even though I know it's there, I still have to look at it twice. Anyway, right, usually (or at least often) the "insert" and "substitute" operations have the same cost, so yours is in fact more right. 20:26:26 Deewiant, as long as first and last letter are the same, the length is the same, and the general word shape (tall/low letters) is the same, you can easily read a text with some swapped letters. 20:26:50 "NRGR"4( 20:26:51 for low swappedness it is hard to notice even 20:26:58 I can read it often enough, yes, but I still notice every typo 20:27:05 cpressey, what the heck would that do ^_^ 20:27:13 cpressey, as in, spec it! 20:27:42 -!- amca has quit (Quit: work). 20:28:02 cpressey, possibly it should make it so that the IP can have it's stack values identified on exit? 20:28:20 F posts a YAFAP to rgrn, while A posts a YAAP; M posts a YAFM, D posts a YAAD, and S a YASD. All with completely made-up details, of course. And so on. 20:28:47 YAFM and YAAD? 20:28:57 Deewiant: Yet Another Funny Message, and Yet Another Annoying Death. 20:29:01 fizzie, YAFAP? 20:29:05 Alright 20:29:11 AnMaster: Yet Another First Ascension Post. 20:29:15 ah 20:29:17 AnMaster: Generally you should call F only once. :p 20:29:37 fizzie, I never posted my first ascension 20:30:00 -!- coppro has joined. 20:30:12 It's a bit debatable if it's "Yet Another (First Ascension) Post", or "Yet Another First (Ascension Post)". 20:30:18 If the latter, you could do it even later. 20:30:25 fizzie, how so? 20:30:33 oh right 20:30:40 misunderstood what "later" was relative here 20:31:09 I didn't post my first ascension :( 20:31:28 You could even post a YAFAP-2 of some non-first ascension, followed by a YAFAP-1 of the first ascension. 20:31:31 I haven't ascended so I'm still good 20:33:02 Deewiant, how far have you reached? 20:33:06 in nethack 20:33:12 Mooz has a YAFAP in rgrn, for those who remember/know the person. 20:33:26 Not far 20:33:32 Can't remember 20:33:41 It's not very special, but first ascensions aren't so often. 20:34:04 I've completed the quest once. 20:34:51 I don't think I've got as far as receiving it 20:35:03 Deewiant, work harder at it! 20:35:13 It's not exactly a priority for me ;-P 20:35:28 You finished ADOM and Angband and everything else too? 20:35:55 it used to be difficult to ascend 20:35:57 now it's quite easy 20:36:00 step 1. ignore rgrn 20:36:04 step 2. join #nethack 20:36:17 step 3. play on NAO and ask people for help when necessary 20:36:36 That's hardly proper 20:36:53 -!- daef has joined. 20:37:13 hi there 20:37:23 Hello. 20:37:26 just played around with brainf*** the first time 20:37:53 threw together a bunch of characters that output the current cell in decimal 20:38:04 so if the current cell holds the value 123 20:38:15 it output's "123" (the three characters) 20:38:33 Now write a program that does the same thing except without messing up any other cells. :P 20:38:41 but it looks much too complicated - is there someone who can look over the code and tell me what could be optimized 20:39:03 About how long is it? 20:39:06 daef: try running it in-channel, so we can have a look, if it's less than around 500 chars long 20:39:07 -!- oerjan has joined. 20:39:12 uorygl: it messes up nothing - but it needs the next 9 cells to be empty (clear's them by itselve) 20:39:15 !bf ,[.,]!Hello, world! 20:39:30 uorygl: you know that's impossilbe 20:39:36 where's EgoBot? 20:39:39 ^bf ,[.,]!Hello, world! 20:39:39 Hello, world! 20:39:48 Of course. 20:39:52 ++++++++[>++++++++<-]>[-<++>]<----- // schreibt die zahl 123 in die erste zelle 20:39:55 >[-]++++++++[>[-]<[->+<]>-]<<<<<<<<< // löschen der nächsten zellen 20:39:57 never mind that, where's alise? 20:39:58 [->+<]>[>+<-<+>]>[>>>>>[->+<]>+<<<<< // der eigentliche code 20:40:00 ++++++++++<[->>+<-[>>>]>[[<+>-]>+>>] 20:40:03 <<<<<]>[-]>[-<<+>>]>[-<<+>>]<<]>>>>> 20:40:05 [<<<<+++++++[-<+++++++>]<-[<+>-]<.[- 20:40:08 ]>>>>>>[-<+>]<-]<<<<<<< 20:40:27 first line writes 123 20:40:33 second line clears next 9 cells 20:40:43 oerjan: I don't know either, I'm worried 20:40:55 following 5 lines do the work, clean everything up and set the pointer back to the initial 123 20:41:15 You finished ADOM and Angband and everything else too? <-- no 20:41:19 but slash'em of course 20:41:39 >_< 20:41:54 hi oerjan 20:42:00 IVAN. 20:42:08 daef: it looks relatively standard, and there's nothing obviously wrong 20:42:13 kk 20:42:25 what does the [>>>] do? seeing an unbalanced loop makes me suspicious, as that code shouldn't really need one 20:42:34 thought there must be a easier way to do it 20:43:02 -!- cheater2 has quit (Ping timeout: 246 seconds). 20:43:06 scarf: well, there are of course a million possible innocent explanations *knock on wood* 20:43:06 scarf: the [>>>] is from my divide-code - when the dividend got zero the [>>>] ensures that the pointer points to an emtpy cell 20:43:25 ah, ok 20:43:30 needed for my version of an if(is_zero... 20:43:35 division in BF is painful 20:43:40 didn't know anything better 20:43:50 my first approach was this one (works!) 20:44:00 >>[-]>[-]>[-]>[-]<<<<<:clear 20:44:00 [>->+<[>>>+>+<<<<-]>>>>[<<<<+>>>>-]+:code 20:44:00 <[>[-]<[-]]>[<<+<[<+>-]>>>-]<<<<<-]> 20:44:00 [-]>[<<+>>-]>[<<+>>-]<<< 20:44:01 I'm pretty sure there's a better division algorithm on the Esolang wiki. 20:44:03 there's an article on brainfuck algos on our wiki 20:44:11 [[e:Brainfuck algorithms]] IIRC 20:44:15 my second one is this one 20:44:16 >>[-]>[-]>[-]>[-]<<<<< 20:44:16 [->>+<-[>>>]>[[<+>-]>+>>]<<<<<]>[-]> 20:44:16 [-<<+>>]>[-<<+>>]<<< 20:44:20 umm, http://esolangs.org/wiki/Brainfuck_algorithms 20:44:24 second one got the unbalanced loop 20:44:34 hi AnMaster 20:44:46 but it's much shorter and doesnt dup around the values from a to b,c and back... 20:44:48 there's a division algo by Calamari there that only needs four temporaries 20:44:59 i need five... damn 20:45:00 :) 20:45:09 and which is balanced 20:45:27 where can i find it - so i can study it? 20:45:37 at the link above 20:45:41 w8 20:45:46 i only need 4 20:45:54 cells 0 and 1 are the values 20:45:58 Darn, I forgot to finish speaking. 20:45:59 IVAN. 20:46:04 2 and 3 get the result 20:46:07 It is an iter vehemens ad necem. 20:46:14 4 and 5 are tmp 20:46:22 where 4 always stays zero 20:46:38 so i only "invent" cells 2345 20:46:43 that are 4 tmp cells 20:47:53 i cannot find a link... *scrollscroll* 20:48:46 http://esolangs.org/wiki/Brainfuck_algorithms 20:48:49 there, I've repeated it for you 20:48:51 ty 20:49:59 -!- Oranjer has joined. 20:50:22 -!- MigoMipo has quit (Remote host closed the connection). 20:51:13 -!- cheater2 has joined. 20:51:39 the version on the wiki much looks like my first approach 20:51:51 but my second one is definetly faster 20:52:06 the first one may optimise better, because it probably optimises into polynomials 20:52:11 all the temp's screw me up a bit - i have to translate it to bffirst 20:55:55 -!- MigoMipo has joined. 20:57:17 scarf: what do you mean? 20:57:35 daef: some BF interps are less naive than others 20:57:39 and some can be very fast indeed 20:57:57 generally speaking, a highly optimised BF interp is faster on balanced loops than unbalanced loops, due to the "polynomial optimisation" 20:59:49 okay 21:00:05 so i now translated the version from the wiki: 21:00:07 >>[-]>[-]>[-]>[-]<<<<< 21:00:07 [>>+<<-]>>[<[>>+>+<<<-]>>>[<<<+>>>-] 21:00:07 <[>+<<-[>>[-]>+<<<-]>>>[<<<+>>>-]<[< 21:00:07 -[<<<->>>[-]]+>-]<-]<<<+>>] 21:00:12 I'm not sure if we have any BF optimisation experts here, though 21:00:25 alise knows a bit about it, but he's missing atm 21:00:26 and this one is my first approach: 21:00:27 >>[-]>[-]>[-]>[-]<<<<< 21:00:27 [>->+<[>>>+>+<<<<-]>>>>[<<<<+>>>>-]+ 21:00:27 <[>[-]<[-]]>[<<+<[<+>-]>>>-]<<<<<-]> 21:00:27 [-]>[<<+>>-]>[<<+>>-]<<< 21:00:39 not quite identical 21:00:43 they really look nearly the same :) 21:00:55 the algo looks different, although that might just be an illusion 21:01:20 just watched them @ work - seen to work quite the same way 21:01:58 my last two loops are just to get the results in the place i want them 21:02:07 so they dont really "do" anything 21:03:03 I'm not sure if we have any BF optimisation experts here, though <-- as in bf compiler optimising 21:03:10 yes 21:03:10 or as in golfing bf code? 21:03:15 um, compiler optimising 21:03:17 scarf: Might the "polynomial opt" have to do with the fact that you can precalculate all the offsets from the position where the loop begins? 21:03:21 I know some of the compiler optimising stuff 21:03:27 neither Calamari nor Keymaker's here, though 21:03:28 lifthrasiir is the expert on it 21:03:28 cpressey: that's it 21:03:33 scarf, ^ 21:03:34 and then change loops into multiplications 21:03:39 AnMaster: ooh, right 21:03:42 scarf: OK... but I don't see what's "polynomial" about it :) 21:03:45 scarf, remember esotope-bfc 21:03:48 Oh, ok 21:03:52 cpressey: because the multiplications turn into more multiplications 21:03:56 and you end up with polynomials 21:04:04 scarf, quite 21:04:33 Hrm. It's 9 PM in ehirdland. 21:04:38 Wonder what's up? 21:04:47 pikhq, this looks like dire news indeed 21:04:58 AnMaster: ? 21:05:10 pikhq, about ehird not being here at this time 21:05:21 Yeah... 21:05:55 * cpressey awaits the homing pigeon w/fragment of parchment tied to leg 21:06:20 -!- |MigoMipo| has joined. 21:07:14 cpressey, ? 21:07:31 cpressey, I don't quite get the reference 21:08:30 cpressey: no no, it will be a bottle with a message inside 21:09:38 -!- MigoMipo has quit (Ping timeout: 246 seconds). 21:09:43 . 21:10:24 daef, anyway, what is the optimising stuff you need help with there? 21:11:44 daef, and yes, unbalanced loops really reduces the possibilities to optimise an expressions 21:11:57 -!- |MigoMipo| has changed nick to MigoMipo. 21:12:06 however I don't think it ever optimises to integer division, because that is very tricky 21:12:11 multiplication yes 21:13:02 daef, where was your program code? (pastebin please so it is easy to download) I want to see how the bf-compiler I wrote optimises it 21:13:15 in principle you could turn it into a lookup table, since it uses a finite number of cells :D 21:13:47 oerjan, interesting idea 21:14:01 (assuming finite cell size of course) 21:14:04 oerjan, wouldn't it grow exponentially or such? 21:14:12 oerjan, also input 21:14:23 superexponentially probably... 21:14:25 but a given piece of linear code 21:14:30 oerjan, oh true 21:14:39 AnMaster: there is no point in optimizing across input 21:14:44 imo 21:15:06 oerjan, sure there is, of course not for that cell 21:15:09 but for other cells yes 21:15:22 -!- charlls has quit (Read error: Connection reset by peer). 21:15:37 you probably want to shift input and output to early and computations to late 21:15:49 daef, well, where is it? :/ 21:15:51 -!- charlls has joined. 21:15:59 -!- MigoMipo has quit (Quit: When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net). 21:17:17 daef, I need the full program, not just that algorithm, since otherwise it will optimise by assuming that at the start of the program every cell is zero 21:17:25 meaning that likely it will just end up as s nop 21:17:41 AnMaster: sry 21:17:48 was sunk in the code from the wiki 21:17:55 ah, no problem 21:17:59 trying to translate it to as much highlvl i can 21:18:05 to understand what he really does 21:18:12 complete code... 21:18:14 hmm 21:18:14 AnMaster: put ,[>,][<] in front? :D 21:18:29 um ,[>,]<[<] 21:18:32 containing the code to clear - which is not needed in this example - i guess 21:18:58 oerjan, also it was on irc, would need to remove the [daef] prefix from it 21:19:02 -__ 21:19:04 -_-* 21:19:29 AnMaster: oh, you're planning to run in-between on it? 21:19:32 AnMaster: silly you, [daef] at start of program is a comment 21:19:34 (what a weird name for a bf interp, btw) 21:19:51 oerjan, it might infinite loop since [] is a loop 21:20:00 AnMaster: at the start of the program, it's a header comment 21:20:03 scarf, it made sense at the time 21:20:07 nothing runs, because the current cell is 0 21:20:07 AnMaster: http://pastebin.com/raw.php?i=w9wQAmGJ 21:20:14 scarf, yes but look, it was split over multiple lines! 21:20:17 daef, thanks 21:20:21 np 21:20:51 err wth, that ends up like this: 21:20:55 >[-]++++++++[>[-]<[->+<]>-]<<<<<<<<< 21:20:57 when wgetting 21:21:03 lawl 21:21:08 complete fail of "raw" 21:21:12 tr is your friend 21:21:15 -!- MigoMipo has joined. 21:21:24 daef, it aslo has a doctype and some headers 21:21:26 or maybe lynx 21:21:37 can't it convert HTML to plaintext in batch mode? 21:21:39 * AnMaster copy pastes 21:21:58 fail... 21:22:09 ah yes, lynx -dump file.html 21:22:17 daef, the code produced: http://sprunge.us/EQhd 21:22:19 i pasted the raw because i thought it should be ease to fetch from the shell 21:22:24 sure, that one wasn't perfect 21:22:34 daef, I dare say esotope-bfc will manage better 21:22:37 How about esotope-bfc or whatever the better one was 21:23:07 http://sprunge.us/DURO is esotope 21:23:41 A bit better 21:23:58 Deewiant, butp[-6] += ((7*p[-5])-1); 21:24:00 is pretty wtf 21:24:08 unneeded () there 21:24:08 the second one fits on my screen :) 21:24:13 AnMaster: Yours gets it as well 21:24:16 p[-5]+=255 + 7*p[-4]; 21:24:30 <3 sprunge 21:24:32 lol 21:24:35 where's that from? 21:24:36 Deewiant, yes but mine doesn't use that extra () around that expression 21:24:39 ahh 21:24:41 i see 21:24:48 AnMaster: esotope obviously brackets every expression 21:24:54 that's for the number to ascii 21:25:01 (Binary expression) 21:25:02 daef, in your original code? No clue. both of those do things like sort the instructions and merge them 21:25:02 i guess 21:25:05 and expand loops 21:25:07 and what not 21:25:14 I note that esotope doesn't optimize non-relatively-addressed cells into locals 21:25:14 daef, basically there is no way to tell what comes from where 21:25:29 That would be hard, but not impossible 21:25:32 what is in my original code? 21:25:38 daef, what? 21:25:51 22:19 < AnMaster> daef, in your original code? No clue. both of those do things like sort the instructions and merge them 21:25:57 what do you mean by that? 21:26:03 sry - english isn't my mother tongue 21:26:25 daef, I mean, the compilers reorders stuff like: >>+<<+ into +>>+<< then into [0]++ [2]++ 21:26:27 and such 21:26:38 okayokay 21:26:39 daef, and sometimes move instructions to the other side of a loop 21:26:52 so well, it is very hard to figure out what part of the original code ended up where in the new code 21:26:54 when it doesn't matter 21:27:05 and what i see 21:27:07 ^show hello 21:27:11 hm? 21:27:12 ^show 21:27:12 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble 21:27:15 ^show hw 21:27:15 >+9[<+8>-]<.>+7[<+4>-]<+.+7..+3.>>>+8[<+4>-]<.>>>+10[<+9>-]<-3.<4.+3.-6.-8.>>+. 21:27:23 ffs 21:27:34 since i've always seen bf as "current cell" - i've seen "moving the pointer costs time" 21:27:54 but when you "compile" it with absolute adresses 21:27:55 here is another (same?) hello world: 21:27:56 >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-] 21:27:57 <.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+. 21:28:00 that doesnt count 21:28:18 daef, and that code produces this: http://sprunge.us/gbXQ 21:28:25 now that is impressive isn't it? :) 21:28:34 i see 21:28:36 :) 21:28:42 not bad 21:29:22 why can't it compile my code to s("123");? 21:29:28 it's static too 21:29:44 as long as there is no "," it should always be possible 21:29:56 daef, sure, but it doesn't do full tracing 21:30:01 k 21:30:10 basically what my compiler did there was: figure out constant values. Figure out what balanced loops with constant number of iterations does. Figure out what output instruction works on constants. Transform those to constant outputs. merge constant outputs into string output 21:30:14 then figure out dead stores 21:30:17 No; so long as there is no "," and it doesn't halt, it is possible. 21:30:19 Erm. 21:30:21 It does. 21:30:25 pikhq, well yeah 21:30:29 It's impossible to prove whether or not it halts. 21:30:39 sry - that's correct 21:30:42 old problem... 21:30:46 daef, I can tell you the issue with your 21:31:01 should have known that :D 21:31:06 do { 21:31:06 p[1]=p[0]; 21:31:06 p[0]=0; 21:31:06 p[1]+=255; 21:31:06 p+=1; 21:31:07 } while (p[0]); 21:31:09 there 21:31:15 daef, that is an unbalanced loop 21:31:32 yes - it is 21:31:47 daef, I think it maps to [>[-]<[->+<]>-] 21:31:52 what my code does 21:31:59 when the first cell is 123 21:32:01 and well, unbalanced loops are tricky to get right 21:32:03 it expands it to: 21:32:12 123,3,2,1,3 21:32:18 where the last one is the length 21:32:24 daef, that unbalanced thing is what breaks my compiler at that code however. It doesn't try to do much with them 21:32:25 then it outputs the 1 21:32:37 123,3,2,2 21:32:40 * pikhq waits on clang -O3 -S LostKng.c. 21:32:44 since in general there isn't much you can do. Sure if it is a constant one at the start... 21:32:47 Curious what code you get out of that. 21:32:50 pikhq, from esotope? 21:32:53 the nice thing about BF is to let your code move along the data 21:33:05 AnMaster: Yeah. 21:33:10 so unbalanced stuff can make things very interesting - in my opinion 21:33:26 pikhq, well not sure. I think mine managed a few things esotope didn't in lostking, and the vice verse 21:33:41 daef, sure, but it inhibits optimisation 21:33:56 sure, you could try to track if you could figure out if it was a constant 21:33:59 AnMaster: I'm curious what assembly is made. ;) 21:34:02 but that is somewhat hard still 21:34:22 the only thing i wrote once was a string to number func where you put in "(2+2)^3-3.3" and it gave the correct answer - recusions, paranthesis, etc... 21:34:28 but i've never built a complete AST 21:34:29 pikhq, I'm curious as to ram usage. I certainly never managed to compile it with gcc locally 21:34:36 pikhq, I used tcc to test that it was valid c 21:34:54 AnMaster: That's because GCC uses *massive chunks* of RAM for compilation. 21:34:57 daef, in bf? impressive! 21:35:03 AnMaster: NO 21:35:04 pikhq, indeed. 21:35:06 *g* 21:35:09 daef, ah, still not too bad 21:35:10 AnMaster: in C# :D 21:35:11 Clang is about as good at C compilation and optimisation, and doesn't use chunks of RAM. 21:35:22 Also, only took a couple of minutes to compile. 21:35:26 daef, well I'm happy I didn't write it 21:35:37 I coded C# and well.... it's better than C++ certainly 21:35:40 but that is all I can say about it 21:35:45 and made a boolean-tester too - so you could test "2>1" 21:35:50 (and I hate C++) 21:36:01 with and,or,xor,constants,comparison... 21:36:03 pikhq, what specs? 21:36:13 pikhq, sempron 3300+ with 1.5 GB RAM here 21:36:23 pikhq, system runs at 2 GHz 21:36:24 it was a quite straightforward piece i wrote because school was boring for a few hours 21:36:51 AnMaster: Phenom II X3 710, runs at 2.8 GHz. 21:36:51 mhm 21:36:52 4 GB RAM. 21:37:00 Only one core in use, of course. 21:37:02 pikhq, quite a lot faster then 21:37:20 pikhq, what? why no parallel compilation? 21:37:26 it should be possible 21:37:40 to do local optimisations on different halves 21:37:43 AnMaster: ... *Single file*. 21:37:46 pikhq, yep 21:37:57 It's theoretically possible, but not done by any compiler. 21:38:00 pikhq, nevertheless I think it should be possible once you built the AST 21:38:06 hm 21:38:25 Because the big gains are gotten from telling Make to run multiple compilers at once. 21:38:33 true 21:38:52 pikhq, reminds me of a sad thing. erlang's build system broke at make -j2 21:38:56 which is pretty sad considering 21:39:23 (it was trying to run the erlang compiler before the runtime was completely built) 21:40:08 That is pretty dang sad. 21:40:22 pikhq, yeah, I think it was only with some rare configure options 21:40:30 and damn hard to reproduce 21:40:44 one should think a trivial language should be easy to optimize - but it doesn't seem so... :) 21:40:45 so I blame autotools 21:41:02 daef, well, brainfuck is a lot easier to optimise than befunge certainly 21:41:09 befunge is self modifying after all 21:41:10 and 2D 21:41:23 AnMaster: read about it a time ago i think 21:41:32 fast interpreters yes, and fizzie was working on a JIT compiler for it 21:41:40 fizzie, did you give it up? 21:41:42 or what happened 21:47:38 i just re-read http://de.wikipedia.org/wiki/Befunge - now i like it :D 21:47:59 is that 93 or 98? 21:48:02 93 isn't TC 21:48:09 due to finite space 21:48:14 98 can be TC 21:48:22 AnMaster: w0ot? 21:48:37 TC = turing complete 21:48:44 daef, there are two major versions of befunge: befunge-93, the original, Befunge-98 the newer one 21:48:51 kk 21:48:57 I mainly dealt with befunge-98 (implementing it twice) 21:49:01 what's the difference in the definition 21:49:10 pretty large ones 21:49:19 http://catseye.tc/projects/funge98/doc/funge98.html 21:49:22 is the spec for 98 21:49:24 AnMaster: You forgetting bashfunge? 21:49:26 is is quite massive 21:49:36 Deewiant, intentionally. It was 93+a-bit 21:49:45 Still more than 93 21:49:55 94,32 at most 21:50:02 94.32* 21:50:09 :-P 21:50:50 since both, 93 and 98, seem to have limited space - and limited cellsize - the stack must be infinite in length to be touringcomplete - doesn't it? 21:50:54 Deewiant, remember, it's funge-space was 200x*, that is 200 wide but infinite high. No negative funge-space 21:51:06 daef, 98 can have non-limited cell size 21:51:16 AnMaster: kk 21:51:20 daef, one of the implementations I wrote is bignum 21:51:26 Unlimited cellsize and space 21:51:35 (And stack, yes) 21:51:38 daef, of course, in practise that will never be TC on any real computer 21:52:21 AnMaster: that's clear 21:52:30 but i thought cell's were limited in the spec 21:52:33 from what i've seen 21:52:56 daef, not exactly no. Or rather, for the "size of cells" value returned by y I return -1 21:53:01 it seems to work fairly well 21:53:13 The spec doesn't allow nor disallow it 21:53:19 also the plan is to allow it for befunge-111 21:53:33 and since it isn't forbidden currently it's fine 21:53:33 i have to read the whole spec when i'm awake 21:53:47 daef, there are some inconsistencies in it 21:53:57 that is one of the reasons we are planning befunge-111 21:54:10 cpressey here is the author of previous befunge versions 21:54:20 i really had a hard week @work - so my brain is not really open for so much new stuff - i think my BF code should be enough for today's eve 21:54:46 cpressey: nice work! 21:54:48 *sigh* 21:54:57 Why does glibc suck so much? 21:55:10 daef: Thank you :) 21:55:26 * AnMaster imagines in a few years writing a new fingerprint, having by then completed ATHR. The introduction would be along the lines of: "Like ATHR extended Befunge to multi-core systems, aims to truly move Befunge into the realm of distributed HPC" 21:55:39 I have a program that literally *just uses a system call* that still links in 624k of library if statically linked. 21:55:41 this of course scares me 21:56:03 pikhq, start files? 21:56:10 pikhq, or what is going on 21:56:32 AnMaster: 624k of libraries for the function "syscall". 21:56:34 AnMaster: what's ATHR? 21:57:02 daef, a fingerprint (loadable extension) for befunge-98 that provides async threads. It is work in progress 21:57:24 pikhq: Is that why my ghc binaries are always at least ~500k? 21:57:31 daef, the goal is to be able to make full use of multiple CPU cores. 21:57:39 kk 21:57:49 cpressey: No, GHC doesn't try to statically link against glibc. 21:57:51 daef, of course this is pretty insane. But then what isn't :) 21:58:12 GHC statically links against all Haskell libraries and the Haskell runtime. 21:58:17 (note: not in 6.12. 21:58:17 ) 21:58:22 AnMaster: as long as it works - it's not insane - it's genious 21:58:24 pikhq: Ah well, bloat by any other name... 21:58:32 daef, well parts of it works, parts do not 21:58:33 (might also be true if something MIGHT work - once...) 21:58:38 yet 21:59:01 daef, http://sprunge.us/MUQO is the work-in-progress spec 21:59:11 Hackiiiiiiiiiiiiiki 21:59:27 I need a favicon for Hackiki 21:59:33 Gregor, hi there. Fix egobot and hackego 21:59:36 Gregor, both are down 21:59:36 :( 21:59:41 Dobleve te efe 22:00:10 that was an interesting reaction 22:00:20 -!- EgoBot has joined. 22:00:41 -!- HackEgo has joined. 22:00:58 ah 22:01:11 AnMaster: how should i imagine - two threads - asynchrounously- altering their codebase with p-commands 22:01:19 completely unpredictable result i smell 22:01:25 Anywho 22:01:29 Hackiiiiiiiiiiiiiki 22:01:31 I need a favicon for Hackiki 22:01:44 daef, with some medicine against headaches nearby perhaps? ;P 22:02:42 daef, seriously, it can work out, the fingerprint provides some ways to sync things. As long as the implementation does whatever is needed to keep the threads from corrupting internal data structures it is fine 22:03:05 after all, most parts apart from the books/mutex thingy works already 22:03:50 sounds interesting - i'll keep that spec open and read it tomorrow - after a friend of mine and i try to alter a huge videowall in my hometown :D 22:04:03 daef, huh? 22:04:05 i have to catch some sleep for tomorrow 22:04:07 mhm 22:04:13 have fun 22:04:22 heh I noticed I had forgot I wrote this: 22:04:25 nice place here - might come back to idle a bit :) 22:04:29 "The "extended ISBN numbers" mentioned may be any number in the range valid for 22:04:29 the Funge cells. For bignum funges this means the library is clearly Hilbert's 22:04:29 Library." 22:04:37 what an incredibly lame joke 22:05:00 worst part is of course that I wrote that myself 22:05:05 dave hilbert - the mathematician? 22:05:25 daef, yeah, by analogy to the "hilbert's hotel" 22:05:41 that is used to demonstrate what is meant with infinites 22:05:48 and infinites of various sizes 22:06:10 i never studied - so i've never HEARD about him - just remeber him from screwing around through the intertubes... 22:06:10 http://en.wikipedia.org/wiki/Hilbert%27s_paradox_of_the_Grand_Hotel 22:06:35 daef, well, without a decent amount of math that may not be quite as fun 22:06:54 define: a decent amount of math 22:08:15 one day I want to go to that hotel 22:08:58 MissPiggy: and ask everyone for a penny? 22:09:04 MissPiggy: you're in it! This planet and all its celestial bodies are room number 1. 22:09:11 Er, and all its artificial satellites. 22:09:12 MissPiggy, quite. Anyway that is a strange way to solve "Infinitely many coaches with infinitely many guests each" on wikipedia 22:09:19 The Moon is room number 2. 22:09:29 Room number 3 is still under construction. 22:09:53 I mean, it already exists, fully constructed. But we're not sure which one it is yet. 22:10:24 I thought what you did was arrange all the guests in a square on the (infinite) parking lot and then apply Cantor's zig-zag thingy 22:10:34 then load them all back into one coach 22:10:43 now it is reduced to a problem you already solved above 22:10:44 :) 22:10:45 That's an efficient way to do it. 22:10:57 What's Wikipedia's way? Powers of prime numbers? 22:11:06 uorygl, something like that 22:11:25 "then put the first coach's load in rooms 3n for n = 1, 2, 3, ..., the second coach's load in rooms 5n for n = 1, 2, ... and so on; for coach number i we use the rooms pn where p is the (i + 1)-th prime number." 22:11:35 uorygl, it also seems to suggest some other ways 22:11:53 "You can also solve the problem by looking at the license plate numbers on the coaches and the seat numbers for the passengers (if the seats are not numbered, number them). Regard the hotel as coach #0. Interleave the digits of the coach numbers and the seat numbers to get the room numbers for the guests. The guest in seat number 1729 moves to room 01070209 (i.e, room 1,070,209.) The passenger on seat 22:11:54 4935 of coach 198 goes to room 4199385 of the hotel." 22:12:01 That is a strange way of doing it, especially since it puts multiple guests in room 15. 22:12:04 which is a solution I haven't seem before 22:12:41 uorygl, how? 22:12:47 uorygl, oh that isn't 5n 22:12:51 that is copy failure 22:12:54 it is 5^n 22:12:54 Oh. 22:12:56 and 3^n 22:13:00 And p^n. 22:13:04 yes 22:13:10 blame firefox and/or xchat 22:13:27 I elect to blame you instead. But anyway. 22:13:39 That's a slightly less strange way of doing it. 22:13:41 uorygl, I reflect that blame so you take the whole of it 22:14:04 I also reflect the blame, so it forms a standing wave in the resonant cavity between us. 22:14:40 (That's what the dentist said!) 22:16:30 * daef sets mode +blame to the company with finite workers that wasn't able to finish the roof of the hotel in finite time :D 22:18:17 uorygl: oh no, you've constructed a blaser 22:20:05 * pikhq sets mode +blame to the punk who claimed this hotel was infinite. 22:20:13 * uorygl feeds energy into the resonant cavity. 22:20:22 There's a whole infinity less hotel than was claimed! 22:20:58 pikhq: heck, there's even a whole infinity _times_ less hotel than was claimed 22:21:23 So there is. 22:21:53 There's an entire logarithm... um... infinitely less amount. 22:22:03 uorygl: no there isn't! 22:22:06 cantor's theorem 22:22:20 Hmm. 22:22:34 "A _path_ in a playfield given by a position vector P and a velocity vector V is the set of cells of the playfield addressed by any vector which is the sum P and n * V, where n is any non-negative integer." 22:22:48 (today's Befunge-111 spec excerpt) 22:23:00 You know, the union of all countable ordinal numbers is uncountable, but there's a countable set that has all the countable ordinal numbers as subsets. 22:23:21 Well, let me rephrase that. 22:23:30 cpressey: You probably want "sum of" there 22:23:37 uorygl: um not if you use von Neumann representation, i think 22:24:04 The union of all countable ordinal numbers is countable, but there's a countable set such that for every countable ordinal number, that number is order isomorphic to a subset of that countable set. 22:24:13 Also, I think that's the first time I've ever heard Hilbert referred to as "Dave". 22:24:28 I like. 22:24:35 uorygl: right, like the rationals 22:24:45 Exactly. 22:24:58 there isn't a _well-ordered_ such set, though 22:24:59 Wait, how do I know that the rationals are such a set? 22:25:15 uorygl: because i said so, silly 22:25:28 Because every countable ordinal number is the limit of countably many ordinal numbers. 22:25:34 Whew. Disaster averted. 22:26:02 uorygl: um that's not the argument i know, and i don't see how that helps 22:26:35 Well, if you have a set of rational numbers, you can compress it into a set of rational numbers in the interval [0,1). 22:26:44 Deewiant: Yes. Thanks. 22:26:46 especially since, if it's a successor ordinal, you have to include itself in the limit 22:26:59 Well, if it's a successor ordinal, it's obvious. 22:27:05 Take the previous ordinal and stick one more on the end. 22:27:30 If it's a limit ordinal, map the first ordinal in the sequence into [0,1), the next into [0,2), the next into [0,3), and so on. 22:28:01 uorygl: the argument i know start with the obvious fact that if you have a countable ordinal, there is an actual _counting_ of it, i.e. a sequence containing all its elements. 22:28:32 Oh, so you can just take the enumeration and pick a rational number for each element. 22:28:33 uorygl: hm that might work 22:28:49 yep 22:29:57 uorygl: i am not _entirely_ convinced that your method works, you would need it to be a limit of an _increasing_ sequence of smaller ordinals 22:30:27 Well, if you have a non-increasing sequence, you can just toss out every element that isn't the highest one so far. 22:30:50 hm ... yeah 22:31:26 *starts 22:31:28 So. I am now a constructive proof that omega^omega can be embedded in the rationals. 22:32:11 uorygl: you need a constructive way to pick a counting, though 22:32:18 (which exists, of course) 22:32:31 You are now a constructive proof that omega^omega is countable. 22:32:50 ^^^^^^^^^^^^^^^^^^^ 22:32:54 Actually, you're an enumeration of omega^omega. 22:32:58 I am now confused by your anthropomorphism. 22:33:41 zygohistomorphic anthropomorphism? 22:34:00 well, omega^omega in cantor normal form consists of finite sums of things of the form omega^n * m, where n and m are both finite 22:34:03 Now I am an axolotl. 22:34:13 *elements in cantor normal form 22:36:44 hm, you can identify that with the natural numbers by using the products p_n ^ m 22:36:55 p_n = n'th prime number 22:37:06 q.e.d. 22:37:26 oerjan: you're an enumeration; you're supposed to start stating numbers. 22:37:26 *products of 22:37:34 o.k. 22:38:28 n should start at zero so we get omega^0, m should start at 1 22:39:27 Have you stated an ordinal number yet? 22:39:33 0, 1, omega, 2, omega^2, omega + 1, omega^3, 22:40:30 3, omega*2, omega^2 + 1, omega^4, omega + 2, 22:40:37 0 -> 0 22:40:38 1 -> 1 22:40:39 omega -> 2 22:40:43 2 -> 1/2 22:40:46 omega^2 -> 3 22:40:59 omega+1 -> 2 1/2 22:41:06 omega^3 -> 4 22:41:08 3 -> 2/3 22:41:18 omega*2 -> 2 2/3 22:41:32 omega^2 + 1 -> 3 1/2 22:41:35 omega^4 -> 5 22:41:46 omega + 2 -> 2 3/5 22:42:02 This could get tiring. 22:42:19 omega^5, omega^3 + 1, omega^2 + omega, 4, omega^6, 22:42:35 yes it could :D 22:42:51 I should come up with an actual mapping. 22:43:13 well my counting is clear enough, anyway 22:43:44 Okay, I'll describe the second half of the mapping first. 22:45:53 there is a way to choose based on continued fractions, which has the advantage (iirc) that if you always choose another number between any two, you get to use _all_ the rationals. of course that won't happen here, anyway. 22:46:49 basically whenever p1/q1 and p2/q2 are neighbors, the next between them is (p1+p2)/(q1+q2), iirc 22:46:50 Set a/d = 0/1, b/e = 1/2, and c/f = 1/1. If the list is empty, return b/e. Otherwise, remove the first element of the list. If it was "down", set a/d and b/e to b/e and (a+b)/(d+e), respectively. If it was "up", set b/e and c/f to (b+c)/(e+f) and b/e, respectively. Repeat. 22:48:02 come to think of it, i'm sure this (and the resulting tree) has been discussed on this channel before 22:49:10 Hey, you described my algorithm a second before I described mine. 22:49:45 "A _path_ in a playfield given by a position vector P and a velocity vector V is the set of cells of the playfield addressed by any vector which is the sum P and n * V, where n is any non-negative integer." 22:49:45 (today's Befunge-111 spec excerpt) 22:49:46 hm to get all rationals and not just (0,1), you'd want sort of -1/0 and 1/0 at the end, i thikn 22:49:46 huh? 22:49:47 On a scale from "lame" to "inhumanly terrible", how lame is http://hackiki.org/favicon.ico 22:49:49 *think 22:50:09 Gregor: lame. 22:50:25 If your scale also included "perfect", it would be that. 22:50:31 But I'm violating the rules just by saying so. 22:50:34 Gregor: i was hoping for something with an axe in it 22:50:47 ... with ... an axe? 22:50:52 oerjan: start at 0, and initially do nothing but add or subtract 1. 22:50:53 for hacking, of course 22:51:27 AnMaster: What "huh" 22:51:33 uorygl: yeah at the ends, it's just that adding and subtracting 1 is equivalent to using -1/0 and 1/0 as hypothetical neighbors, isn't it 22:52:02 Deewiant, I don't get what the point of that bit is 22:52:14 I mean, I understand what it means once adding the missing "P" 22:52:43 Missing "P"? 22:53:01 Anyway, he defines what a path is. There is no point beyond that in that excerpt. 22:53:16 Deewiant, missing of I meant 22:53:22 Deewiant, but what is a path? 22:53:26 and why do we need it 22:53:26 oerjan: oh, that's very true. 22:53:30 What he defined 22:53:36 Deewiant, why do we need it though 22:53:48 Why we need it, I don't know; presumably so that he can say things like "the next funge-space cell in the IP's path" 22:53:55 aha 22:54:07 Though the median-thingy of -1/0 and 1/0 is 0/0, not 0/1. 22:54:11 That probably makes sense. 22:54:32 oh hm 22:54:52 so you'll need to include 0/1 at the start, then 22:54:57 uorygl, what are you doing there dividing with zero!? 22:54:58 Those endpoints don't give you a defined starting point, but every rational number between them does give you a defined starting point. 22:55:03 without a limit 22:55:10 AnMaster: i suggested it 22:55:17 AnMaster: / doesn't mean division here! 22:55:20 oerjan, why and what does it actually mean 22:55:29 It means tuple. 22:55:53 AnMaster: a "formal" fraction, to start enumerating the rest of the rationals in any way you want 22:56:01 uh, don't you usually write that (x_1,x_2,...,x_n)? 22:56:09 what's a formal? 22:56:12 uorygl, ^ 22:56:13 what does formal meahn 22:56:21 Yes, but we're writing it x/y instead of (x,y). 22:56:24 MissPiggy, "not informal" 22:56:29 what does it mean 22:56:31 I'm guessing "formal" means "pretend" in this case. 22:56:34 MissPiggy: it has the form of a fraction, but not the meaning? 22:56:35 MissPiggy, "not not formal" 22:56:42 stop it anmaster 22:56:46 this is a serious question 22:56:50 har 22:56:52 There, that's what it means. Having the form of a fraction but not the meaning. 22:57:01 okay thank you 22:57:23 oerjan, are you doing cantor's zig-zag thingy? 22:58:01 AnMaster: no, this is a different way, which can be adapted to put _any_ countable ordered set into the rationals 22:58:10 oerjan, oh? 22:58:47 oerjan, what is this way called? 22:59:00 AnMaster: i'll try to find the wp article 22:59:12 that works too I guess 23:00:52 http://en.wikipedia.org/wiki/Stern%E2%80%93Brocot_tree i think 23:02:12 Construct a binary search tree out of the set. Map it onto its Stern-Brocot tree. 23:02:30 Just for kicks, I thought I'd write enough of a libc to support LostKng.c 23:02:31 oerjan, cantor's zig-zag is a lot easier to follow 23:02:47 AnMaster: for enumerating rationals, yes 23:03:34 oerjan, indeed 23:07:22 write down a rational, then interpret the resulting ASCII string as a base-256 numeral 23:07:28 fuck cantor 23:08:29 how crude :D 23:08:41 fuck cantor he was insane and a liar 23:08:45 set theory is false 23:09:11 I have disproved cantors "theorem" using magic sequences 23:09:36 explain 23:09:44 there are no sets. there is just a vast sea... of cantor trolls. 23:10:36 well some cranks, too. 23:11:00 they are indistinguishable by the fundamental quantum principle known as poe's law. 23:11:12 AnMaster: The concept 'path' comes up in the spec a couple of times and it needs an explanation (in wrapping, semicolons, and ' and s and k) 23:11:37 in fact several symmetries will interchange them, such as turning the sea upside down. 23:12:23 oerjan: Which Poe is that named after? Edgar Allen? 23:13:09 Billy Dodifur Poe 23:13:17 *Dodifer 23:13:38 cpressey: it is hard to determine that, because the law is metacircularly self-applying 23:15:53 ah there _is_ a poe's law named after edgar allan too 23:16:10 * pikhq can has LostKng in 92K. 23:16:17 (note: after UPX) 23:18:28 Hmm. Any idea how much memory LostKng actually needs? 23:18:31 write down a rational, then interpret the resulting ASCII string as a base-256 numeral fuck cantor how crude :D <-- wonderful 23:19:15 Of course, ASCII is overkill for that. You could write it down in binary, requiring only a 3-symbol alphabet. 23:19:37 -!- tombom_ has quit (Quit: Leaving). 23:19:41 pikhq, no. Try massif? 23:19:50 or unary 23:19:51 -!- scarf has quit (Remote host closed the connection). 23:19:55 two symbols - digit and separator 23:20:04 AnMaster: massif? 23:20:06 **/*** 23:20:09 Wassat? 23:20:10 fuck teh worlde? 23:20:12 pikhq, valgrind --tool=massif 23:20:27 AnMaster: LostKng. 23:20:38 I want to know how many *Brainfuck cells* it needs. 23:20:38 pikhq, yep. But if compiled to C 23:20:43 oh I see 23:20:49 pikhq, well, add a counter 23:20:50 And I don't want to play *every branch of the game*. 23:20:52 with a max value 23:20:56 ah okay 23:21:10 I still don't want to play *every branch of the game*. 23:21:27 pikhq, I have no idea how to figure out 23:21:39 * pikhq shall try to grep for whatever esotope uses for relative memory accessing 23:21:42 Need a BF abstract-interpreter 23:22:11 pikhq, eh? 23:22:25 AnMaster: I've got the C code from esotope-bfc here. 23:22:27 pikhq, it won't help past a unbalanced loop 23:22:35 pikhq, an* 23:22:37 I'm wondering if it even *uses* relative memory accessing. 23:22:50 If it doesn't, then I can just grep for the largest number used. 23:22:53 Yeah, I'm thinking, abs interp of BF is kind of hard for unbalanced loops 23:22:56 pikhq, it does 23:22:59 pretty sure it does 23:23:30 AnMaster: LostKng after optimisation of it through esotope? 23:23:45 I at least didn't *see* any. 23:23:56 pikhq, do you know what to look for? 23:24:04 pikhq, see how it works 23:24:06 at the top 23:24:16 iirc it uses a pointer p as "current" or such 23:24:28 that's what in-between does 23:24:47 so that gives a[2] = 2 23:24:50 as abs 23:24:50 and 23:24:56 p[3] = 2 as relative 23:25:07 Oh man. Deewiant: Does mycology test for y's ability to perform "pick"? I sure hope not. 23:25:18 cpressey: Yes, it does. 23:25:31 AnMaster: It uses "p" as a pointer to the array and does everything in terms of it. 23:25:34 cpressey, of course it does. And it's a useful feature 23:25:39 pikhq, there you are then 23:25:40 It doesn't rely on it though 23:25:53 pikhq, as soon as it move p you change the relativeness 23:26:03 So, I can look for actual modification of p. 23:26:16 pikhq, there will be a lot 23:26:31 Yup, it actually modifies p. 23:26:33 Well, then. 23:26:43 of course it does 23:26:44 No guarantees. 23:26:59 It doesn't have to. 23:27:18 There's only 645 modifications of p in the program. 23:27:19 Deewiant: Um, given that y can push a variable number of value onto the stack, ... how does it work??? 23:27:28 pikhq, similar for in-between iirc 23:27:34 around 700 or so I think there 23:27:43 cpressey: It uses 0y first to see how many values it pushes, and assumes that it doesn't change when you do another 0y. 23:27:58 Deewiant: Crikey! OK... 23:28:06 -!- MizardX- has joined. 23:28:18 Which is a reasonable assumption, although I suppose some OS might allow messing with a program environment variables behind its back 23:28:23 program's* 23:28:26 Deewiant, EVAR? 23:28:32 AnMaster: "behind its back" 23:28:34 Deewiant, I dread EVAR + ATHR + y 23:28:38 30,000 it is, then. 23:29:04 I suppose some interpreter might also modify its own environment variables randomly but... meh 23:29:30 Deewiant, oh and gdb to mess with the env vars 23:29:58 "1 cell containing the number of bytes per cell (global env). aka cell size. Typically 4, could also be 2, 8, really really large, infinity, etc." <-- Wow, an actual contradiction. 23:30:23 Or at least, a very undefined corner: 16-bit cells. 23:30:30 -!- MizardX has quit (Ping timeout: 260 seconds). 23:30:30 AnMaster: Yeah, I suppose you're right 23:30:35 -!- MizardX- has changed nick to MizardX. 23:30:48 cpressey, they are forbidden iirc 23:30:48 cpressey: Any size works decently well 23:30:56 oh wait, 2 23:30:57 hm 23:31:07 cpressey, well I suggest -1 there for "bignum" 23:31:14 since well, we don't have "infinity" 23:31:21 Mycology requires at least 10 bits though, since it's so big 23:31:21 I also like how "infinity" is mentioned, but not how to represnt it. 23:31:34 cpressey, there is no MAX_BIGNUM 23:31:35 If you have a floating-point Funge? 23:31:43 thus I suggest -1 for bignum 23:31:55 for floating point: I pitty those programmers 23:32:03 pity* 23:32:06 who have to code in it and who have to use it 23:32:12 Deewiant, with extra t 23:32:26 Mycology would probably run fine with a floating-point Funge 23:32:38 Deewiant, depends on precision 23:32:49 Yes, of course, a 1-bit wouldn't work. 23:32:54 Deewiant, also division would give strange results 23:33:20 Yes, it would 23:33:33 For certain values of "strange" 23:34:00 Deewiant, strange as in "mycology would probably bail out early on if division didn't produce expected results 23:34:03 " 23:34:10 Maybe 23:34:20 Can't remember if it tests floored division 23:34:22 Probably does 23:35:34 night 23:36:42 -!- MigoMipo has quit (Remote host closed the connection). 23:41:32 -!- MigoMipo has joined. 23:43:28 Hooray, ridiculously small LostKng. 23:52:37 Many (or some, anyway) bignum systems have a MAX_BIGNUM; for example, GMP's documented integer format on a 32-bit system can't be larger than something like 2^(32*2^31); and for a 64-bit system, typically it's actually still just 2^(64*2^31), which might even fit in the memory of a reasonable system; it's just 32 gigabytes. 23:52:57 It might not be very user-friendly to have y return a 32-gigabyte cell value, though. 23:53:17 16 gigabytes, I mean. 23:54:03 Why would a bignum have a maximum value? 23:54:34 Because of the implementation. GMP's is just a dynamic-length array of 32- or 64-bit "limbs", and the length field is a regular signed 32-bit int. 23:56:51 -!- MigoMipo has quit (Remote host closed the connection). 23:57:08 A number that takes 32 GB is a very big number :P 23:57:25 Gregor: Only 16 GB! I miscalculated there. 23:57:36 (One of the bits of the limb count is used as a sign bit.) 23:57:45 A number that takes 16 GB is a very big number :P 23:59:09 Well, unless you want to reserve the description "very big" for Graham's number and his friends.