00:01:46 bsmnhttp://en.wikipedia.org/wiki/Symmetric_monoidal_category 00:01:53 bsmntbombdood: http://en.wikipedia.org/wiki/Symmetric_monoidal_category 00:01:59 -!- ehird` has quit (Remote closed the connection). 00:02:12 -!- ehird` has joined. 00:03:03 ehird`: i strongly doubt those pi-calculus people meant anything that advanced :D 00:03:24 Ooh, pi calculus. 00:03:31 I should study it eventually. 00:03:37 * bsmntbombdood is trying to learn it 00:03:50 And gauge theory, which is oh-so-important for particle physics. At least, it seems important. 00:08:24 -!- jix has quit ("CommandQ"). 00:33:55 -!- Sgeo has joined. 00:36:29 Hi all 00:36:42 * Sgeo pokes ihope, oerjan oklopol 00:36:50 and ehird` 00:36:50 Ello. 00:36:55 Who's oerjan oklopol? 00:36:59 Or is oerjan the new and? 00:37:05 :-P 00:37:24 well, if bsmntbombdood is xor... 00:37:39 I'm completely redoing PSOX 00:41:27 Anyone going to ask me why? 00:42:13 Sgeo: Self-whoring. 00:43:23 As far as I can tell, it would be near-impossible for the server to determine when the client is requesting input.. 00:45:17 -!- ehird` has quit. 00:45:22 The system domain is moving to 0x02 00:45:29 0x00 and 0x01 will be special cased 00:45:44 0x00 0x00 is 'print next character safely' 00:45:55 and does not require a 0x0A after it 00:46:39 0x00 0x01 will be for input 00:46:46 * Sgeo gets to writing the revised specs 00:52:10 -!- oerjan has quit ("Good night"). 01:00:54 -!- RedDak has quit (Read error: 113 (No route to host)). 01:40:00 -!- sebbu has quit ("@+"). 02:00:36 argh 02:00:45 BRB then I'll start writing the new specs for real 02:00:59 (x){x(x)}((x){x(x)}) 02:01:06 hm? 02:01:13 \mnfx.mf(nfx) 02:01:29 No, the equivalent is \x.xx \x.xx 02:01:40 you need a () 02:05:07 eh? 02:05:50 egads 02:16:37 pi calculus is teh confusing 02:16:48 i don't understand the new thing 02:24:10 Yay, pi calculus. 02:24:27 And suddenly, I wonder why I've been writing (\x.xx)(\x.xx) instead of (\x.xx)\x.xx... or have I? :-P 02:26:28 run to the hills 02:26:32 run for your life 02:29:58 lambda calculus is so easy to understand, why not pi? 02:33:49 Because it's different? 02:33:54 Go learn gauge theory instead! 02:34:32 Or get a parallel text description of pi calculus. 02:34:50 Formal on one side, intuitive on the other. 02:35:09 bleh at input function 02:35:47 `,` won't be enough to get input in PSOX anymore 02:35:58 ^^main point of the revisions 02:38:01 * Sgeo was thinking something like `[-].+..+++++++++.,` would be a (naive) replacement, but it won't 02:38:23 There will be a newline that will need to be discarded after the ,' 02:39:03 erm 02:39:32 well, it would be `[-].+..+++++++++.,,,` then an extraneous newline 02:39:48 * Sgeo pokes ihope and pikhq and people 02:41:12 Bleck. 02:41:27 That's *remarkably* bad. 02:41:55 The PSOX server needs to be told somehow to get input 02:42:01 to give to the client 02:42:48 Would taking away a `,` or two help at all? 02:43:30 Incidentally, that wouldn't be needed for every `,`, only for people who like Search&Replace and are basically idiots 02:44:44 might it help if I said that it's sending (0x00 0x01 (input function) 0x01 (number of bytes) 0x0A (newline)) and returning (EOF status) (number of successful bytes) (the byte) (newline)? 02:45:04 * Sgeo pokes pikhq 03:09:55 pikhq, http://sgeo.diagonalfish.net/esoteric/psox.txt 03:10:00 see under Pseudodomains 03:11:05 and oklopol and GregorR and ihope and and and 03:20:57 Anyone here? 03:21:06 ihope, pikhq EgoBot GregorR ? 03:30:42 * Sgeo watches tumbleweeds float bye 03:31:46 * pikhq joins the tumbleweeds 03:32:02 erm.. 03:32:48 -!- Tritonio has quit (Remote closed the connection). 03:34:03 pikhq, any comments? 03:55:10 psox has not sense 04:21:35 * Sgeo makes a #PSOX 04:23:33 * bsmntbombdood makes a #doesn't-care 04:23:50 * Sgeo enters that channel 04:23:54 >.> 04:24:00 * Sgeo pokes pikhq and ihope and and and 04:38:20 -!- rutlov has joined. 04:46:20 -!- rutlov has left (?). 05:37:14 -!- catron has joined. 05:37:25 hello my fellow devs 05:37:40 Hi catron. 05:37:54 http://sgeo.diagonalfish.net/esoteric/psox.txt 05:40:17 -!- calamari has joined. 05:41:38 Hi calamari 05:41:45 hi Sgeo 05:41:47 calamari, you're the PESOIX person? 05:41:59 not exactly 05:42:08 I was working on an implementation of it 05:42:15 oh 05:42:23 He designed the precursor to PESOIX, IIRC. 05:42:25 Integrated with a BF interpreter? 05:42:34 I defined ESOApi 05:42:36 Or separate? 05:42:37 oh 05:42:53 it was for Linux 05:42:56 Because if it was separate, I'd really like to know how it was done 05:42:59 (PESOIX) 05:43:18 I couldn't get the piping to work correctly, so the project got stuck 05:43:22 ah 05:43:45 couldn't determine when the BF interpreter or whatever wanted input? 05:43:49 ESO api was implemented as a 512-byte x86 boot sector 05:44:07 Sgeo: yeah it buffers stuff and messes it all up 05:44:14 buffers stuff? 05:44:25 Sgeo: the OS 05:44:30 Is it possible to find out when a program is requesting input? 05:44:34 Or is that meaningless? 05:44:39 Sgeo: yes and no 05:44:45 calamari, how? 05:45:04 The oft-broached idea of the Brainfuck OS. . . 05:45:16 pikhq: broached? 05:45:29 calamari, how do I determine when the program requests input? 05:45:34 calamari: Excuse me, I may be using odd vocabulary ATM. 05:45:47 My brain is getting shot by it being 11. . . 05:45:57 And me having woken up at 5:20 today. 05:45:59 It's 12:45AM here.. 05:46:08 calamari, how? 05:46:19 pikhq: nah my vocabulary is just smaller it seems 05:46:41 Sgeo: I don't remember all the details anymore.. that was a long time ago 05:46:50 For the buffering issue, I just sticked newlines everywhere 05:47:08 Sgeo: I was trying to do it so that interpreters wouldn't need to be modified 05:47:10 But that doesn't help me know when the program is requesting stuff on stdin 05:47:11 (transitive) (figuratively) To begin discussion about (something). 05:47:14 From Wiktionary. 05:47:14 calamari, same here 05:47:37 although I'm thinking about my own spec, PSOX 05:47:42 Guess I was using valid verbiage, even at this time of night. 05:47:58 calamari: Let me just say that PSOX seems to be a sanely-done PESOIX for the most part. 05:48:08 pikhq, did you see the changes? 05:48:10 pikhq: yeah .. I looked it up in my paperback dict 05:48:24 (although I need to look at the spec when I feel more ready & awake for programmatical thought) 05:48:28 Not yet. 05:48:43 * Sgeo made it so that the BF program needs to send a command in order to receive input 05:48:49 anyhow, after all the bf os talk, I seem to be so far the only one who has actually done anything about it.. that I am aware of anyhow 05:48:59 * pikhq nods 05:49:08 Hmm. 05:49:12 because I can't seem to work out how to detect when something requests stuff on stdin 05:49:20 * pikhq notes that calamari missed out on PEBBLEversary. :p 05:49:24 http://sgeo.diagonalfish.net/esoteric/psox.txt 05:49:42 (new version, with a bit of strangeness due to copy&paste goodness 05:50:04 http://sgeo.diagonalfish.net/esoteric/psox-old.txt is without the send-a-command-to-get-input thing 05:50:43 * Sgeo pokes calamari to those URLs 05:51:13 hm, the "To map a longname (e.g. "http://example.com/longname") to 05:51:13 an odd shortname (e.g. 0x03):" thing is a bit dated 05:51:16 I don't like the idea of needing a PSOX command to get something from stdin. . . 05:51:44 If there's a better way to do it, like knowing when the client requests data from stdin, I'm all for it 05:51:56 But if there isn't.. 05:52:02 It makes it exceptionally hard to get PEBBLE to work with PSOX. 05:52:12 eh? 05:52:12 PEBBLEversary? 05:52:21 calamari: One year of PEBBLE development. 05:52:40 Sgeo: I was thinking about having PSOX just be supported via some additional macros. . . 05:52:58 couldn't an input macro output some stuff too? 05:53:12 "input" is a builtin. 05:53:25 make a p_input macro 05:53:29 guess I need to catch up.. 05:53:33 * calamari looks up PEBBLE 05:53:45 calamari: BFM got renamed to PEBBLE. 05:53:54 A few months ago. ;) 05:54:03 ahh 05:54:06 Sgeo: Removing source-compatibility. 05:54:36 pikhq, eh? Programs not written for PSOX don't need to be compatible with PSOX 05:54:39 erm.. 05:54:59 A program written for PEBBLE should work regardless of the target language. 05:55:01 If PSOX-Init isn't the first thing output, PSOX ignores it 05:55:16 (unless it uses a language-specific feature) 05:55:38 PEBBLE programs that don't output PSOX-Init will still work 05:55:45 Same thing that PESOIX does 05:55:51 You don't seem to get the point. . . 05:56:11 I want the same PEBBLE input to work regardless of whether it targets Brainfuck or PSOX+Brainfuck. 05:56:44 I want to be able to just plug in PFUCK and PSOX-specific versions of the PEBBLE macros and get a program taking advantage of PSOX. 05:57:09 ..That's meaningless. If it uses no PSOX features, then it just targets BF 05:57:26 * pikhq beats Sgeo for being clueless 05:57:41 The PSOX-specific versions of PEBBLE macros could well be using PSOX features. 05:58:18 I don't want to rewrite *every single PEBBLE program* to be able to take advantage of features added by PSOX, when I could just rewrite the PEBBLE stdlib instead. 05:58:24 So if it wants to take advantage of PSOX then it needs to emit PSOX-Init at the beginning anyway, and be written for PSOX 05:58:38 oh 05:58:38 * pikhq beats Sgeo some more. 05:59:26 So instead of having to replace stuff, you just want to be able to add PSOX stuff in, and not worry about s/input/p_input/? 05:59:35 Yes. 06:00:20 Memo me if you can solve the pipes problem 06:00:25 G'night 06:00:26 Now, an easy way to tell whether a program wants to read a return code. . . If there is a return value that has not been read, put that into stdin. 06:00:37 Erm. 06:00:40 hm? 06:01:25 read_from_stdin(){if(return_code_not_read()) putchar (return code); else putchar (getchar());} 06:01:52 What's return_code_not_read()? 06:02:18 ... 06:02:29 A chunk of psuedocode? 06:02:32 Imean, how does it work? 06:02:56 I guess, if the stdin pipe or whatever holds a readable queue.. 06:03:04 If there's something returned from a PSOX function that hasn't been received yet, it returns true. Otherwise, it returns false. . . 06:03:19 Can I tell if it's been received yet? 06:03:31 Imagine that you've got a queue into which PSOX function return values are put into. 06:04:08 You pop from that when reading a return code. . . If the queue is empty, everything has been received by the program. 06:04:31 How do I know that the client wants to read anything? 06:04:37 and thus to pop something? 06:05:07 Hmm. 06:05:53 Easier solution: just always put return values to the program's stdin, and take advantage of file-stream buffering. 06:06:18 file-stream buffering? 06:06:37 cat foo | bar 06:06:55 How could I take advantage of that like that? 06:06:58 Ignore my "easier solution"'s explanation. 06:07:39 In that pipe (as with any other pipe), cat won't output everything at once. When it outputs something, the output function makes it halt until bar reads from its stdin. 06:08:00 How does it do that? That's what I need 06:08:17 It does that via the magic of Unix. 06:08:23 ..I mean, unless it's really putting things into a stdin queue for bar.. 06:08:30 pikhq, can I hook into it easily? 06:08:45 Just set up a pipe; it's a fairly mundane part of the POSIX API. 06:09:07 But I need to know WHEN bar requests input 06:09:17 Before or after bar outputted some command.. 06:10:08 * pikhq beats his head into the desk 06:10:13 pikhq, hm? 06:11:39 If there is anything on PSOX-interp's stdin, put that into PSOX-program's stdin. Then, if a command is executed, put that command's result to PSOX-program's stdin. 06:11:45 There, your algorithm. 06:12:38 hmm.. 06:12:39 G'night 06:12:44 g'night 06:12:45 Memo me with any more thoughts 06:12:53 -!- Sgeo has quit ("Ex-Chat"). 06:26:20 -!- catron has left (?). 06:56:41 -!- g4lt-mordant has changed nick to g4lt-xperienced. 06:56:48 -!- g4lt-xperienced has changed nick to g4lt-eexperience. 06:57:16 -!- g4lt-eexperience has changed nick to g4lt-experienced. 07:27:58 -!- calamari has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:06:23 -!- sebbu has joined. 09:47:19 -!- RedDak has joined. 11:04:11 -!- oerjan has joined. 11:38:24 -!- jix has joined. 13:07:09 -!- ehird`_ has joined. 13:37:40 so, bsmntbombdood = xor 13:37:41 oerjan = and? 13:38:07 that IS the NATURELLE CONCLUSION 13:38:38 i like the NATURALLE CONCLUSION 13:39:25 hmm 13:39:27 what is just normal or 13:39:59 gregOR, perhaps 13:40:00 how about or = GregorR, not = ihope 13:40:04 whoa 13:40:05 we think alike 13:40:39 hmm 13:40:52 implies = pikhq? 13:42:01 ok 13:42:05 P = RodgerTheGreat 13:42:14 Q = ? 13:42:26 sukoshi 13:42:53 ok 13:43:05 what about ( and ) 13:43:15 aha 13:43:25 since they have no "real" value 13:43:26 bots. 13:43:35 bsmnt_bot = ( 13:43:37 cmeme = ) 13:43:58 Sukoshi oerjan bsmnt_bot Sukoshi pikhq RodgerTheGreat cmeme 13:45:00 if i have got the notation right, that is Q and ( Q implies P ) 13:47:15 ihope bsmnt_bot RodgerTheGreat oerjan ihope RodgerTheGreat cmeme 14:20:17 -!- RedDak has quit (Remote closed the connection). 14:33:37 :D 14:33:54 -!- oerjan has quit ("Dinner"). 14:50:47 -!- jix has quit (Nick collision from services.). 14:50:59 -!- jix has joined. 15:09:51 woah, kickass. I'm a variable. :D 15:17:47 :) 15:18:34 although operators are pretty sweet as well 15:18:46 i wouldn't trust you to operate on anyone, RodgerTheGreat 15:19:06 yeah, I'm no doctor. I am, however, a SCIENTIST! 15:19:30 oh god i hope not 15:21:23 don't you mean "ihope ihope"? 15:21:32 X( see what i mean 15:21:53 hm 15:22:08 speaking of esoteric thinsg, 15:22:12 *things 15:22:37 does a Python-based music programming software count? 15:22:50 here's the "official" lowdown on what that actually means: 15:22:51 "The idea is that you have various instruments - which are (suprise suprise) Python classes, and you write some code using a library which takes some input parameters, does something (Runs a cellular automata? Generates a sine wave? Distorts a sample in some way?) and returns some audio. Now, for each track in the application you write code to call the various instruments, and the track's volume etc. plus you can write a sort of middle 15:22:58 (did that all get through?) 15:23:46 "...plus you can write a sort of middle" 15:23:58 ware for a whole track which will apply to all audio played on it. Then it just mixes it together and produces the track." 15:25:25 interesting 15:26:02 would the "track" ultimately sound musical or consist of usable binary data of some kind (or both, via some odd interlacing method or somesuch?) 15:26:24 well, it depends. 15:26:31 you write the instruments and arrange them, after all 15:26:43 but that's just a frontend (exporting or playing back etc) 15:27:18 probably i'd just code it so it can play the track back or export to .wav/PCM 15:27:24 two most common operations i'd say 15:29:44 :) 15:30:41 so last night I wrote another scripting language 15:31:23 oo 15:31:27 this one actually seems pretty useful, but I'm still tweaking the syntax a bit 15:31:52 it has recursion, something akin to function pointers and some other nifty stuff 15:33:46 i think i'll implement a first prototype of that music software 15:33:50 as soon as i find an audio lib for python 15:33:50 :/ 15:33:55 go for it 15:33:58 hm 15:34:04 something that can generate tones (sine waves, etc) but can also modify samples 15:34:05 minor stumbling block 15:34:17 does python have SDL bindings? 15:34:17 (preferably everything from adding and removing single samples to changing the volume, etc) 15:34:21 and yeah, pygame 15:34:29 but pygame isn't that fun :p 15:34:31 I got the impression audio synth and the like are pretty easy in SDL 15:35:21 its not really an audio synth though is it? 15:35:33 it's just something that can morph and generate sounds 15:36:26 well, that involves exactly the same kind of stuff, at the end of the day 15:36:30 true 15:57:19 hm, i wonder how i should implement the middleware 15:57:41 -!- Sgeo has joined. 15:58:46 RodgerTheGreat: have any ideas how i could implement the middleware functionality? 15:59:08 hm 15:59:40 would it just be a data structure for music that calls "instruments" in sequence, or what? 15:59:49 the idea, of course, is that you could hook up the "reverb" middleware to an instance of the "echo" middleware which is given the current track 16:00:00 something like 16:00:11 Reverb.apply(Echo.apply(self)) 16:00:14 Hi all 16:00:14 you get the idea 16:00:23 tracks would probably just be a special case of middleware 16:00:37 maybe Reverb(settings).apply(Echo(settings).apply(self)) 16:02:01 hm, no, that wouldn't be good 16:02:03 maybe: 16:02:19 echo = Echo(settings) 16:02:24 echo.apply(Reverb(settings)) 16:02:26 self.apply(echo) 16:02:48 so middleware.apply(other_middleware) morphs middleware to have other_middleware in it 16:03:51 does that sound like a good way, RodgerTheGreat? 16:03:58 could work 16:04:26 i'll write a full sort of example 16:07:17 * Sgeo pokes pikhq.. 16:07:52 and GregorR and ihope for good measure 16:10:36 Why is it that it seems no one cares? 16:12:01 * pikhq wakes 16:12:15 hi pikhq 16:12:22 Sgeo: because people do other things than talk about psox 16:12:56 * Sgeo goes to #PSOX 16:13:16 hm 16:13:57 pikhq, re: your idea, couldn't it cause a race condition or something? Or at least cause problems with users entering stuff before the program asks for it? 16:15:00 The user would need to correctly be able to determine that the program wants input, and not provide too much, I think 16:15:13 Unless the program had to scroll pass newlines maybe? 16:15:19 * Sgeo is not fully coherent right now 16:16:05 nonlogic dump is the official pastebin of here isn't it? 16:16:17 ehird`_, hm? 16:16:28 RodgerTheGreat: http://nonlogic.org/dump/text/1189264162.html here's a kind of example 16:16:39 the newlines doubled up randomly in that paste o_O 16:22:39 Sgeo: Hmm. That actually is a bit tricky. 16:23:39 Incidentally, is output a builtin in PEBBLE? 16:23:57 obviously. 16:24:04 it DOES compile to brainfuck... 16:24:30 So then in any spec, output would need to be changed, or a p_output made.. 16:24:41 >.> 16:25:26 How is making a p_output different from requiring a p_input? Not that I wouldn't like a nice solution to the pipes problem that lets input be `,` mind you 16:33:37 * Sgeo pokes pikhq, then goes AFK 17:49:02 wrong 18:01:38 I might be able to get stuff to work in PEBBLE. . . 18:01:56 New PEBBLE-specific pass. 18:03:01 Provide the p_input, p_output, and p_string commands, which will output via just "," and ".", rather than the in and out macros, which will call the PESOIX functions. 18:06:19 -!- sebbu2 has joined. 18:08:19 -!- g4lt-experienced has changed nick to g4lt-mordant. 18:13:34 -!- sebbu has quit (Nick collision from services.). 18:13:37 -!- sebbu2 has changed nick to sebbu. 18:39:16 -!- KajirBot has joined. 18:40:25 -!- KajirBot has quit (Remote closed the connection). 18:41:12 -!- jix has quit ("This computer has gone to sleep"). 18:42:51 -!- ehird`_ has changed nick to ehird`. 19:08:27 pikhq, you mean PSOX? 19:08:30 afk 19:08:37 Right. 19:11:35 * Sgeo is here only for a few min right now 19:11:42 I'll be back laterish maybe 19:12:31 um, actually, I can't risk the computer beeping 19:12:31 Bye 19:12:36 -!- Sgeo has quit ("Ex-Chat"). 19:59:53 -!- oerjan has joined. 20:20:18 -!- ehird` has quit (Remote closed the connection). 20:20:39 -!- ehird` has joined. 21:00:55 -!- importantshock has joined. 21:29:15 -!- ihope has quit ("Reconnecting..."). 22:37:45 -!- Sgeo has joined. 22:38:54 Anyone here? 22:47:37 * Sgeo pokes 22:47:47 oww 22:48:09 my eye! 22:49:08 ..oops 22:49:18 *unpoke* 22:49:31 -!- calamari has joined. 22:49:35 Hi calamari 22:49:49 hi 22:49:58 Do you have any code from your implementation of PESOIX that could help me understand pipes? 22:50:19 not sure 22:50:23 let me take a look 22:53:36 -!- calamari has quit (Read error: 104 (Connection reset by peer)). 23:07:06 -!- ihope has joined. 23:09:32 Hi ihope 23:09:42 Ello. 23:10:02 Uh oh. I seem to have two Firefox windows open. 23:10:24 * ihope closes... that one 23:12:01 pikhq? 23:13:18 * Sgeo safely pokes pikhq 23:15:38 Testing http://sgeo.diagonalfish.net/esoteric/psox.txt 23:16:28 Testing PSOXURL/psox-safety.txt 23:16:31 argh 23:16:33 http://sgeo.diagonalfish.net/esoteric/ 23:16:53 http://sgeo.diagonalfish.net/esoteric/psox.txt 23:17:27 * Sgeo pokes pikhq 23:21:26 -!- calamari has joined. 23:21:40 -!- jix has joined. 23:24:00 re calamari, hi jix 23:24:07 hi 23:24:10 moin 23:24:11 sorry, lost power 23:24:14 wb 23:24:27 I was in the process of making the pesoix files available to you 23:25:00 ty (in advance?) 23:25:06 What language is the code in? 23:25:08 * oerjan vaguely recalls someone needing a german. not why, though. 23:25:19 ehh, apache isn't cooperating.. email? (pm is fine) 23:29:18 I could do with some German chocolate cake. :-P 23:29:50 Or maybe I should call it German's chocolate cake, to sort of make a ding in that rumor. 23:29:53 Er, belief. 23:35:58 http://whatscookingamerica.net/History/Cakes/GermanChocolateCake.htm 23:36:15 indeed, i don't think Germans are big on pecans 23:36:44 i could be wrong, of course :) 23:37:21 erm, I don't know C 23:37:27 What's write(), and how does it work? 23:37:39 man write 23:37:48 Yeah, German chocolate cake was named after a guy named German, wasn't it? 23:38:22 I guess PESOIX3.c is the file I should look at for the main loop? 23:38:27 that page says so 23:38:37 calamari? 23:38:49 hi 23:39:03 Is it that PESOIX1-3.c represent attempts? 23:39:06 sorry, I don't remember anymore 23:39:09 yes 23:39:12 ty 23:39:38 and some of those other files are scripts, etc to test it 23:39:52 * Sgeo wishes he understood nonblocking I/O 23:40:00 yeah 23:40:10 /* handle esolang input requests */ 23:40:10 pthread_create(&input_thread, NULL, handle_input, NULL); 23:40:11 hm 23:40:12 like I say.. it never worked properly 23:40:14 Non-blocking I/O? Hmm, that sounds evil. 23:40:35 What is it, anyway? 23:40:35 Was it not working because of line-buffering? 23:40:46 Or for different reasons? 23:41:03 Something where I/O functions return stuff like "no input yet"? 23:41:09 I don't remember now.. maybe Gregor has a better memory than I.. I bugged him about it repeatedly 23:41:24 ihope: right 23:41:37 GregorR mentioned to me that some interpreters might require newlines 23:41:42 Fine as long as there's a "wait for input" function. 23:41:42 That is now part of the spec 23:42:08 An interface that provides a "has anything happened yet?" function but no "wait for something to happen" function is sort of broken. 23:42:10 Gah! What's pthread_create? 23:42:48 Unless, of course, providing only "has anything happened yet?" is more efficient for some reason. 23:42:49 handle_input() 23:42:52 What's this? 23:43:12 This is called IRC. You type stuff here and push this button and people see what you typed. 23:43:25 GregorR, you worked on a PESOIX implementation? 23:43:45 No? 23:44:00 I just laughed as other people tried to hook one up to interpreters that waited on \n. 23:44:16 Um.. different Gregor Richards I guess... 23:44:44 "Copyright (c) 2006 Gregor Richards " 23:45:24 Sgeo: that's Egobot code, lol 23:45:37 GregorR, is it possible to tell if a process is requesting input or not? 23:45:42 you can safely delete those, I was just using them for examples 23:45:58 PESOIX3.c has that copyright notice 23:46:22 /* handle esolang input requests */ 23:46:22 pthread_create(&input_thread, NULL, handle_input, NULL); 23:46:44 Sgeo: oh, probably because I used some of his code in there 23:46:56 Ah 23:47:05 I just need to learn what pthread_create is 23:47:21 should be in your man pages 23:47:47 sgeo@ubuntu:~$ man pthread_create 23:47:47 No manual entry for pthread_create 23:48:07 do you have all the man pages installed? 23:48:16 * Sgeo shrugs 23:49:43 sudo apt-get manpages-dev manpages-posix manpages-posix-dev 23:49:46 the input_thread thing seems to be declared, but not assigned.. 23:49:47 oops 23:49:55 sudo apt-get install manpages-dev manpages-posix manpages-posix-dev 23:50:38 then you should have all sorts of good stuff 23:51:47 * Sgeo wants this thing to work on Windows too, incidentally.. 23:52:10 ahh well then you're out of luck with that code then 23:52:19 but, but cares about Windows anymore? 23:52:24 who 23:56:18 Companies? 23:56:28 Especially Microsoft :-P 23:56:51 And people whose Linux machines don't mix with their wireless adapters. 23:59:07 my IBM Thinkpad at work runs Linux happily, including wireless 23:59:31 Does the PESOIX code know when the esolang interp. requests input? 23:59:39 "/* handle esolang input requests */ " 23:59:50 How does that work? How would I do that in Python?