00:00:13 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 00:04:50 -!- CakeProphet_ has changed nick to CakeProphet. 00:53:47 maybe logfuck doesn't need a dup 01:05:27 -!- pikhq has joined. 01:05:54 I'm devising a language based on the rhythm of sound. 01:06:23 where the rhythm is the data rather than the operation. 01:06:34 . . . 01:07:09 . . . 01:07:38 .. .. .. 01:07:45 . .. .. . 01:07:56 .-.-.-.-.--.--.--...--...-.-.-.-.-.-.-. 01:08:08 hmm.. 01:08:24 I could probably have an infinite memory... despite being a finite medium. 01:08:31 because rhythm is infinitely divisble. 01:09:15 It's a theoretically infinite medium, actually. 01:09:39 Unless your arbitrarily limit the music size? 01:10:05 I probably would... just to see if the inifitely-visibleness makes it infite. 01:10:05 * pikhq recommend something like opcodes encoded in the notes, initial data encoded via rythm 01:10:17 nah.. no notes 01:10:32 So just a drumbeat, then? 01:10:44 I'm going with a non-musical structure operating on the data. 01:10:49 rhythm only being the analogy for the data 01:10:57 That's no fun. 01:11:07 I want to be able to pay my code! 01:11:23 it's technically a finite strip of inifitely divisble data with regular segments of "sound" and "no sound"... a binary encoding that can be divided by any ratio. 01:11:35 (besides, at least with something like GNU Lilypad, there's a simple syntax for music encoding) 01:12:43 there will be maybe 3 sound-manipulation commands... and 3 or 4 pointer manipulation commands... 01:13:15 the pointer is basically three pointers... forming two segments... on which the sound-manipulation commands operate. 01:14:02 Make a rythmic output device, then. 01:14:12 with the control commands being proportional 01:14:14 Maybe tie into MIDI and make it play your data like a drumbeat. 01:14:16 >:D 01:14:18 yeah, that seems to be a thing to do. 01:14:40 (in addition to ASCII, maybe?) 01:14:57 so if you have -----|--|-------|------ 01:15:31 doing "zoom tuk" (tuk is the formal name for the segment formed between the middle and right pointers) 01:15:34 you would get... 01:15:51 something like -------|--|-----|------ 01:16:37 it's kinda like the golden ratio. 01:16:46 Heheh. 01:16:55 you take a part of the ratio... and make it the whole of the ration. 01:18:29 commands for operating on the data would be like... flip segments... 01:18:49 which gives you conditions... if both the flipped segments are the same type... nothing is changed. 01:19:03 otherwise... they swap type. 01:20:48 that could actually be consider the string-rewriting paradigm. 01:21:02 if ASCII is converted into the rhythm... and the entire program is merely operations on that string. 01:23:57 other ideas could be to use polythym to program. 01:24:14 you play two rhythms side by side... with the combinations being operations. 01:34:51 OH 01:34:58 how about a concurrent programming language. 01:35:05 with like... single character commands. 01:35:13 each thread is separate by two newlines. 01:35:34 and they're all interpreted at the same time (albeit, with a nanosecond so between them), and on different resources. 01:35:40 haha... threaded BF 02:08:22 wrote up a spec for it: http://esolangs.org/wiki/Weave :D 02:13:08 * SimonRC thinks there needs to be way to program a collection of processes instead of individual processes; you don't say "send to foo" in one and "receive from bar" in the other, but you specify a "copy from foo to bar". 02:13:12 * SimonRC realises there must be dozens of obscure academic papers on many ways of doing this. 02:13:15 * SimonRC goes to bed. 02:13:33 ...what? 02:21:02 * CakeProphet is organizing the esolang wiki's categories a bit. 02:21:06 they're kind of disgruntled. 03:02:23 owtf 03:02:30 why isn't AND a function in common lisp 03:02:32 stupid macros 03:03:26 I thought I could do (reduce #'and list) 03:03:35 it isn't? 03:03:48 I thought and was a valid function. 03:04:26 (funcall #'and 1 2) 03:04:34 > The function AND is undefined. 03:08:50 that's dumb 03:32:10 -!- pikhq has quit ("leaving"). 03:57:32 -!- bsmntbombdood has changed nick to bdsmbombdood. 04:13:53 -!- bdsmbombdood has changed nick to bsmntbombdood. 04:22:42 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)). 04:26:47 -!- CakeProphet has quit (Read error: 113 (No route to host)). 04:44:30 -!- wooby has quit ("BitchX: often imitated, never duplicated!"). 05:22:50 -!- Sgeo has quit ("Leaving"). 05:53:35 -!- MM2 has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:11:30 -!- oerjan has joined. 09:58:10 -!- oerjan has quit ("Destruction"). 11:13:36 bsmntbombdood: ISTR there is a FAND, which *is* a function. 11:14:15 anyway, AND takes as many arguments as you want, so I suspect it is not useful to reduce with it. 11:14:53 Discouraging the evaluation-control usage of macros is why Haskell has laziness, you know. 12:37:43 -!- MM2 has quit (Read error: 131 (Connection reset by peer)). 12:39:12 -!- MM2 has joined. 15:07:30 -!- tgwizard has joined. 17:11:01 -!- sebbu has joined. 18:14:57 -!- tgwizard has quit (Remote closed the connection). 18:29:37 * SimonRC goes to dinner. 19:35:04 bsmnt_bot is bored 19:35:19 !fuckyerself 19:35:59 make it say "* bsmntbot is bored" if idle for a day :) 19:36:04 oklopol: make logfuck better! 19:36:06 easy 19:36:08 :O 19:36:12 or come up with a better name 19:36:13 i meant the bored thing :) 19:36:24 name, better? 19:36:31 yeah 19:36:48 XXXfuck, where XXX is the shortest possible string related to the subject 19:37:05 naaah 19:37:11 is the naming convention for languages that have relations with bf 19:37:21 I don't want it to have fuck in it, so that I can tell normal people about it 19:38:08 logarythm would be nice if combined with CakeProphet's 19:38:10 :) 19:38:20 i'll try again 19:38:57 hmm 19:39:11 i only come up with stupid wordplays :) 19:39:43 how about just "logic"? 19:39:51 logic? 19:40:08 okay, bad then 19:40:11 hmm 19:41:57 make it better how? 19:42:07 what solution did you choose? 19:42:17 ? 19:42:26 for the dup/drp thing 19:43:03 didn't 19:43:08 I think that dup isn't needed 19:43:29 it is 19:43:41 as long as pooping in a [] is deffered to the ] 19:43:55 deffered? 19:44:48 i didn't understand that 19:45:47 delayed 19:46:00 ah deferred 19:46:05 still 19:46:06 and s/poop/pop/ 19:46:24 it starts making sence eventually .D 19:46:39 so, ] pops -> it works? 19:46:46 I think 19:46:57 k 19:46:57 dup 19:47:04 shuwwit! 19:47:30 you can't dup 19:47:40 ah sorry 19:47:54 hmm 19:47:58 i think you need to dup 19:48:06 I think you can do it without dup 19:48:54 do "get input -> subtract log(input) from input" 19:49:02 then i'm happy 19:50:50 hrm 19:51:18 i'm not saying it's impossible 19:51:20 but i am 19:53:14 I can't figure out how 19:54:33 you can only do a subtraction of two adjacent numbers on the stack, there is no way to transmit ANY information between two numbers, so it is impossible to get the two numbers input and log(input) on top of the stack 19:56:35 I think it's still turing complete 19:56:42 nah 19:57:12 a turing complete system must be able to turn a number x to (x-log(x)) 19:57:18 well 19:58:10 hmm, i think it's not turing complete if a number used in x calculations must be input x times 19:58:32 turing completeness doesn'thave to do with input/ouput 19:58:45 and i think if the example is impossible, other, more clear cases aren't either 19:58:59 well, okay 19:59:17 hmm 19:59:25 my example didn't work :) 19:59:27 argh 19:59:33 * bsmntbombdood adds dup 19:59:37 why is that? 19:59:49 it wasn't turing complete after all? 20:00:35 i dunno 20:00:35 :) 20:01:33 with that, if you want to, at any point of execution, subtract a from log(a), you will have to duplicate the whole program sofar 20:02:19 ,dg- 20:02:57 x-log(x) 20:02:59 :/ 20:03:01 i know 20:03:05 i'm not blind :) 20:03:21 11 commands :( 20:04:22 :( 20:04:41 i have to leave 20:04:46 bye 20:47:40 -!- oerjan has joined. 21:15:53 -!- anonfunc has joined. 21:21:42 -!- helios24 has joined. 21:44:21 made a new language today (1 fully) 21:44:30 brainfuck with floating point arithmetic 21:44:36 which has been my goal for long 21:44:55 how can that work? explain. 21:45:12 it adds a few constraints to programs 21:45:27 you have to have as many >'s as you have <'s in one level 21:45:30 or, [] 21:45:42 and input allowed only at "base" level 21:46:05 +++[------->+<]>: would print 3/7 21:46:08 whatever that is 21:46:51 That >< constraint implies you can only use a finite number of cells. 21:47:04 -!- sebbu2 has joined. 21:47:05 yes 21:47:30 i think it's turing complete, i don't care whether it is or not, tho, it's a nice toy 21:47:32 Same as named whiles in pikhq's BFM 21:48:08 You get a Minsky machine that way, which is Turing complete. 21:48:24 (Ignoring non-integer values) 21:48:42 ;>++++>++++++++[<<[>>>+>>+<<<<[<->>>>+<<<]>>>[-<<<+>>>]<<<<-]>>>>>[-<<<<<+>>>>>]<<[-<<+>>]<-]<: 21:48:48 calculates sqrt of input :) 21:49:25 the 8 in the beginning is the number of iterations, 4 is the initial guess 21:49:52 i'm not yet sure whether it is possible to make an interpreter without adding even more constraints 21:50:18 hm 21:50:24 i still don't get how that works 21:50:35 Only increment and decrement? Are you using differentiation implicitly? 21:50:39 (i think i can implement any math-related function even with the constraint a sub-[] can't change a parent-[]'s data) 21:50:43 yes 21:50:44 :) 21:50:51 Curiously I had the exact same idea today! 21:50:53 i'm quite sure that's not turing-complete actually 21:50:55 difference is the name of the language 21:50:57 really :D 21:50:59 cool 21:51:20 Probably caused by the logfuck discussion 21:51:53 lament, i think it is, and i'd add all bf features if they'd make algorithmic sence like <'s and >'s being predictable 21:52:27 i mean, mathematically pretty hard to say how the differentiation works if there are for example inputs in a [] :) 21:53:08 i just don't understand what the semantics of - are 21:53:10 oerjan, i've thought about that some time ago, but heard about differential just a few months ago... and maybe the logfuck discussion too 21:53:20 lament, it decreases one 21:53:30 one 1/inf 21:53:38 You might want to look at non-standard analysis. 21:53:43 one 1/inf. 21:54:38 well, if you put [->++<] in brainfuck, you are multiplying a number. if you put [-->+<] then you either divide a number or do something unpredictable 21:54:50 so ++[->[->++<]] is exponentiation? 21:54:51 using differentials that makes sence too 21:55:13 err not like that 21:55:15 that does what it does in bf 21:55:20 ++[->++[->++<]] 21:55:31 0,0,8 21:55:36 is the memory 21:55:49 if you add a < 21:55:58 hm. 21:55:59 i presumed you meant that 21:56:21 interesting 21:56:26 lament, most simple bf programs would work still... 21:56:36 [] is what does the funny stuff 21:56:43 still not sure if it's gonna be well-defined 21:57:03 It may be well-defined though not necessarily computable. 21:57:05 should a number go over / under zero during a loop, it is retried with a smaller increase 21:57:22 it is possible to interpret if i add constraints 21:57:49 BUT, these constrains are already used in many mathematical functions done with bf 21:58:04 you rarely depend on overflow 21:58:19 and in math you rarely have to iterate through memory 21:58:27 so you define [expr] as lim n->0 of evaluating [expr] in a language where - and + mean subtract and add n 21:58:33 right? 21:59:02 yes 21:59:33 possibly you could do that to the entire program and don't need the matching > and < restriction 22:00:14 nah 22:00:33 hmm 22:00:44 i'll try and find an example why it wouldn't work 22:00:44 There are some subtleties with that definition, since some values of n cause loops not to hit 0. 22:01:04 we define [] as checknig for when the index goes below 0 22:01:23 actually no, we define - as having bounds-checking 22:01:38 that makes more sense since i assume you want to keep all numbers positive? 22:01:42 nah 22:01:44 i don't 22:01:44 oh 22:01:55 that does make it more difficult :) 22:02:27 There may be cases where wrapping around at infinity works nicely. 22:02:28 you are missing the fact that inner []'s can move the pointer too, they are theoretically done infinity times 22:02:37 which is no problem with my constraint 22:02:38 oerjan: doubtful 22:02:51 Not at all doubtful. 22:03:12 oerjan: not well-defined 22:03:21 oklopol: that's fine, it's just a limit 22:03:30 (if it IS just a limit, which it doesn't seem to be) 22:03:33 It is well-defined if the limit is defined 22:04:38 (at infinity) 22:04:48 >+++++>++++>++++<<[-[>]<-[<]>] for example would be undefined 22:05:01 nah, maybe not 22:05:25 ah 22:05:30 it makes sence actually 22:05:55 it's the same as in BF 22:05:59 -!- sebbu has quit (Read error: 110 (Connection timed out)). 22:06:14 weird stuff. 22:06:32 all i added to bf was this differentials thing, ; and :, you can figure what they are 22:07:15 i actually thought making () a separate differentiation loop where constraints lie 22:07:18 Oh, I thought they were just decoration :) 22:07:25 and [] normal 22:07:27 no, addition 22:07:34 ,.;: 22:07:34 io 22:08:09 that's pretty logical notation for floating point IO 22:08:18 yes 22:08:27 obvious, tho 22:08:35 almost like Ocaml 22:08:47 fuck you with your names i don't know :((((( 22:08:51 wuzzit? 22:09:31 Ocaml is a functional language with object extensions. ML dialect. 22:10:17 okay 22:10:21 The point of my comment is that Ocaml uses +. etc. to mean floating point addition etc. 22:10:23 ; and : are like it? :D 22:10:31 ooo 22:10:45 Because it doesn't have arithmetic overloading. 22:10:48 yeah 22:10:53 guttit 22:11:51 but, i don't care whether it's touring complete, i can easily translate a calculation on it 22:12:01 oklopol: Gut tit? 22:12:08 yeah 22:12:09 sure 22:12:18 I don't even want to think about what that's supposed to mean O_O 22:12:24 got it 22:12:36 -!- Sgeo has joined. 22:13:20 now... now.... ()? 22:13:24 needed? is? 22:14:15 You can emulate ordinary [] I think 22:14:29 hmmmmmm 22:14:39 Or rather, ordinary +- 22:14:57 i don't know if the implicity will work everywhere 22:15:04 By having a cell with a fixed value. 22:15:16 yeah, i thought of that 22:16:30 1 could assign a 1 in the current cell, that was one thing i thought... another were ^ and v, ^ would convert a differential into it's counterpart number, v the other way xD 22:16:42 counterpart number... 22:17:36 I don't think any of those are strictly needed though. 22:18:56 maybe not, i just think the fact that (3 here)[->[SMTH]<] will execute SMTH infinity times will in some cases make it hard for the interpreter to know what to do, actually 22:18:56 If you keep one cell with a known value you can convert everything with a little copying. 22:19:07 yes, true 22:19:44 but i liked the idea of using only one kind of numbers 22:19:57 everything being used as a differential when needed 22:20:10 but that requires the <>-limit i'm afraid 22:20:18 Well no matter what you do some limits will fail to exist 22:20:33 liek? 22:21:18 [>+<] 22:21:39 mem: 0 INF 22:22:07 0 on this level, 1 on the other, infinity steps done -> 0 INF 22:22:15 not 0 22:22:18 but what there was 22:22:37 You will get inconsistencies. 22:23:21 +[>+<] (1 INF) >[->+++++<] (INF 0) 22:23:26 i can't see them 22:23:51 What happens with [>+<]>+<[>-<] 22:23:58 i'm just running the algorithm in my head, crash it and i see the inconsistencies 22:24:09 nothing 22:24:13 0 1 22:24:17 if there is stuff tho 22:24:22 in the beginning 22:24:23 then 22:24:53 [>+<] (0 INF) >+< (0 INF) [>-<] (0 0) 22:25:23 replace 0 with your var 22:25:33 that's what it'd've done 22:25:45 you can, indeed, call that an inconsistency :) 22:26:02 but, it could be made crash 22:26:15 or infinite loop 22:27:02 I was working on brainfuck -> logfuck conversions in math today 22:27:16 did it work? 22:27:23 dunno 22:27:37 well, i got conversions for everything, but i haven't tested them 22:27:41 I'll type em up 22:27:43 ya 22:29:07 http://pastebin.ca/321969 22:30:20 , 22:30:40 ah 22:30:57 because , replaces the top 22:31:00 sorry, i'm once again mixing the new standard with the old one :) 22:32:03 don't think > and < are correct tho 22:32:10 look good? 22:32:11 well, actualyl 22:32:13 yeah 22:32:22 they are the same, yeah 22:32:36 oh 22:33:05 yeah 22:33:07 xD 22:33:25 i had to think it over a few times 22:33:44 well, if you have an interpreter for the latest standard, try em 22:33:51 I will 22:34:51 i'm pretty sure a quine qouldn't work! 22:38:34 what's some brainfuck to test? 22:38:54 eh 22:39:01 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-. 22:39:15 ...that won't be a good test 22:39:28 ++++++++[->++++++++<]>.? 22:39:36 ++++++++[->++++++++<]>+. 22:39:41 i'll just do hello world 22:39:44 that would be a test 22:39:47 yeah 22:39:48 same thing 22:40:01 1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--[<1g1--1g1--1g1--1g1--1g1--1g1--1g1--<1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--<1g1--1g1--1g1--<1g1-->>>>1-d]<1g1--1g1--d.<1g1--d.1g1--1g1--1g1--1g1--1g1--1g1--1g1--d.d.1g1--1g1--1g1--d.<1g1--1g1--d.>>1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--1g1--d. is the code I get 22:40:17 runnit 22:40:36 shit 22:40:41 :D 22:40:50 it prints ":QXX[I[^X" 22:40:53 ++++++++[->++++++++<]>+. 22:40:55 try that 22:41:22 1 22:41:27 ? 22:41:34 it prints "1" 22:41:38 i know your problem 22:41:45 your's prints numbers? btw 22:41:59 no, it prints ascii 22:42:19 if a cell is empty, bf assumes it 0 22:42:26 mine does too 22:42:26 yours doesn't have it 22:42:28 oh 22:42:57 i thought a - would use the underlying number if there was one and only making a new one when the stack is empty 22:43:08 *make 22:44:32 [<1g1-- this here will use the number in the last cell, right? 22:44:46 huh? 22:44:55 hey 22:44:56 yeah 22:44:59 it would 22:45:00 not 22:45:46 +[->+<]>. 22:45:48 try that 22:46:31 What's it supposed to do? 22:46:35 print a 1 22:46:40 nope 22:46:44 it hangs forever 22:46:45 put numeric io on 22:46:48 a-ha 22:46:52 show the code 22:47:09 1g1--[1-<1g1-->d] it's non-wrapping 22:48:14 it should work imo 22:48:21 no 22:48:29 yes 22:49:22 hmm 22:49:23 okay 22:49:34 what does < do if the rightmost stack is empty? 22:49:38 0 22:49:43 good 22:51:19 argh 22:51:20 bug 22:51:24 1g1-- (put one on stack) [1- (subtract one... at zero now) < (push a zero, stack now [0 0]) 1g1-- (add one, stack now [0 1]) > (stacks: 1:[0] 2:[1]) d ([0, 0] [1], so end loop sith [0] [1]) ] < (stack now [0 1]) d. (print topmost... 1) 22:51:34 point me where it goes wrong 22:51:40 bug in interpreter 22:51:40 ....and win a cookie! 22:51:44 i knwo 22:52:25 more like, i knew it! 22:53:42 if not secondary: 22:53:43 secondary.append(0.) 22:53:43 primary.append(secondary.pop()) 22:53:49 the bug was the no else? 22:53:56 no 22:53:58 okay 22:54:03 in the '-' code 22:54:31 yeah 22:54:40 i should've read that :) 22:54:51 I need to write a stack object 22:54:53 pop returns none and you can append that? 22:54:56 you don't 22:55:18 you could, but since that is already done, no use 22:55:26 that as in that interpreter 22:55:47 the function is easily fixed 22:56:09 well yeah, stack might be easier 22:57:36 class stack: 22:57:36 def __init__(self): 22:57:36 id=[] 22:57:36 def push(a): 22:57:36 id.append(a) 22:57:37 def pop(a): 22:57:39 if id: 22:57:41 return id.pop() 22:57:43 else: 22:57:45 return 0 22:57:56 27 seconds 22:58:11 i'm getting godd it seems 22:58:12 :\ 22:58:21 ah 22:58:24 min 27 secs 22:58:33 then it makes more sence :) 22:59:07 since i had a moment of thought on [] or recursion but then remembered [] is a list :D 23:01:05 yes! 23:01:08 it works! 23:01:32 :D 23:01:43 the progz? 23:01:51 hello world 23:01:55 good 23:02:56 for a brainfuck interpreter, a hello world usually find all bugs 23:03:23 I hope so 23:03:50 well, now it's brainfuck with multiplication and addition :) 23:04:02 actually all basic arithmetic 23:04:02 yep 23:04:14 more complex math is loads easier too 23:04:20 i can do sqrt 23:04:26 3 extra instructions though :( 23:04:27 if you can wait 23:04:30 yeah :( 23:05:15 sqrt is >1 11g1-- >gg1g<-- p p 23:05:38 or >1 TWO DIV ah you can just simulate it with logs 23:07:04 what do you mean, simulate it? 23:07:10 There's no simulation 23:07:13 i mean, calculate :) 23:07:18 yeah 23:07:22 great, eh? 23:07:54 it's pretty cool 23:08:07 i needed your macros to see it tho :( 23:12:49 I need my macros to write it 23:14:11 yeah, but i'm very sensitive about my human weaknesses 23:14:31 the 1 is the input tho? 23:14:40 no 23:14:45 the 1 is to get .5 23:14:52 yeah 23:14:57 goddamned 23:15:45 i misunderstood it a little 23:16:33 since i just glanced at it and realized base^(log(a)*log(b))=a^b 23:17:57 i should have someone here whack me in the head if i start just staring at the screen idle :) 23:19:25 haha awesome 23:19:44 I came up with an algorithm to generate an arbitrary number on the stack 23:20:08 http://pastebin.ca/322010 23:21:46 works for floating point too 23:22:26 nice 23:24:23 now it's the output is smaller: http://pastebin.ca/322014 23:24:50 okay, now i figured it 23:24:58 i'm slow :\ 23:25:35 figured what? 23:25:56 i mean, took me 5 minutes to get the function fully :\ 23:26:09 the gen_number function? 23:26:12 yeah 23:28:05 I'm not sure how it works with floating point numbers 23:29:13 It does though 23:31:45 Might be able to make it more efficient by using multilication too 23:31:48 -!- jix__ has joined. 23:33:11 hmm 23:33:23 log(the float) returns a negative number 23:33:27 which can be created 23:33:36 and... it is normally added and exp'd 23:34:15 hmm 23:36:23 well, I think that's a very elegant algorithm 23:36:54 yes, have nothing to add :\ 23:36:59 perfect. 23:37:01 :D 23:38:26 as long as the numbers are of finite length in the base system, that is fast 23:38:50 if you'd've used 3-base in your language, that would cause infinite loops 23:38:59 ? 23:39:42 because number-base**int(log(number)) would never be zero 23:40:02 since there would be an infinite series of numbers as the decimal tail 23:42:09 ah ha! 23:42:15 I made it more effiecient 23:42:21 show! 23:42:35 s/math.floor/round/ 23:42:53 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 23:43:01 that's not an algorithmical improvement :) 23:43:04 is what I did 23:43:15 *-al 23:43:23 well, it makes numbers like 2**16-1 a lot shorter 23:43:34 ah 23:43:39 it is, true 23:43:52 not much tho 23:43:59 yes much 23:44:32 not much, 2**16*0.75 would be almost as inefficient then 23:45:01 before: 336 chars, after: 24 23:45:17 okay :) 23:45:32 2**16*0.75 is 34 chars 23:45:44 and used to be? 23:45:52 one sec 23:46:03 actually 23:46:10 should be about the same 23:46:12 i think 23:46:24 used to be 69 chars 23:46:45 well, nice improvement then :D 23:47:15 whoa 23:47:31 .1 is 1435 chars 23:47:41 well, given 23:48:08 I think I have an idea 23:48:09 it's 2-base presentation is more than 30 bits 23:49:18 How do we convert a floating point number into a fraction? 23:50:52 hmm 23:50:57 you mean 23:50:58 like 23:51:36 wtf i can't find the word :\ 23:51:41 I want f(.2) => (1,5) 23:51:50 oh 23:52:04 ei 1/5 == .2 23:52:27 (floor(number), 1/(number-floor(number))) 23:52:39 ? 23:52:54 nope 23:53:18 then what do you mean? :D 23:53:50 the gives (0.0, 5.0) for .2 23:54:10 yeah, i don't know what you meant by (1,5) :) 23:57:16 yes!! 23:57:29 .1 is now 31 chars! 23:57:38 what did you do? 23:58:12 -!- CakeProphet has joined. 23:58:29 http://pastebin.ca/322047 23:59:10 erm, crap 23:59:12 buggy 23:59:43 yeah, doesn't work for numbers > 1