00:00:10 * CakeProphet peers at ihope. 00:00:15 You know what's fun. 00:00:32 Freezing up your interpreter by making it do a lot of shit over and over. 00:00:40 :P 00:01:22 ihope, So... how would you recommend doing 30000 0's without blowing something up? 00:03:44 Okay. . . I've got myself a Brainfuck frontend to the "interfuck" language. 00:05:42 CakeProphet: not allocating them all at once? 00:05:56 ihope, ??? 00:06:22 Um... 00:06:28 You could use generators. 00:06:41 * CakeProphet figures out how to use these mythical generators. 00:07:09 Generators can do ANYTHING! 00:08:29 Python's documentation on generators confuses me.. 00:25:14 * pikhq works on a Doublefuck frontend. . . 00:36:58 Hmm. . . 00:37:58 I remeber that there was an isomorphism between Doublefuck and Brainfuck, but I can't remember what it is.l 00:50:05 Hrm. 00:50:43 Perhaps I'd be best off defining the intermediate language in such a way that multiple arrays can easily be added. 00:59:13 Hrm. 00:59:40 ihope: Ideas for compiling Doublefuck into the intermediate language? 01:01:22 CakeProphet: nested arrays work just fine. 01:01:48 (in Python) 01:02:03 * pikhq should probably lay off of this for a bit 01:02:21 a = [] 01:02:23 a.append(a) 01:03:04 -!- ihope has quit (sterling.freenode.net irc.freenode.net). 01:03:05 -!- sp3tt has quit (sterling.freenode.net irc.freenode.net). 01:03:05 -!- mtve has quit (sterling.freenode.net irc.freenode.net). 01:03:05 -!- SimonRC has quit (sterling.freenode.net irc.freenode.net). 01:03:05 -!- tokigun has quit (sterling.freenode.net irc.freenode.net). 01:03:06 -!- lindi- has quit (sterling.freenode.net irc.freenode.net). 01:03:06 -!- Anders has quit (sterling.freenode.net irc.freenode.net). 01:03:07 -!- EgoBot has quit (sterling.freenode.net irc.freenode.net). 01:03:07 -!- lament has quit (sterling.freenode.net irc.freenode.net). 01:03:09 -!- sekhmet has quit (sterling.freenode.net irc.freenode.net). 01:03:09 -!- CXI has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- ivan` has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- puzzlet has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- Sgeo has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- RodgerTheGreat has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- jix has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- pgimeno has quit (sterling.freenode.net irc.freenode.net). 01:03:10 -!- bsmntbombdood has quit (sterling.freenode.net irc.freenode.net). 01:03:12 -!- Razor-X has quit (sterling.freenode.net irc.freenode.net). 01:03:12 -!- GregorR has quit (sterling.freenode.net irc.freenode.net). 01:03:12 -!- lindi- has joined. 01:03:24 -!- Anders has joined. 01:03:55 -!- EgoBot has joined. 01:04:49 -!- jix has joined. 01:07:43 -!- pgimeno has joined. 01:07:56 -!- bsmntbombdood has joined. 01:08:05 -!- lament has joined. 01:08:08 -!- GregorR has joined. 01:08:12 -!- Sgeo has joined. 01:10:43 -!- RodgerTheGreat has joined. 01:12:55 -!- Razor-X has joined. 01:12:57 -!- mtve has joined. 01:13:05 -!- tokigun has joined. 01:13:06 -!- CXI has joined. 01:13:21 -!- sp3tt has joined. 01:13:30 -!- ivan` has joined. 01:19:39 Mmkay. . . 01:19:55 Shouldn't be hard to get this thing to target Brainfuck. . . 01:20:28 Unless I want to add some more features to my intermediate language, enabling it to handle stuff like pbrain and Brainfork, that is. . . 01:25:53 -!- sekhmet has joined. 01:27:27 -!- puzzlet has joined. 01:30:12 -!- SimonRC has joined. 02:13:59 Ah. Back. 02:14:17 Let's see if I can build my parser in 10 minutes or less. 02:18:46 ARE YOU DONE YET 02:18:54 IF YOU SAY NO YOU'RE SLOOOOOOOOOOW 02:19:13 GregorR: What do you think of my insane idea? 02:19:55 I haven't been reading the log. 02:19:57 Just appeared. 02:20:24 Oh. 02:20:29 Read. 02:21:58 Gah. People keep interrupting me! 02:22:07 Razor-X: Don't watch IRC. 02:22:21 pikhq: No I mean, my parents actually have things for me to do :P. 02:22:26 Oh. 02:22:29 :'( 02:23:38 Well, the parser 'aint gettin' done. Seems ah gots me an error here. 02:37:58 That's "ain't" 02:38:10 I was wondering why you were putting "aint gettin" in qutoes ... 02:41:42 What does the ain't contraction expand to? 03:03:33 -!- jix__ has joined. 03:12:05 -!- jix has quit (Read error: 60 (Operation timed out)). 03:43:05 -!- Arrogant has joined. 03:47:30 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 03:56:47 -!- Arrogant has quit ("Leaving"). 04:04:42 -!- CXII has joined. 04:12:14 -!- bsmntbombdood has quit. 04:13:14 -!- CakeProphet has quit (No route to host). 04:14:10 -!- sexteddy has joined. 04:14:30 -!- sexteddy has left (?). 04:14:57 -!- bsmntbombdood has joined. 04:15:38 -!- sexteddy has joined. 04:15:44 -!- sexteddy has left (?). 04:22:30 -!- CXI has quit (Connection timed out). 04:52:10 -!- Arrogant has joined. 05:27:07 Byeall 05:27:21 -!- Sgeo has quit ("Ex-Chat"). 07:04:18 Wow. This interpreter is turning out a lot longer than I expected it to be. 07:29:00 YOU LOSE 07:29:03 I mean hi. 07:30:11 Wow, there was very briefly a sexteddy in here X-D 07:31:07 Oh, and the "ain't" contraction expands to "is not" for no particular reason. 07:31:49 That sounds just like English. 07:32:04 Why did the name change from Inglish to English? There's no particular reason. 07:32:11 ain't can turn into anything you want it to 07:32:24 Why is it Britain and not Briton even though the latter is more phonetically correct? There's no particular reason. 07:33:41 From now on, I'm using "ai" as an alternative to "is". Pronounced as sort of a nasal "aaah" sound :-P 07:33:58 This ai fun? 07:34:08 For no particular reason? 07:34:12 Yup :P 07:34:40 That's the English spirit! 07:34:59 IN FACT! 07:35:04 It'a 07:35:08 It'a good. 07:35:17 Contraction of "it ai" :-P 07:36:14 Yay! 07:36:21 Now time to graft attitudnals onto the language. 07:36:32 How 'bout it. Why don't we add in an attitudnals library onto English? 07:36:54 Wouldn't that be "It'i good."? 07:36:54 import("additudnals.lang"); 07:37:04 Since it's normally "it's", not "it'i". 07:37:18 fizzie: It's that way for no particular reason. 07:37:25 Haven't you caught onto English logic just yet? 07:37:27 Oh, right. 07:38:15 I suddenly lost motivation for my BF interpreter even though I'm only a few lines away from the finish. 07:38:38 Now it'll probably stay unfinished forever as I go onto the real project I had meant to start, but used the BF interpreter for practice. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:06:09 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 08:39:34 -!- puzzlet has joined. 08:54:11 -!- CXII has quit (Read error: 110 (Connection timed out)). 09:45:46 -!- Arrogant has quit ("Leaving"). 12:18:31 -!- GreyKnight has joined. 13:04:59 GregorR: You do know that "ain't" is a pointless slang usage that makes you sound somewhat uneducated, right? 13:33:33 -!- GreyKnight_ has joined. 13:34:09 -!- GreyKnight has quit (Nick collision from services.). 13:34:11 -!- GreyKnight_ has changed nick to GreyKnight. 13:34:23 Whoops 13:34:26 cablo 13:36:36 -!- jix has joined. 13:40:02 -!- CXI has joined. 13:54:05 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- IRC with a difference"). 13:56:35 -!- GreyKnight has quit (Read error: 110 (Connection timed out)). 13:59:36 -!- GreyKnight_ has joined. 13:59:37 -!- GreyKnight_ has changed nick to GreyKnight. 14:00:10 * GreyKnight doesn't know 15:24:11 -!- CXI has quit ("If you're reading this, it's probably xchat's fault."). 15:46:00 -!- tgwizard has joined. 15:54:07 -!- Razor-X has quit ("ERC Version 5.1 (CVS) $Revision: 1.796 $ (IRC client for Emacs)"). 15:54:36 -!- Razor-X has joined. 16:10:25 -!- GregorR-W has joined. 16:12:19 pikhq: Yes, but that doesn't mean that there isn't a correct usage. 16:12:40 And, for that matter, "y'all" has the same connotation but is far more valuable of a linguistic construct. 16:28:23 -!- CXI has joined. 17:09:57 -!- kipple_ has joined. 17:33:55 GregorR: But the distinction between "thou" and "you" is proper English (if a bit archaic). ;) 17:42:09 "Proper English" is a relative term - English has no overseer. 17:42:13 (Thankfully) 17:45:03 It could be worse. "Proper English" could be defined by, say, the 1337-5p34k3|2'5 standards body. :p 17:45:48 * pikhq much prefers a mild level of anarchy over. . . That. *shudder* 17:46:19 X_X 17:46:28 http://www.aeforge.com/aeforum/showpost.php?p=46488 17:46:35 ^--- relevant short story 17:46:58 Caution: extremely scary 17:48:11 -!- _jol_ has joined. 17:58:51 I didn't read that, but saw a bit of it. 17:58:56 Now I want to gouge my eyes out. 17:59:25 A terrifying dystopian vision of the future 18:18:08 * GregorR-W twiddles his thumbs. 18:18:45 idea: a language based on the idea of thumb-twiddling 18:21:03 Thumb twiddling can be done in either direction, therefore it has at least one bit, therefore NetBSD should boot on it. 18:23:22 heh 18:24:21 You have two thumbs, which can be either stationary, twiddling clockwise, or twiddling anticlockwise 18:26:07 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)). 18:26:20 It's difficult/impossible to twiddle your thumbs in opposite directions in proper "twiddling position" 18:29:57 -!- Blahbot has joined. 18:29:57 -!- Blahbot has quit (Client Quit). 18:30:10 Hey-o and goodbye Blahbot. 18:31:09 -!- _jol_ has quit ("leaving"). 18:41:46 -!- pgimeno has joined. 18:54:01 -!- lament_ has joined. 18:58:12 -!- lament has quit (Nick collision from services.). 18:59:17 -!- lament_ has changed nick to lament. 19:02:44 * pikhq really needs to extend his "interfuck" thing. . . 19:03:41 ._. 19:03:43 ? 19:09:50 It's the intermediate language for my Brainfuck compiler. 19:10:15 interfuck. 19:10:22 That's what I'm calling it. 19:29:15 * pikhq is going to plan out additional features and such for this. . . 19:32:24 ARRRRGH 19:32:26 DAMN YOU ECCO 19:32:31 My almost-complete interpreter just used a parser to parse BF into Scheme code, and then executed the Scheme code. 19:32:32 DAMN YOU TO THE FIREY PITS OF FALSE ADVERTIZING 19:32:49 Razor-X: I'm going all-out on this. :) 19:32:54 Gregor, it's ``ADVERTISING''. 19:33:04 Razor-X: I DON'T CARE I'M MAD :< 19:33:11 Oh. 19:33:49 Now I have to try to bring a pair of shoes back after about five weeks again X_X 19:33:56 Five weeks of not wearing it, mind you. 19:33:58 But still. 19:34:57 I'm writing an IRC bot instead. The old Haskell one needed some tune-ups. 19:35:43 Blahbot? :-P 19:35:44 Hell, if I do this well enough, I might be able to get some support for things like 1337. . . 19:35:55 Yes! Blahbot! 19:36:08 At this point, it negotiates the connection and promptly quits. 19:36:21 Ah 19:36:25 That explains a lot :-) 19:36:58 Well, school starts tomorrow, so today I won't have much time to code the bot, so I probably won't get to the code to keep it from timing out until later tonight. 19:37:44 * pikhq ends up having a lot of free time during school. . . 19:37:47 But I'm finding that I actually coded the internals of my Haskell bot pretty well. 19:37:58 Hell; I'm in IRC during class right now. 19:38:08 I don't have any computer classes this year. 19:38:12 Aaaw. 19:38:15 I don't have time in my schedule -- at all. 19:38:23 :/ 19:38:32 I don't have time. I'm light-like. 19:38:33 4 AP classes and one normal class. I don't even have the Arts and P.E. classes I need to graduate done yet. 19:38:40 * pikhq is leaving for lunch in $very_soon 19:38:47 Razor-X: you're in *high school*? 19:38:53 lament: Yeah. 19:38:55 Razor-X: and you think you *don't have time*? 19:38:58 ha. ha. 19:39:06 I don't have time, *in school*. 19:39:12 lament laughs in your FACE 19:39:17 HA HA! 19:39:21 Boo hoo :(. 20:56:29 -!- CakeProphet has joined. 20:57:25 * GreyKnight asks CakeProphet if there's any cake coming his way in the near future. 21:15:38 Meh 21:24:41 -!- lindi- has quit (Read error: 60 (Operation timed out)). 21:24:52 ;_; 21:26:30 -!- anonfunc has joined. 21:38:31 hmmm... 22:00:27 Hmmm... I got to thinking... that = and != are really just the same thing. 22:00:38 It's different kinds of equality. ^_^ 22:01:02 Yeah, one of them being not-equality ... 22:01:08 So for some hypothetical language... I think it would be neato to have multiple equality types... not sure why that'd be useful... but it sounds fun. 22:01:19 != == #= $= 22:01:23 Huh? 22:01:37 EgoBot isn't on board :-P 22:04:44 So, what would #= and $= do? 22:04:51 I'm going really bizzare with this one... unusual control flow statements, an entirely different system of mathematical operations (different than the usual + - / * ) 22:05:07 INTERCAL select and mingle? :-) 22:05:24 Dunno intercal. 22:05:33 It has strange bitwise operators 22:06:42 Anyway, from a mathematician's point of view, you could have something along those lines for the operations 22:07:01 It'd require some checking to make sure you can still "do" everything with them, though 22:07:37 I'm not sure about the otherequalities... some sort of abstract relation 22:07:39 -!- CakeProphet has quit (Nick collision from services.). 22:07:55 -!- CakeProphet has joined. 22:08:10 :-o 22:08:25 Hmm... anyone get those last two things I said? 22:08:26 You have my messages gemisseded? 22:08:35 Last I heard from you was "Dunno intercal." 22:08:51 -!- lindi- has joined. 22:08:54 Then I waffled about some abstract mathematical ideas for you 22:09:28 I was thinking of a "sarcasm" statement... which checks to see if something is undefined... and returns True (or some other type of bool) 22:09:33 False if defined. 22:10:09 http://en.wikipedia.org/wiki/Relation_%28mathematics%29 22:10:17 http://en.wikipedia.org/wiki/Field_%28mathematics%29 22:10:50 These two cover abstract relations (==, !=, <, >, ...) and operations (+, -, /, *, ...), which might be relevant 22:13:49 * CakeProphet wants to make multiple equality/assignment types... and then a "not equal" for each type.. and then in addition the ability to check the equality of different assignments using the different equality types. 22:13:56 Eh... complicated... I'm not even sure myself how it works. 22:14:26 well, you could certainly pull it off... 22:14:52 In fact, there are essentially an infinite number of ways to do it; hard part is picking one 22:15:38 I suppose the more complex the better, here :-) 22:15:56 You should represent numbers in base-pi notation while you're at it :-D 22:16:06 >.> 22:16:10 I don't like math. 22:16:15 I just like comfusion. 22:16:19 :D 22:17:06 But this would make your language the first one capable of representing pi exactly 22:17:15 "pi = 10" 22:17:44 So, a simple but confusing approach? 22:17:55 Intuitively complicated? 22:18:25 Something that redefines +, -, etc to be something not-too-difficult but still *different* 22:18:27 I've sort of got too many ideas jumbling around to put them all into one thing. 22:19:49 Hmmm... and then one equality type could check for equality of equality types between two values. :D 22:19:54 You'll want your new +,* to still be able to make a field out of the set of real numbers, if you know what that means 22:20:06 I can generate some that do that for you 22:21:52 I've never had abstract algebra stuff. 22:22:40 Existence of multiplicative inverses 22:22:45 I want -lots- of that :D 22:23:05 Like positive and negative... but like five of them :D 22:23:45 And then different operations that do different things to different kinds of numbers. 22:24:36 In typical math, + adds positive values, and - adds negative... so what happens when you stretch it out into 5 or 6 dimensions instead of 2? 22:24:37 You could use complex numbers, disguised as something else? 22:24:53 Or go to quaternions, with all sorts of fun 22:25:22 -!- anonfunc_ has joined. 22:27:07 with complex numbers you'd get normal, negated, conjugated, and negated+conjugated 22:27:20 -!- CakeProphet has quit (Read error: 113 (No route to host)). 22:27:58 wtf is he talking about. 22:28:08 -!- CakeProphet has joined. 22:28:17 CakeProphet: what 2 dimensions? 22:28:33 Hardest part with using complex numbers is disguising them so the user gets a brain meltdown :-) 22:28:37 Argh... what did you say after quaterions? 22:28:47 CakeProphet: nothing 22:28:48 with complex numbers you'd get normal, negated, conjugated, and negated+conjugated 22:29:01 Polarity of the numbers. 22:29:02 -!- ihope has joined. 22:29:02 ah well if it was a non singular you GreyKnight is right 22:29:03 positive and negative... two dimensions of polarity. 22:29:10 CakeProphet: one dimension 22:29:33 because it's either positive or negative.... it can't be a combination 22:29:44 Direction + opposite direction = dimension. 22:29:50 Oh yeah... 22:29:56 with complex numbers you'd get two dimensions... one for the real part one for the imaginary one 22:29:59 the real numbers exists in one dimension (the real line), the complex exist in two (the complex plane), and the quaternions in 4 (Happy Fun Ball) 22:30:06 * CakeProphet isn't sure he wants combinations of polarity ... but it sounds like fun. ^_^ 22:30:15 IIRC you can't reasonably extend the numbers to 3 dimensions 22:30:21 you people are all on crack. 22:30:25 GreyKnight: it's called 3-vectors. 22:30:26 Sure you can. 22:30:38 * ihope attempts to reasonable extend the numbers to 3 dimensions 22:30:41 Not in a nice closed way 22:30:48 GreyKnight: "closed"? 22:30:54 lament: and it's still a uhm how ist it called in english... 22:31:13 An extension of the complex numbers to three dimensions, such that all the mathematical operations are closed over the set 22:31:21 I was thinking of having 7 types of polarity... with each set of two being opposites, and then having a single one on its own. 22:31:28 GreyKnight: why "of the complex numbers"? 22:31:51 GreyKnight: all the standard mathematical operations on 3-vectors are closed over 3-vectors. (except for cross product.. duh) 22:32:02 i^2 = -1, j^2 = -i, 1^2 = j... j = 1, 1^2 = -i, 1^2 = -1? 22:32:18 positive-to-negative, blah-to-meh, pepsi-to-coke, and then a single measure called Jesus or something. 22:32:19 lament: are 3-vectors still a field? 22:32:36 * CakeProphet hasn't taking this shit yet, argh! 22:32:38 because real, complex and quaternions are 22:32:51 CakeProphet: so there's no negative Jesus? 22:32:54 vectors are a sideshow - complex and hypercomplex numbers are where the real mathematical action is 22:32:55 Nope 22:33:05 Don't ask me how... I'm still figuring that out. 22:33:46 do you know that the positive reals are a field to? 22:34:21 Oh? What's the additive inverse of 3 in the positive reals? 22:34:23 So subtraction and opposites aren't field operations? 22:34:48 I guess you could redefine +, but you didn't mention that 22:34:54 So... a number might look like.... hmmm.... +%^5? Or would it look like +5%6^4 22:34:59 GreyKnight: well the definition of field doesn't say that those uhm THINGS (don't know how it's called) has to be + and * 22:35:05 AFAIK 22:35:11 binary operations 22:35:15 yeah 22:35:16 and no, they needn't be 22:35:26 (which is how we got onto this topic) 22:36:02 well i'm no expert for this... ai'm just in grade 11 22:36:23 What age range is that? 22:36:42 * CakeProphet is in 11th too. 22:36:43 uhm.. 15-17 i think 22:36:52 er 22:36:54 10th 22:37:08 * CakeProphet 's internet will probably go off soon. 22:37:11 well, you're probably ahead of your peers then :-P 22:37:14 CakeProphet: 17 in the 10th? 22:37:33 ah wait yes... 22:37:44 argh... totally forgot my whole class skipped a year 22:38:11 well not really skipped but squeezed 5 into 4 years 22:38:37 * ihope feels a sudden need to eat something resembling toast 22:39:06 replace toast with cornflakes 22:39:07 afk 22:44:11 I feel old when all the other people on IRC are teenagers :'( 22:44:33 how old are you? 22:44:43 And how old are we? 22:45:16 * GreyKnight = mid-twenties 22:45:36 somewhere between 21 and 28? 22:45:38 me too! 22:45:48 we're old! 22:46:00 * GreyKnight compares zimmerframes with lament 22:46:41 i'm 22 in 9 days 22:47:19 You're not old! You're barely middle-aged! 22:47:37 does that mean i'm gonna die at 44? 22:47:52 Yes 22:47:58 And not a day later 22:48:24 :| 22:48:41 DOOMED 22:48:48 <-- 20 22:49:54 hmm. appears I am the oldest so far... 22:50:15 * kipple_ is 28 22:50:26 :-O 22:50:37 Pensioner, then? 22:51:02 :) 22:52:12 We need a language that's designed to be implementable with lego bricks. 22:52:39 -!- anonfunc has quit (Connection timed out). 22:53:17 -!- anonfunc_ has changed nick to anonfunc. 22:53:29 I love the idea of it, I just can't think how to pull it off :-( 22:53:49 Red brick means output, blue brick means subtract, yellow brick means input, and green brick means jump. 22:53:51 If you use the RCX brick it becomes trivial... 22:54:38 Wait... you mean the programs would consist of Lego bricks, or the machine running them would? 22:55:29 The former, although the latter would be an obvious next step 22:55:39 -!- CakeProphet has quit (Connection timed out). 22:55:51 the former is easy 22:56:08 Obviously something involving sequences of colours is trivial, like ihope's suggestion 22:56:48 But I'm trying to think of something that can take advantage of lego's three-dimensionality 22:59:24 Yeah. 22:59:51 I never said that this would *only* be sequences of colors, though :-) 22:59:59 :-P 23:00:10 I'm thinking a 2-D plane of stacks of blocks 23:00:39 With a/some instruction pointer(s) that roam the field and ascend the stacks to perform actions 23:00:52 Hmm... 23:01:09 stacks can also be viewed as encoding numbers, and are addressable as storage locations 23:01:23 Maybe we could forget the jump instruction and use the shapes of the stacks to jump. 23:02:06 Like... a stack is like a mini-program, and it would be executed from top to bottom. Once the bottom is reached, something's done. 23:02:08 in what way? 23:02:56 How about if each IP uses the next two numbers on its personal stack to determine a relative position at which to find the next stack to execute? 23:03:01 Or maybe the main execution stuff would simply choose a position and run down through it, changing the bricks as it goes... 23:03:17 for bonus points, have their personal stacks existing as actual stacks of blocks on the field :-) 23:05:14 Nah, the blocks themselves would be used as storage. 23:05:29 I say use them as storage *and* code >:-) 23:06:05 Bingo. 23:06:22 -!- CakeProphet has joined. 23:06:58 For further bonus points, it takes the IPs time to reach their next stack while jumping? 23:07:04 Argh... 23:07:05 So a code pointer traverses a set of code blocks and an IP cycles through storage? 23:07:07 1 clock tick/square moved? 23:07:14 So.. uh... what insane mathematical shit did I miss? 23:07:24 CakeProphet: we got onto lego instead 23:07:37 So I think I'm going to hide from all the crazy theoretical math shit.... and go for a more... uh... non-numbers design. 23:07:43 I like words over numbers.. 23:08:06 As fun as inventing an entirely new system of mathematics is... 23:08:14 Program in ORK! 23:08:27 one, two, many, lots? 23:08:45 Why were you using complex numbers? 23:08:51 * Razor-X does not have the time to fully go over the logs. 23:08:53 I wasn't... 23:09:20 I was just using a notation type for representing multi-dimensional polarity... paired with something I'm going to call "multi-dimensional equality" 23:09:25 He was talking about generally "extending" number systems, so naturally we got onto that subject 23:09:50 positive, negative, cow, omega, chromefuck, lala, Jesus... 23:09:53 etc 23:09:55 Multi-dimensional equality? 23:09:59 Yeah 23:10:09 Oh, you mean attaching alternate dimensions to a quantity. 23:10:21 I got the idea from thinking about = and !=... which are essentially two "types" of equality... they just happen to be the inverse of each other. 23:10:28 I had the idea when I was younger of representing numbers in a vector of n-elements, and I had a rudimentary set of equivalence predicates done. 23:11:09 You should look at the postulates of Zermelo-Franklin set theory and the Fundamental Arithmetic Law for some ideas on the stuff. 23:11:11 b != 3.... it's essentially saying that it equals three, but only in this type of equality. 23:11:28 There is no escape from the abstract algebra! 23:11:32 b = 3 is false... thus b != three... which brings us back to our original statement. 23:12:13 CakeProphet: well, in Math, there's a set of rules an equivalence operation has to conform to. 23:12:23 CakeProphet: = happens to conform to them, and != does not. 23:12:29 http://en.wikipedia.org/wiki/Binary_relation 23:12:31 So you could have multi-dimensional equality.... $= %= $= #= 23:13:26 more appropriately, http://en.wikipedia.org/wiki/Equivalence_relation 23:13:57 != breaks reflexivity and transitivity. 23:14:00 Huh? 23:14:30 lament: well, the full abstract treatment might be a bit *too* abstract for a non-specialist :-) 23:14:41 and I gather he's only talking about binary relations 23:14:56 Reflexivity, symmetry, transivity... anythingelse? 23:15:21 GreyKnight: equivalence relations are binary relations 23:15:25 ihope: nope 23:16:00 oh wait, I thought you'd posted http://en.wikipedia.org/wiki/Relation_%28mathematics%29 23:16:05 my mistake 23:16:09 yeah... so.. 23:16:13 math isn't my... subject. 23:16:23 CakeProphet: a "real" equivalence relation other than == is for example (a mod 2 == b mod 2) 23:17:03 CakeProphet: what is your subject? 23:17:18 Writing? 23:17:23 * CakeProphet shrugs 23:17:27 music. 23:17:28 i like math 23:17:30 art I guess. 23:17:32 i like music too 23:17:33 lego! Lego is everyone's subject 23:17:38 uh yeah lego rules! 23:17:46 \./ 23:18:30 with math and lego i even won competitions... 23:18:35 with music i didn't... 23:18:46 but i did competitions in all those things 23:19:02 so.. er... standard mathematics aside.. I think having types of equivalence is do-able in a language. 23:23:17 eh 23:23:28 scheme has eq?, eqv?, equal? and = 23:23:50 CL has eq, eql, equal, = 23:24:03 which I guess are isomorphic to the scheme ones :-) 23:24:38 I don't think that's quite what CakeProphet has in mind, though, he's just not got the words to express it any better... 23:25:07 * CakeProphet really only halfway knows what he's talking about. 23:25:40 If you can construct an example of one of your new relations in action we might get a better idea 23:27:42 Hmmm 23:32:56 This might be a little bit jumpy... since I don't have the idea fully conceptualized... but let's say we invent four operations.... cow, scree, flub, and kuma each a type of equality, with relational properties to other types of equality... anything that cow-equals 5 will not scree-equal 5.... but might flub-equal five.... each type of relationship has relationships amongst... 23:32:58 ...themselves.... maybe everything that cow-equals will also flub-equal.... but anything that flub-equals will not nessicarily cow-equal... and then something that scree-equals may cow-equal any value -except- the value that scree-equals... so each represent equality, but when compared with conditional logic the different types of equality will behave differently to each other. 23:33:18 In fact... the language itself might be able to invent new types of equality that relate to the pre-existing types... 23:33:35 Just random ideas... nothing that would be useful or make much sense at all. 23:34:40 I think that could be turned into a Venn diagram? 23:35:17 Or maybe he'll end up with "not equal, equal, sort-of equal, halluciongenically equal. . ." :p 23:35:20 you could even have it so that if something kuma-equals 4... then it will cow-equal any number. 23:35:49 @= #= $= %= ^= &= 23:35:50 :D 23:36:07 I think this will be either (a) useless, or (b) the next INTERCAL 23:36:15 That is, useless. 23:36:20 But in a good way 23:36:29 "anything that cow-equals 5 will not scree-equal 5" 23:36:30 Lots of esolangs are useless. 23:36:40 5 will have to both cow-equal 5 and scree-equal 5. 23:36:56 Being useless is pretty much their entire reason for being 23:37:09 Being useless is what they're used for! 23:37:15 ihope, Why? 23:37:18 \./ 23:37:35 CakeProphet: well, if you want them to actually be equality operations. 23:37:48 They are. 23:38:33 x $= 5 if x $= 5: print "5 cow-equals x" 23:38:49 Any equality operation has to have 5 and 5 be equal. 23:38:55 Or is "a @= b" more like asserting that (a,b) belongs to a certain set T_@ ? 23:39:12 ihope, Within the scope of one equality type... 5 will equal 5 23:39:16 that made pretty much not any improved amount of sense... 23:40:37 -!- tgwizard has quit (Remote closed the connection). 23:42:40 x $= 5 23:42:41 if x %= 4: print True else: False 23:42:43 if x ^=344: print False else:True 23:42:44 if X lol= 6: print Maybe else: False 23:42:46 if x (= 305823095823985902834908: print False else: True 23:42:47 True 23:42:49 True 23:42:50 Maybe 23:42:52 False 23:42:53 23:43:14 All from the expression x $= 5 23:43:24 Okay, as I see it you have some, apparently pretty arbitrary sets of pairs of numbers 23:43:53 each relation "a $= b" means that the pair (a,b) belongs to the particular set T_$ 23:44:10 no idea what you're talking about. 23:44:11 So T_= contains (0,0), (1,1), (2,2), ... 23:44:19 (for ==) 23:44:46 T_! (for !=) is just the inverse of T_=, contains everything that's not in it 23:45:13 And the other T_$, T_#, T_lolwhut contain various semi-random collections of pairs which may or may not intersect 23:45:30 ? 23:45:32 Not random. 23:45:48 that's why I said semi-random :-P 23:46:09 presumably there'd be some actual function for determining which pairs belong to the set 23:46:23 keeping actual lists of numbers to compare against would be muy wasteful 23:46:44 Whether or not something that $='s 5 will also %= 2 depends on the relationship between the $= and %= operators. 23:47:44 I think I get it: 23:48:32 You define these extra relations purely in terms of the relationships between them, then have the computer use that information to calculate what the relations actually are 23:48:33 Just like if x = 5... then x != 5 will return False 23:48:50 Pretty much. 23:49:45 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 23:49:54 You couldn't rely on it having a unique solution to any arbitrary set of relationships between them, though 23:50:02 In my hypothetical language... != would be a type of equality that directly relates to =... so that it something that ='s 5 will != everything except five. 23:50:43 DEFINE NEW RELATION != WHERE a==b IMPLIES NOT a!=b 23:50:58 Er... sure. 23:50:59 -!- bsmntbombdood_ has joined. 23:51:17 I just picked a random syntax for ease of expression 23:51:22 It'd be really easy to use an OO design scheme for definiing the relationships... but I want to make it confusing ^_^ 23:51:25 -!- bsmntbombdood has quit (Nick collision from services.). 23:51:41 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 23:52:03 It's already confusing enough as is... and I have no clue how this would tie in with strings :D 23:52:18 in order to apply it to actual numbers, you will have to touch base with the regular mathematical relations at some point 23:52:21 say: 23:52:50 DEFINE NEW RELATION $= WHERE a$=b IMPLIES (a+5)==(b*6) 23:53:25 for at least *one* of the new operators 23:53:47 and the others could maybe then just be defined in terms of it and/or each other 23:53:48 Hmmm... what would $= do in that case? 23:54:22 as long as there's a chain of implications leading back to the regular relations, the computer should be able to trawl through it to apply the relations to actual numbers 23:54:39 That wouldn't work for variable assignment. 23:54:55 It would only work for conditional testing. 23:55:19 well: 23:55:46 The way I see it... the equality types can also be used as assignment. 23:55:49 you can view the assignment "x $= 3" as finding an x such that that expression is true 23:57:06 (in that example definition of $= I gave, it's the case that "25 $= 5") 23:57:24 Hmm... 23:57:40 I wish I was extremly good at fleshing out parsers... so I could just make random languages? 23:58:01 I like the idea of a language that assigns based on not-equals instead of assigning based on = 23:58:17 well, you'd have a bit of a problem there... 23:58:35 Say you did "ASSIGN x != 5" (is this the sort of thing you mean?" 23:58:42 Yup 23:59:02 then the interpreter/compiler will have to pick one of the infinite amount of numbers which aren't equal to 5... 23:59:13 Nah 23:59:16 unless you're suggesting it set x to the entire set of non-5 numbers? 23:59:24 Nope 23:59:41 Well, there are finite things. 23:59:45 so, what value does x receive in that example? 23:59:49 x != true 23:59:57 That would set x to false.