00:12:19 -!- oerjan has quit ("Good night"). 00:13:43 -!- Tritonio__ has joined. 00:15:16 Esolang idea: language with fucked up order of operations. 00:15:28 2*(3+4) == 2*3+4, anyone? 00:15:37 oO 00:15:57 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)). 00:16:08 * Sgeo proceeds to have nightmares of parentheses doing random things 00:16:53 2*(3+4) is right-associative 00:16:57 which is not as bad as it seems 00:17:12 it tends to be more common than left-, and sometimes you can refactor to remove parens with it 00:17:26 No, no, no. + has higher precedence than *. :p 00:17:42 2*(3+4) = (3+4)*2 = 3+4*2 = 2*3+4. 00:18:36 you know that's actually useful 00:18:45 i would say 2*(3+4) is more common than (2*3)+4 00:19:07 But it's not standard mathematics. 00:23:36 what is 00:23:37 :) 00:28:29 -!- sarehu` has quit (Read error: 110 (Connection timed out)). 00:37:12 has anyone here used Urban M?ller's original Amiga distribution on real-life Amiga hardware? 00:37:20 I should be acquiring an Amiga sometime.. 00:37:30 I wonder if I can stick an ethernet port into it. :) 00:39:39 ^brainfuck that is 00:41:44 -!- sarehu has joined. 00:43:03 ehird_, write a PSOX custom domain! 00:43:26 Sgeo, write the infrastructure for it. :p 00:43:37 Actually: could you link me to the PSOX SVN? 00:43:57 svn co http://svn2.assembla.com/svn/psox/trunk 00:44:54 Sgeo: does python run on an amiga? :) 00:45:04 * Sgeo doesn't know 00:46:19 Your simple cat example doesn't check for EOF. 00:46:25 yep, it does, sgeo 00:46:27 ehird_: Linux will run on one, IIRC. 00:46:33 pikhq, hm? 00:46:33 pikhq: iirc, yes. 00:46:43 But I am talking about AmigaOS, that bastion of awesomeity :) 00:47:30 Does anyone know how to unpack LHA files on a UNIX? 00:47:33 aha 00:51:58 pikhq, does it need to? 00:52:25 Sgeo: Yeah, I'll be doing my C PSOX library later tonight. ;) 00:52:26 switch(o=1,*c++) { 00:52:28 that 00:52:30 is evil 00:52:30 :) 00:53:15 ehird_, hm? 00:55:35 pikhq, should I write a version that checks for EOF? 00:55:41 Yeah. 00:56:27 GregorR: If/when you decide to do more on C2BF, you should do one big thing: use PSOX as part of the stdlib. 00:56:56 pikhq, should it be written in BF or Python? 00:57:06 * pikhq shrugs 00:57:21 pikhq: using PSOX as part of the stdlib would be a disaster 00:57:28 not only for the output size and elegance.. 00:57:42 Have you seen the C2BF output size? 00:57:50 It's not like that's a major issue. 00:57:56 it's not that bad. 01:01:00 pikhq, want it to be char-by-char or line-by-line? 01:01:10 Char-by-char. 01:02:04 And after this, I will be able to create the Brainfuck Audio Suite. >:D. 01:02:31 Audio? 01:02:59 Yeah. Calamari, IIRC, wrote a script that would take raw audio and output Brainfuck code outputting that. . . 01:03:16 To use: egobfi8 output_brainfuck.bf > /dev/dsp 01:08:08 Ok, it's breaking for some unknown reason 01:12:41 pikhq, committed 01:12:58 That only demonstrates EOF for a fixed number of characters though 01:13:44 http://trac2.assembla.com/psox/browser/trunk/impl/cat_with_eof_check.py 01:14:05 Somehow, BF2PSOX.py seems fairly. . . Useless. 01:16:36 pikhq: Nonsense! In the future, all esolangs will support nothing but PSOX! It is far superior for every single program! 01:18:33 * pikhq should start reorganizing his home dir 01:20:23 Is it a bad thing needing to refer to the specs for knowing whether EOF makes the indicator 0 or 1? 01:21:13 yes 01:21:16 and it should be 1 01:21:35 Well, the way it is currently, you can end a loop upon an EOF 01:21:40 in BF 01:24:49 -!- sarehu has quit (Connection timed out). 01:26:48 BRB 01:26:52 eating and stuff 01:44:47 -!- faxathisia has joined. 01:56:41 * Sgeo is back 01:56:43 Hi faxathisia 01:57:01 pikhq, any further thoughts? 01:57:28 hello 01:59:23 Um, yeah. . . 01:59:55 -!- olsner has quit ("*poof*"). 02:00:01 I think it's time to sharpen the guillotine, tie the knots for the gallows, and get ready for revolution. 02:00:14 http://ap.google.com/article/ALeqM5gM4mwPQcU0j446qIew8P7ZmifwNgD8UP4GG03 02:00:58 I meant with PSOX ofc 02:05:25 Sgeo: gosh really 02:05:40 don't worry, there's no confusion.. Sgeo would never talk about anything that isn't psox 02:05:40 :) 02:05:50 lol 02:06:25 I do on different channels 02:06:27 really 02:06:30 nojoke 02:07:09 myths 02:07:13 myths and LIES and STATISTICS 02:07:19 lol 02:07:23 AND... CUDDLESWORTH! 02:07:24 dksfhdkslhdfklgsdfg 02:08:51 fucknuts 02:08:54 i need to do more work 02:19:46 -!- sarehu has joined. 02:29:30 -!- ehird_ has quit ("This computer has gone to sleep"). 02:32:51 -!- ehird_ has joined. 02:33:08 -!- ehird_ has quit (Client Quit). 02:47:30 -!- pikhq has quit (calvino.freenode.net irc.freenode.net). 02:47:31 -!- RodgerTheGreat has quit (calvino.freenode.net irc.freenode.net). 02:47:32 -!- lifthrasiir has quit (calvino.freenode.net irc.freenode.net). 02:47:32 -!- Deewiant has quit (calvino.freenode.net irc.freenode.net). 02:47:33 -!- tejeez has quit (calvino.freenode.net irc.freenode.net). 02:47:33 -!- sebbu has quit (calvino.freenode.net irc.freenode.net). 02:47:34 -!- EgoBot has quit (calvino.freenode.net irc.freenode.net). 02:47:35 -!- sekhmet has quit (calvino.freenode.net irc.freenode.net). 02:47:37 -!- sarehu has quit (calvino.freenode.net irc.freenode.net). 02:47:40 -!- Tritonio__ has quit (calvino.freenode.net irc.freenode.net). 02:47:40 -!- faxathisia has quit (calvino.freenode.net irc.freenode.net). 02:47:43 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net). 02:47:45 -!- Sgeo has quit (calvino.freenode.net irc.freenode.net). 02:47:46 -!- GregorR has quit (calvino.freenode.net irc.freenode.net). 02:47:46 -!- AnMaster has quit (calvino.freenode.net irc.freenode.net). 02:47:46 -!- oklopol has quit (calvino.freenode.net irc.freenode.net). 02:47:46 -!- cmeme has quit (calvino.freenode.net irc.freenode.net). 02:47:48 -!- lament has quit (calvino.freenode.net irc.freenode.net). 02:47:48 -!- Overand has quit (calvino.freenode.net irc.freenode.net). 02:47:49 -!- johnl has quit (calvino.freenode.net irc.freenode.net). 02:47:51 -!- puzzlet has quit (calvino.freenode.net irc.freenode.net). 02:47:51 -!- cherez has quit (calvino.freenode.net irc.freenode.net). 02:47:51 -!- SimonRC has quit (calvino.freenode.net irc.freenode.net). 02:47:52 -!- mtve has quit (calvino.freenode.net irc.freenode.net). 02:49:47 -!- RodgerTheGreat has joined. 02:49:47 -!- lifthrasiir has joined. 02:49:47 -!- sarehu has joined. 02:49:47 -!- faxathisia has joined. 02:49:47 -!- Tritonio__ has joined. 02:49:47 -!- puzzlet has joined. 02:49:47 -!- cherez has joined. 02:49:47 -!- EgoBot has joined. 02:49:47 -!- sekhmet has joined. 02:49:47 -!- Sgeo has joined. 02:49:47 -!- bsmntbombdood has joined. 02:49:47 -!- johnl has joined. 02:49:47 -!- SimonRC has joined. 02:49:47 -!- GregorR has joined. 02:49:47 -!- AnMaster has joined. 02:49:47 -!- lament has joined. 02:49:47 -!- oklopol has joined. 02:49:47 -!- cmeme has joined. 02:49:47 -!- Overand has joined. 02:49:47 -!- mtve has joined. 02:50:49 -!- sebbu has joined. 02:51:13 -!- Deewiant has joined. 02:51:13 -!- tejeez has joined. 03:02:23 -!- Tritonio__ has quit (Read error: 113 (No route to host)). 03:07:14 -!- sarehu has quit (Read error: 110 (Connection timed out)). 03:24:04 GregorR, other random people, going to check out PSOX at any point? 03:35:08 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 03:35:18 -!- bsmntbombdood_ has joined. 03:35:38 re bsmntbombdood_ 03:51:04 Anyone interested in PSOX? Anyone? 03:51:06 RodgerTheGreat? 03:51:10 oklopol? 04:11:48 no one 04:14:13 bsmntbombdood_, there's a reason I haven't asked you -- you've expressed a dislike of PSOX 04:14:27 i don't know 04:14:41 -!- AnMaster_ has joined. 04:18:17 Hi AnMaster_ 04:30:11 -!- AnMaster has quit (Connection timed out). 04:41:44 -!- tejeez has quit (Remote closed the connection). 04:58:53 -!- pikhq has joined. 04:59:07 Hi pikhq 04:59:16 Any more testing/experimenting with PSOX? 05:05:49 " i would say 2*(3+4) is more common than (2*3)+4" <<< i definitely disagree. 05:07:30 also, there's nothing interesting in changing the precedence of operators randomly, you can just change that in the source in many languages 05:07:47 making parens evaluate inside out might have something interesting. 05:11:14 i like the idea of a syntax where actually only the set of tokens used in a program matter, so that you can actually obfuscate pretty badly mechanically 05:11:23 wonder how sane you could make that look 05:11:41 probably not very :) 05:12:51 Sgeo: honestly, I find PSOX interesting, but I haven't had much time to spend on esocoding- I have to finish my schoolwork first, dude 05:15:59 Sgeo: Expect more interest when we have more time. 05:19:17 only some 47 years to my retirement. 05:19:46 i promise to take a deep look then 05:20:53 (of course, the esolang wiki will be five-dimensional then, and my dated brain cannot comprehend it) 05:21:42 in the year 2030, they add another dimension to the reality, to make it more interesting 05:22:13 oh, i need to go 05:22:21 you keeps the pole in your pants! 05:22:22 -> 05:56:28 -!- Sgeo has quit (Remote closed the connection). 07:09:07 -!- oklopol has quit (Read error: 101 (Network is unreachable)). 07:58:45 -!- olsner has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:47:15 -!- olsner has quit ("Leaving"). 08:49:21 -!- oklopol has joined. 09:16:32 -!- jix has joined. 11:13:45 -!- AnMaster_ has changed nick to AnMaster. 11:57:16 POLTERGEIST! 11:57:47 We have three cats in this house: Tia, Ish and Helsinki. At 3AM, a plant is knocked over causing a very loud chain reaction. 11:58:05 Tia is sleeping on my bed at the time, and Helsinki isn't allowed in that part of the house, so I assume it's Ish. 11:58:19 After searching for Ish for a half an hour, I hear a meowing at the door, and there's Ish, outside. 11:58:32 So, I assume it's Helsinki and she's gotten loose. 11:58:48 After searching for her for a while, I happen to look outside and she's on the porch. 11:58:53 Conclusion: POLTERGEIST. 12:05:26 -!- oerjan has joined. 12:45:22 -!- faxathisia has quit ("If there are any aliens, time travellers or espers here, come join me!"). 12:57:44 hmm 13:07:42 evil lies! 13:08:15 no 13:08:23 sevil lives! 13:09:29 -!- slereah__ has joined. 13:11:45 hi 13:27:36 it seems to be the boring hour 13:31:21 -!- timotiis has joined. 13:39:38 -!- pikhq has quit (Read error: 110 (Connection timed out)). 14:07:00 -!- RedDak has joined. 14:07:06 hi 15:53:04 -!- Dagide has joined. 16:00:09 -!- oerjan has quit ("dinner"). 16:05:42 -!- Hiato has joined. 16:09:52 -!- RedDak has quit (Read error: 110 (Connection timed out)). 16:14:51 -!- Dagide has quit (Remote closed the connection). 16:26:42 -!- ehird` has joined. 16:30:33 -!- ehird` has quit (Read error: 113 (No route to host)). 16:46:42 -!- Hiat1 has joined. 16:52:21 -!- Hiat1 has left (?). 16:55:04 -!- ehird` has joined. 17:03:39 -!- Hiato has quit (Read error: 110 (Connection timed out)). 17:15:38 -!- Corun has joined. 17:15:44 -!- olsner has joined. 17:21:17 hello 17:21:50 Hi. 17:22:23 GregorR: your cats have interesting names. Mine are named Chai and Matcha. 17:23:35 I like cats >:| 17:23:59 why are you pissed off that you like cats? 17:25:10 :> map(name, SimonRC -> pets(PETTYPE_CAT)) 17:25:20 [] 17:25:40 wtf is that? 17:25:58 pseudo programming language 17:26:04 :> is a prompt 17:26:10 hunh 17:26:17 i.e. I have no cats 17:26:23 ah 17:26:28 You need cats. 17:26:34 why? 17:26:42 Because cats are awesome. 17:26:53 I am alergic to them 17:26:54 It's no wonder the cat program is the most popular. 17:26:58 Well, so am I 17:26:58 well, currently my parents possess cats and I do not as I live in a dorm room. However, I love "my" cats and visit them as well as my parents often 17:27:04 lol 17:27:34 cats are not as inclined to loyalty as dogs are 17:27:38 SimonRC: I'm allergic to cats, too! However, cats are worth taking antihistamines. 17:27:45 hm 17:27:50 You don't need loyalty from a cat. 17:27:51 and it really depends on the cats 17:27:58 some cats are bastards, others are very nice 17:28:00 You just need a tincan 17:28:05 slereah__: I didn't say I did 17:28:10 Tincan + spoon = catcall 17:29:23 Man, with Chanology going on, I didn't do much. 17:29:35 I should work moar on my esolangs 17:29:44 ah, you must be one of Anonymous 17:30:26 "Because none of us are as cruel as all of us" 17:30:45 huh? 17:31:09 Anonymous are not being particularly nasty ATM 17:31:48 AFAICT the recent protests are peaceful, if disturbing 17:33:32 -!- slereah_ has joined. 17:33:32 -!- slereah__ has quit (Read error: 104 (Connection reset by peer)). 17:34:55 that statement is more historical 17:35:41 ?- cats(ehird, X). 17:35:47 X = [] 17:35:47 no 17:36:05 ?- cats(ehird, X), wanted_value(X). 17:36:09 X = [_G101] ; 17:36:14 X = [_G101,_G102] ; 17:36:19 X = [_G101,_G102,_G103...] ; 17:36:21 no 17:37:07 also, cats are pretty much in it for the opposable thumbs, i'd say 17:37:23 (?- cats(ehird, X), old_value(X). X = [_G101,_G102]) 17:37:35 ~Ex x = Cats /\ x in ehird` 17:37:42 cats can have my thumbs when I'm dead 17:38:16 they purr a lot. QED 17:39:03 Some cats have an opposable thumb, of sort. 17:39:03 Polydactyl cats, with an extra finger. 17:39:32 can't open cans. 17:39:46 they can usually open doors, though 17:39:55 and they're better at climbing on shit. 17:40:01 They don't need to open cans. 17:40:06 They can eat birds 17:40:17 and cans are getting easier to open every year 17:40:33 Soon, humanity will be unecessary for cats. 17:40:34 "who needs to open cans when you can open birds?" 17:40:45 That's when the revolution will strile 17:40:47 k* 17:41:02 they can open doors pretty well, yeah 17:41:09 but all said and done they couldn't do well without a human 17:41:13 it's easier for them to be lazy 17:41:33 if they end up evolving humanoid features so that they can replace us, it's likely they'll promptly undomesticate themselves 17:41:49 cats need humans to change litter boxes. end of discussion. 17:41:57 obviously they think they'd do better than us :p 17:47:09 we need to start up an Esoteric OS project again, sometime 17:47:29 all my input is that it should have, at its core, an esoteric virtual machine, with everything built up on top of that 17:48:10 OISC machine. 17:48:11 ? 17:49:55 no 17:50:03 that's too trivial 17:50:34 To implement, possibly! 17:50:46 The rest doesn't seem too trivial 17:51:23 naw 17:51:25 too trivial of an IDEA 17:52:03 You want to make something new up? 17:54:17 Yes 17:55:55 Got any inkling? 17:57:41 Nope 17:57:48 But it should include some crazy kind of memory management 17:58:16 -!- Corun has quit ("This computer has gone to sleep"). 17:59:21 Make it OUT OF CLOCKS? 18:00:48 http://reddit.com/r/programming/info/68oka/comments/c036iud <-- this is cool 18:02:36 that gives me an idea! 18:02:47 the esoteric vm's `base` programming language should be stack-based, 18:02:49 but prefix & infix 18:04:37 : fact dup if 0? [1] [* fact (dup-1)] ; 18:04:56 slereah_: yes/no 18:05:43 Well, I'm probably not going to contribute much. 18:05:46 So do as you like. 18:06:00 : fib dup if 0? [0] [dup if 1? [1] [(fib (dup-1))+(fib (-2))]] ; 18:07:53 anyone have opinions? 18:10:31 I can't parse that 18:12:09 I'm not too sure what the dup is for 18:14:04 it seems to seperate the condition of the if from all that comes before. 18:14:11 which is un-forth-like 18:15:03 why not : fact dup 0? if id [1] [* fact (dup-1)] ; 18:15:12 where id is the identity function 18:15:38 because, SimonRC, it's prefix/infix. 18:15:50 okaaaay 18:15:51 also, the dup is because the fib will eat it up 18:15:54 leaving you none to do the -2 with 18:15:55 where is this defined? 18:16:06 : fib dup if 0? [0] [dup if 1? [1] [(fib (dup-1))+(fib (-2))]] ; 18:16:29 : fib dup 0? [0] [dup 1? [1] [dup 1 - fib 2 - fib +] if] if ; 18:16:32 that's how it parses up 18:18:16 ok 18:28:42 * ehird` works out type of lambda-calculus Y starting from `fix` 18:28:43 Y :: (a -> a) -> a 18:28:53 Y f = f (Y f) 18:29:03 So, we need to assign a value to the whole type of Y.. 18:30:40 Y :: a=((a -> b) -> b) 18:30:44 Well, that was easy. 18:42:28 -!- oerjan has joined. 19:11:45 -!- ehird`_ has joined. 19:12:54 -!- ehird` has quit (Read error: 113 (No route to host)). 19:21:22 -!- oerjan has quit ("Must - kill - incessantly - coughing - housemate (who refuses to accept cough drops)"). 19:29:26 -!- ehird` has joined. 19:37:27 -!- ehird`_ has quit (Read error: 113 (No route to host)). 20:00:29 -!- faxathisia has joined. 20:40:07 -!- es0n00b has joined. 20:40:34 hello world! 20:43:22 knock knock? anybody home? 20:43:54 Who's there? 20:49:42 me - haay 20:50:04 im new to esoteric (can you tell) 20:51:29 I've come up with an esolang idea that could possibly work in-silico 20:52:23 dont know if its crazy enough tho 20:53:52 I'm here. 20:54:03 In-silico? 20:54:40 like in-vivo=a living being. In-silico=on a chip 20:55:16 So, what's the idea? 20:56:13 it's based on the MISC implementation of OISC, defiinitely turing-complete, but more practical. Possibly faster (unproven) 20:56:46 Well, OISC is esoteric enough 20:56:55 thinking of calling it NMISC (New MISC or NightMare-In-Silly-Cone??) 20:57:43 really simple. OISC is based on subtract/conditional branch. 20:58:17 MISC really makes OISC a bit more practical 20:58:17 And isn't very pleasant to implement on a Turing machine! 20:58:51 Anything where you have to rewrite the tape is unpleasant on a Turing machine 20:58:57 Especially on one tape 21:00:15 the self-modifiny code bit is annoying, but it's possible to translate from assembly like code to OISC 21:01:05 Well, probably 21:01:16 anyway, back to the idea. OISC=subtract/conditional-branch. NMISC=multiply/add/conditional-branch 21:01:48 biggest problem i think of in OISC isnt implementation, its doing simple things like multiplication 21:02:08 What will be the branching condition on NMISC? 21:02:18 -!- olsner has quit ("Leaving"). 21:02:25 as soon as multiply is easy, you have access to Taylor polynomials (ie a lot of other functions) 21:02:46 i am trying to think of an easy way to describe NMISC 21:03:54 ok. i got the idea by figuring out how to make an OISC chip using transistor-logic (ie in-silico) 21:04:33 turns out, subtraction in-silico is addition of one binary number, the inverse of another binary number, and 1 21:05:01 ie 3-1 becomes 0011 + 1110 + 0001 21:05:37 which gives 1 0010. 0010=2. the extra 1 is the carry flag 21:06:16 carry flag=1, result is postive. carry flag=0, result is negative 21:06:31 OISC becomes easy to implement from there. 21:07:02 the problem with multiplication is, multiply 64-bit*64-bit gives 128-bit 21:07:27 thats where the MISC idea comes in 21:08:33 (following so far??) 21:09:02 Well, I only know two things of in-silico. 21:09:04 yes 21:09:16 cool 21:09:25 es0n00b: how about forgetting about silico for now 21:09:30 and just writing out the base operation 21:09:32 something like: 21:09:36 A book on computers from 1976, and some bitwise research on wikipedia (I wanted to make a computer with finger binary) 21:09:40 opand opand ... -- c code 21:09:45 for sure 21:09:52 So I can't follow too much 21:10:35 the carry-flag operation is SO SO important, as it is how the conditional branch works, and makes it trivial to translate MISC into NMISC 21:11:13 OK: OISC= IF (A==A-B)<=0 jump C 21:12:23 MISC= IF(A==B-C)<=0 jump D. D has 2 bits not used for jumping, but are used as data control bits (important). all addresses are relative 21:12:44 NMISC (bit more complicated) 21:13:20 there was one that just did: A -= accumulator 21:13:28 the IP was memmapped 21:13:56 I/O has to be memory mapped. 21:14:44 NMISC:: A=F(A*B)+C 21:14:57 what is F? 21:15:10 F is dependant on D 21:15:55 D is still the jump address, with data-control properties included 21:16:35 the jump address is D, with the lowest 2 bits being ignored (as only every 4th address is a new instruction) 21:16:58 lowest D-bit controls data. second lowest d-bit controls F 21:17:28 F either gets the low half or the high half of (A*B) 21:17:55 confusing so far (maybe) -but when you put it all together it seems to work 21:19:15 translating MISC to NMISC, F only need to grab low half of (A*B). B is always set to -1, so A=C-A. trivial 21:20:01 fast-multiply-add takes 3 instruction. 21:20:50 1) calculate lowest 64 bits. jump to 3) if no carry flag 21:21:05 2) add 1 to highest 64 bits 21:21:18 3) calculate highest 64 bits 21:22:23 Taylor polynomials are calcualted using(((Ax+B)x+C)x+D) etc 21:22:41 ok 21:22:41 -!- PupUser936e92 has joined. 21:23:07 can someone do a sanity check for me. does this all make sense, or has someone been putting lsd in my coffee again 21:23:33 it seems to work 21:23:42 implement it and find out 21:24:04 last time i did programming it was on a commodore-64 21:24:40 Well, program on a C-64 emulator! 21:24:50 true 21:25:03 Or profit from what the future has to offer. 21:25:11 Because we're in the future people. 21:25:14 i am already sure it must work. been messing with a lot of pen-and-paper 21:25:19 I have a proof for this. 21:25:38 Since this Christmas, I have a device that allows me to see videos, in my pocket. 21:25:47 For me, that's the fucking future. 21:26:25 definitely turing complete, as it emulated OISC trivially. Just wondering if it would be faster than OISC in-silico for real-world applications (not a trivial question) 21:27:18 ok - going to write a C-64 emulator emulation of NMISC 21:27:26 -!- PupUser936e92 has quit ("Download Gaim: http://gaim.sourceforge.net/"). 21:28:00 Heh. 21:28:16 Beware. Piling up interpreters isn't good for speed! 21:29:13 wrote a C-64 emulator emulation of OSIC in machine-language once. clicked along slowly but smoothly 21:29:48 NMISC will be in basic. multiplication in C64-ML sux 21:29:57 Heh. 21:30:08 should be as slow as a snail travelling on a turtle 21:30:27 Actually, the snail would be travelling faster. 21:30:34 lol 21:30:58 (I might not know electronics, but I can galilean-transform the shit out of snails!) 21:31:20 hahh 21:32:05 Studying physics isn't very computer-oriented here. 21:32:17 you study physics? 21:32:22 Yes. 21:32:29 what kind? 21:33:22 It's labeled as "Physics-Physics". Or "actually "Physique-physique". 21:33:55 It's the fundamental kind. Nuclear, quantum, relativity, continuum mechanics, electromagnetism 21:34:00 All that shit. 21:34:18 oh. i got as far as some very elemenatry quantum and relativity, but then my brain started to hurt 21:34:53 My brain often hurts here. 21:34:57 lol 21:35:08 We mostly use programming for number-crunching here. 21:35:24 "Find the centroid of that radiation spectrum!" 21:35:57 So it's hard to learn sum real CS. 21:36:10 saw an interesting show about some kind of theory combining quantum and relativity. Needed at least 11 dimensions or something, with dimensions 5 and up being very compact 21:36:46 sort of got the idea of how a dimension could be compact. Thank god they didnt go into the maths of it all though. 21:36:47 String theory. Although right now, all eyes are turned to that one guy who cooked up a theory at home! 21:37:18 There's a claim for a major breakthrough every few months, and usually, you never hear of it again. 21:37:31 Would be nice if it was true for once. 21:37:37 the where talking about branes? 21:38:06 M-theory. thats it. 21:38:41 Well, a few years ago, around high school, I started reading real science. 21:38:44 sounds like a bunch of maths equations with no real-world proof 21:38:56 yeah 21:39:02 And noticed that popular science didn't help much understanding it. 21:39:23 So I haven't read a lot about string theory these last few years, since I don't want the popular stuff and can't read the real. 21:39:47 String theory is pretty much theoretical, yes. 21:40:05 Although there's some good hope for some clues this year 21:40:10 With the LHC. 21:40:17 i guess that how relativity started though 21:40:28 whats LHC?? 21:40:41 Large Hadron Collider. 21:40:54 Relativity actually started on proof. 21:41:02 Well, unless you count Maxwell's work. 21:41:17 -!- pikhq has joined. 21:41:22 It came from the Michelson-Morley experiment. 21:41:42 es0n00b: i'll write an interpreter 21:41:48 (fuzzy on details) though relativity was a pipe-dream explaining xperiment 21:41:52 rafb.net/paste <-- paste a compact description of the semantics 21:41:57 &i'll implement it 21:42:04 ehird - should be an easy interpreter 21:42:31 it'll interpret it as one-line-per-instruction, whitespace-seperated-hex-operands though... 21:42:32 not binary 21:42:35 i could do binary 21:42:37 but see little use :) 21:42:42 well, i could do both i guess 21:42:46 binary+assembler 21:44:56 started writing a version of NMISC, but was using A=A+B*C. A bit of experimenting showed A=A*B+C might be more useful (see tha Taylor polynomial expansion) 21:45:18 A=A+B*C comes out in short hand as follows 21:45:21 es0n00b: welp, ok. I don't need a huge paper, just a few lines describing it :P 21:47:02 PC+=IF((M(M(PC)+PC)==M(M(PC)+PC)+(IF(m(pc+3)AND1),m(PC+1),m(m(PC+1)+PC))*m(m(pc+2)+PC)DIV(IF((m(PC+3)AND2),2^N,1))MOD(2^N))<2^N,4+(m(pc+3)ANDNOT3),4) 21:47:13 that looks like excel code.. 21:47:25 would you happen to be a mathematician? :) 21:47:34 yeah. using the excel IF(condition,return-true,return-false) 21:47:44 no. Im a telemarketer 21:47:51 * ehird` runs 21:47:57 lol 21:48:10 is all this a ploy to sell me something relating to esoteric programming languages? 21:48:26 just happen to have love math, electronics and computers since i can remember. 21:48:49 But do you have some awesome BF computer to sell us? 21:48:51 seriously, lifes curveballs and ended up with me telemarketing 21:49:21 I would LOVE to get something onto silicon. 21:49:24 rafb.net/paste <-- if you could write it out in something slightly less compact and unreadable here i'll have an implementation in -3 seconds (yes, i really am that quick.. this is the interpreter: , now show me in 3 seconds) 21:49:55 ok. hang on hlaf a tick. got something on paper a bit readable. brb 21:50:36 bugger. threw the reable one out. liked the formula version as it makes more sense to me 21:50:50 ok. trying to translate back into simple-mode 21:50:54 :P 21:51:23 first note. all addresses are relative to the current program counter (PC) 21:51:42 basic idea is A=A*B+C (simple enough) 21:51:57 calculate X=A*B 21:52:02 es0n00b: so, expanding with the PC: 21:52:11 (PC+A)=(PC+A)*(PC+B)+(PC+C) 21:52:14 right? 21:52:41 es0n00b: also -- just confirming, how many operands does it have? 3? 21:52:56 kind of. the MOD and DIV in the formula version are to do with F() - ie to get the low or high end of A*B 21:53:04 4 operand 21:53:20 A=A*B+C. Jump D on right conditions 21:53:30 ok 21:54:02 X=A*B 21:55:02 if (Dand2) then Y=X DIV 2^64 else Y=X MOD 2^64 (assuming 64-bit) 21:55:37 assuming 64-bit? 21:55:40 A=Y+C mod 2^64 21:55:44 well that's a pretty big assumption :) 21:55:57 yeah. substitute 2^16 if you want a 16 bit computer, etc 21:56:38 if B=the bits, and D=the size of ints/pointers, then does B have to =D? 21:56:47 or is it OK as long as B<=D 21:57:23 if Y+C>2^64 then jump PC+(d and not 3)+4 else jump PC+4 21:58:49 trying to keep things simple. if its an 16-bit computer then each operand is 16 bits long and computer has a 2^16 word memory (128K) 21:59:28 es0n00b: OK, so if an operand can store more than 16bits or a memory cell can -- that's bad? 21:59:37 because, in C, there's no decent way to determine this kind of thing 22:00:05 have purposely used jump addresses relative to the next instruction, so that a jump to +0 is not a jump at all (ie it will force a jump to next instruction) 22:00:17 es0n00b: hmm, i have a question 22:00:23 yes 22:00:26 which bit-size do you reccomend for an implmentation? 22:00:29 32-bit? simplest 22:00:57 but maybe not enough memor 22:00:57 y 22:01:03 any could do. depending on how much memory you need to play with 22:01:13 -!- Sgeo has joined. 22:01:39 id got for 16-bit to begin with. 22:01:57 2^16 memory cells. 2^12 instructions. enough to do a bit 22:02:11 es0n00b: OK. It might be more elegant if you don't involve bit-sizes at all. 22:02:31 Might make in-silico harder, but makes it turing-complete. 22:02:36 bitsize is vital 22:02:47 ok 22:02:53 es0n00b: do the noticable semantics change with bitsize? 22:02:58 i.e. programs are totally different 22:03:04 yes. infinite bit-size is turing-complete. finite bit-size is practical 22:03:21 umm... 22:03:56 es0n00b: Who's there?! 22:03:59 es0n00b: i'm just asking :P 22:04:08 change in bit-size will change the programming 22:04:13 faxathisia: he's a telemarketer who's come up with a OISC that he thinks might be better in-silico 22:04:28 es0n00b: what i mean is do all programs change substantially or could you look at them and go 'yeah i guess they do the same thing' 22:04:31 ehird'-- thats cool 22:04:33 ehird that is not a knock knock joke ;( 22:04:50 (I was doing a PhD once... dont ask) 22:04:56 faxathisia: think about it right and it is 22:05:16 Oh, I will ask. 22:05:35 (oerjan, one of the regulars here, is IRL Dr. Johansen. :p) 22:06:11 the reason bit-size is important is the condition-branch is dependant on it 22:06:28 (still trying to translate math to english) 22:06:36 es0n00b: ah, ok 22:06:37 hehe 22:06:42 es0n00b: so it makes sense to decide, like, right now 22:06:42 :P 22:06:46 Hi all, ehird` faxathisia, es0n00b 22:06:58 hey 22:06:58 how much memory do we want?? 22:07:11 One bit. 22:07:17 es0n00b: a lot 22:07:23 16 bit gives us 128K, 32 bit gives us 16GB 22:07:29 and 64bit? 22:07:40 64 bit gives us over 134,000,000 TB 22:07:47 es0n00b: ok, here's the decider: 22:07:48 Nets you 2^54 bits. More than enough. 22:07:50 which is easiest to program for? 22:07:58 s/54/64/ 22:08:11 ehird`: They're actually equally easy. 22:08:19 pikhq: even with his semantics? 22:08:25 he says the condition branch is dependant on it 22:08:26 uint_8, uint_16, uint_32, uint_64. . . 22:08:35 bit-size doesnt change ease of progamming. just possible maximum memory 22:08:36 What sort of semantics would change with bit size? 22:08:43 pikhq: i don't know, but he says they do 22:09:09 es0n00b: OK. Then I would say 64-bit, but then again I cannot think of one use an esolang would have for >16GB memory -- but the larger ints might be useful 22:09:12 once i define the branch insturcion to english, you'll understand 22:09:15 But not 8-bit, i think. 22:09:28 ok. lets use 8-bit 22:09:31 ... 22:09:33 xD 22:09:44 A=8 bit, B=8bit 22:09:47 es0n00b: 8-bit would be a big mistake. 22:09:51 A*B=16 bit 22:10:00 ok ok ok 22:10:01 sooner or later, someone will come up with an awesome program that uses more than 128k 22:10:02 and you're dead 22:10:03 :D 22:10:23 ok ok. lets start with 32 bit 22:10:32 a=32bit, b=32bit 22:10:33 best idea, i think 22:10:37 a*b=64bit 22:10:45 f(a*b)=32bit 22:10:56 f() is the important part 22:11:22 f() returns to top 32 bits or the bottom 32 bits of a*b 22:11:52 IE (dand2)=0 -> f(a*b)=lowest 32 bits of a*b 22:12:02 (dand2)=2 -> f(a*b)=lowest 32 bits of a*b 22:12:06 sorry 22:12:14 (dand2)=2 -> f(a*b)=highest 32 bits of a*b 22:12:32 d&2, right? 22:12:33 bitwise 22:12:51 but i get what you're saying 22:12:53 all bitwise. my thoughts are for silion efficiency 22:13:02 a=f(a*b)+c 22:13:50 if f(a*b)+c is smaller than 32 bits than jump d, otherwise jump next instruction 22:14:15 'smaller than 32 bits'? 22:14:22 you mean, fits into 31 bits or less? 22:14:44 my mistake. sorry. the maths does get complicated 22:14:55 indeed 22:14:57 i should mean, fits into 32 bits or less 22:15:18 IE a=(f(a*b)+c)mod(2^32) 22:15:18 ok 22:15:24 so below 33 bits 22:15:25 the 33 bit is truncated 22:15:44 33 bit controls the jump, but is not stored in A 22:16:07 -!- sclv_ has joined. 22:16:14 the reason for this comes to to implementation of 64bit multiplication in 32bit computer 22:16:56 if 33nd bit is on in the first instruction, a carry has occurred and must be added to the top 32 bits 22:17:30 a=32bit, b=32bit, c=32 bit, d=32bit 22:17:58 the bottom 2 bits of D are ignored for the jump. 22:18:21 -!- atsampson has joined. 22:18:38 IE: PC=PC+(Dandnot3)+4 :: the +4 makes jumps relative to the next instruction 22:19:19 es0n00b: i hope you're saving this to put in a textfile :-) 22:19:53 ie NMISC A B C 0 is forced to jump to the next instruction, and NMISC A B C 4 will skip the next instruction if bit33 is clear (ie no carry) 22:21:00 the whole picture of the idea is all stored in my brain. the details are all to do with practicality. 22:21:39 -!- Corun has joined. 22:21:45 NMISC A,-1,C,D == A=C-A, jump D if bit33 clear 22:22:20 NMISC A,0,C,0 == A=C. no jump 22:22:27 es0n00b: your conciseness makes me think you should be a forth programmer 22:22:28 :P 22:22:54 hehe 22:23:46 i had an electronic set as a kid, and was got into transitor-transitor logic 22:23:58 Heh. 22:24:03 Maybe I should get one! 22:24:42 its crazy that all digital logic can be made using only NAND gates. thats when i first had an idea of a minimal computer. it's only now that things are coming to fruition 22:25:50 eg OR(A,B)=NAND(NAND(A,A),NAND(B,B)) 22:26:59 thats probably why im used to seeing it all as digital formulas but have so much trouble communicating the idea across right 22:27:47 the D=0 -> no jump thing is also useful, as it leads to some neat tricks. 22:27:55 Also works with nor. 22:28:25 ** high five slereah_ 22:28:26 I wonder if you could make something with imply and some bit consistently defined as 0. 22:28:40 You can derive all logical operators from imply and false 22:28:57 But I'm not sure how that would play out on silicon 22:29:27 i was trying to work with only NAND for ages. it is possible to make an OISC in NAND, but its horrible 22:29:48 Heh. 22:30:03 OISC always feels like cheating to me. 22:30:22 Sure, it's got one instruction, but it has three parameters and symbols! 22:30:43 somthing as simple as addition in NAND requires programming a version of the full-adder circuit. start thiniking about multiplication and its a nightmare 22:31:02 Write a program to translate it? 22:31:07 thats what lead me to the NMISC idea (that and discovering OISC/MISC) 22:32:14 yeah - OISC isnt the most difficult esolang 22:32:43 Well, it's not the easiest. 22:32:56 BF and the like are good if you want a challenge. I'm looking for something practical though 22:33:35 NMISC shouldnt be too hard to pout onto a Field-programmable gate array 22:33:41 pout=put 22:33:58 I was imagining the program pouting. 22:34:00 es0n00b: hm, my haskell NMISC isn't getting too far yet: evalStateT (writeMem 0 1 >> readMem 0) baseMachine 22:34:03 lol 22:34:03 it's returning 0 22:34:04 :P 22:34:35 it's all addition, multiplication and a little boolean-logic 22:34:38 es0n00b: actually, writing stuff like this in haskell is odd 22:34:54 you get your provably-correct, purely-functional, mathematically-valid program and add all this generic stuff :) 22:35:04 its still good for it, though 22:35:30 woop 22:35:31 memory works :P 22:35:34 ok. my wife is awake, so i probably got to go soon. 22:35:46 es0n00b: now as soon as you've got the instruction written down and put somewhere i'll implement it ;) 22:35:46 -> chloroform 22:35:51 heh ok then 22:35:56 i'll try and understand myself.. 22:36:07 think i might flesh this idea out, put it on paper, then maybe write a NMISC page onto esolang.org 22:36:44 my email is cdgamlin AT hotmail DOT com 22:37:05 es0n00b: really, for this implementation i just need a description of the one instruction and the IO model 22:37:12 rafb.net/paste will store it too 22:37:30 an esolang page would be great when there's a 'hello world' :P 22:38:07 love to hear any experiments if the model gets up and running. email me your emails and i'll write you a full description of NMISC, and probably a pseudo-code BASIC version 22:39:03 don't have access to an email client here 22:39:07 could probably write the "hello world" on paper faster than I could write a NMISC emulator. like I said, translating from MISC to NMISC is trivial 22:39:42 ok 22:39:50 if we have a hello world and how it works then an impl should be easy 22:39:58 NMISC just has more efficient ways to do things requiring multiplication (like almost all real-world math) 22:40:40 ok. I'll write a "Hello World" to the NMISC page on esolang.org 22:40:54 one question: 22:41:08 The answer is pi/2 22:41:09 what memory address is best for memory-mapped I/O 22:41:37 Memory adress 1.57 22:41:40 i'm thinking last two memory cells 22:42:41 ie FFFF and FFFE in hex (for 16 bits). Dont know if it makes much difference though. 22:42:56 ok. wife wants me to do things. back later 22:43:01 thanks guys 22:43:25 nice to be able to share this crazy idea with ppl who might understand (and not look at me like i'm a nutter) 22:43:31 Bai. 22:43:44 I'd love to understand moar though ":0) 22:43:45 es0n00b: wait 22:43:47 i think 0 and 1 22:44:13 it means that if you eat a lot of memory you don't have to think about it 22:44:14 just start at 2 22:44:44 could use 0 and 1 22:45:25 if the first instruction is 0: NMISC 0 0 0 0, it returns A=0, and goes to the next instruction anyways 22:46:12 ok - ciao for now 22:47:14 bye :) 22:47:24 Bye. 22:50:35 -!- es0n00b has quit (Read error: 54 (Connection reset by peer)). 22:52:51 -!- sclv_ has quit ("http://www.mibbit.com ajax IRC Client"). 22:54:49 we need a composition-lambda-calculus 22:54:58 it's lambda-calculus without the lambda, but it's not combinator calculus 22:55:02 because it's based on function composition 22:55:39 "function" composition? 22:55:58 faxathisia: FUNCTION! composition 22:56:07 you should just compose compositions 22:57:30 * slereah_ once had an idea of a lambda calculus without lambda. 22:57:45 Just using capital letters for bound variables. 22:57:55 But it seemed impractical 22:57:57 zzzzzz 23:02:02 faxathisia: that's kind of... non-universal 23:02:18 but a few primitives (one letter or symbols, of course) + composition = ? 23:02:29 and of course you can make the composition operator implicit 23:02:34 and get a concatentative language 23:02:49 if you go all the way and make it a stack language, then ais523 or oerjan i forget which -- suggested that 'dip' might be the operator 23:03:15 ( .a b ( .a -- .b ) -- .b b ), that is 23:03:30 1 2 3 [+] dip => 3 3 23:07:59 -!- oerjan has joined. 23:13:02 Problem with esolang is, it's hard to look back in your code. 23:16:20 Man, that BF interpreter is a mess. 23:28:04 Hi oerjan 23:28:12 hi 23:30:11 -!- pikhq has quit ("leaving"). 23:32:24 -!- pikhq has joined. 23:32:38 -!- pikhq has quit (Client Quit). 23:33:21 -!- pikhq has joined. 23:34:09 wb pikhq 23:34:43 -!- pikhq has quit (Client Quit). 23:36:45 -!- pikhq has joined. 23:37:20 pikhq, ?? 23:54:35 -!- jix has quit ("This computer has gone to sleep"). 23:55:21 -!- olsner has joined.