00:00:04 oerjan: ditto in C and every other language 00:00:09 even lisp has that problem, with mutable cons cells 00:00:20 sure, none of which have type inference 00:01:19 oerjan: what does that change? 00:01:32 seriously, present a program of your choosing 00:01:43 : name ... ; or : name ( before -- after ) ... ; 00:01:46 [quoted] 00:01:51 and make up any library routines you want to demonstate 00:02:12 if a stack can be passed around and mutated then it becomes untenable to decide statically whether runInStack is well-typed 00:02:47 oerjan: i still don't quite understand. can you show a program? :p 00:04:26 let's say there are two copies of a stack on the top of the main stack 00:04:49 you do a pop on one of them 00:05:15 *two shared copies 00:05:19 does coding in non-haskell break your brain? :P 00:05:20 -!- Hiato has quit (Read error: 110 (Connection timed out)). 00:05:39 but yes 00:05:42 with you so far 00:06:16 clearly that one pop has changed the types of the top two elements of the stack 00:06:37 yes 00:06:39 no problem so far 00:06:43 since there's only one object 00:06:49 continue 00:07:17 then you do a drop, and a runInStack with the remaining stack object 00:07:36 so runInStack verifies the types are OK then interprets. 00:07:50 so runInStack needs to do dynamical type checking? 00:08:16 : runInStack ( STACK ( -- a ) -- a ) ... ; 00:08:18 or similar 00:08:27 oerjan: yes. 00:08:29 yes it does., 00:09:36 hm 00:09:54 runInStack might not even be in the library 00:09:56 it was just an example 00:09:59 but yeah: this is OK 00:10:22 it is not statically type inferrable in advance of running the program though 00:10:31 no, because runInStack is a type of eval 00:10:47 oerjan: one thing that is worth noting: how do we express the type of "i" 00:10:54 [X] i => X 00:11:05 we need a way to express a polymorphic function.. which we have: PROG 00:11:10 but then we need to have the return value 00:11:17 : i ( PROG -- ? ) ... ; 00:11:21 so we need a ( -- ) form 00:11:24 but what is it? 00:11:39 * oerjan gives up 00:11:52 oerjan: :( what did i do this time 00:11:52 :P 00:12:27 you are trying to make a language that is a mish-mash of dynamical and static types, and expecting _me_ to have any idea how to type it 00:12:41 well, ok, oerjan, I don't want it to be dynamically typed. 00:12:59 So let's say a stack has a well-defined type at any time. 00:13:05 * oerjan isn't sure he can do it even with static types, to be fair 00:13:09 mm 00:13:16 How about we ditch first-class stacks for now? 00:13:32 oerjan: Let's concentrate on getting Value to be polymorphic, so we can have a Type and do that properly, no? 00:16:52 :) 00:17:01 oerjan: So you said we needed to make Value polymorphic -- how do we do that? 00:18:40 oerjan died 00:18:42 i'm sorry. cannot do it. 00:19:09 literal 'cannot' or 'i cannot'? :p 00:19:24 never should have said that "maybe" 00:23:31 -!- immibis_ has joined. 00:25:44 -!- RockTheDragon has quit ("This computer has gone to sleep"). 00:30:26 oerjan: aww 00:30:27 :) 00:36:55 -!- immibis has quit (Read error: 110 (Connection timed out)). 00:44:29 -!- immibis_ has quit (Read error: 110 (Connection timed out)). 00:44:55 -!- immibis_ has joined. 01:00:28 -!- immibis_ has quit (Read error: 104 (Connection reset by peer)). 01:00:45 -!- immibis_ has joined. 01:03:20 -!- RockerMONO has quit ("gentoo VM, here i come =P"). 01:13:59 -!- RockerMONO has joined. 01:26:08 -!- ehird has quit ("This computer has gone to sleep"). 02:38:07 -!- Insane_ has joined. 02:38:19 -!- Insane_ has quit (Remote closed the connection). 02:54:02 -!- Insane has quit (Read error: 110 (Connection timed out)). 03:20:59 -!- immibis_ has quit ("Clap on! , Clap off! Clap@#&$NO CARRIER"). 03:42:45 -!- Tritonio__ has quit (Remote closed the connection). 04:37:29 -!- Hiat1 has left (?). 05:17:24 -!- GreaseMonkey has quit ("might be back later"). 06:01:44 -!- oerjan has quit ("leaving"). 06:17:53 -!- adu has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:42:45 -!- adu has quit (Remote closed the connection). 11:32:00 -!- RodgerTheGreat_ has joined. 11:32:43 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)). 11:57:24 -!- Tritonio_ has joined. 12:33:21 -!- Tritonio_ has quit (Read error: 113 (No route to host)). 12:47:12 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 12:49:16 -!- puzzlet has joined. 12:57:07 -!- Insane has joined. 12:57:19 I have a pseudo-idea for a new language 12:57:56 Pseudo-stacks? 12:58:06 Maybe a calculations-based language, where different operators (eg. +.*/^%) are different instructions that modify the current memory cell at the same time 12:58:24 Like 5+3*8/2 would be a program 12:58:33 I think some guy proved that the Z3 computer was TC, and it was only able to do that 12:58:59 "It was possible to construct loops on the Z3, but there was no conditional jump instruction (although it would have been rather straightforward to insert one). Nevertheless, there is a way of implementing a universal Turing machine on a Z3 (assuming unlimited storage and zero crashing probability), as was shown in 1998." 12:59:19 http://www.zib.de/zuse/Inhalt/Kommentare/Html/0684/universal2.html 12:59:21 Thar. 12:59:22 Hmm, no, I mean like the + instruction doubles the value at the same time, and the * instruction would print it etc. 12:59:24 things like that 12:59:45 Oh. 13:01:15 Hmm 13:01:26 I'm just trying to invent an interesting new language :P 13:01:45 btw 13:01:50 Is there a language harder than malbolge? 13:01:53 eg. more confusing 13:02:14 I need something to write an interpreter for, now that my C# malbolge interpreter works fine 13:02:39 There's some suggestions to make Malbolge more difficult on the wiki IIRC. 13:04:58 -!- jix has joined. 13:32:32 Would this be confusing enough? A language that's based on the current time. 13:33:00 Instructions would just be wait and execute, and the execution would depend on the current time. 13:33:13 It would be quite vulnerable to lag. 13:37:28 I guess 13:37:43 Also, wereprograms. 13:37:52 PRINTS HELLO WORLD ON FULL MOONS! 13:38:00 reminds me of my "EFFICIENCY" prototype, a language that's so slow programmers *need* to write efficient code 13:38:04 lol 13:38:12 Although for that, I guess you'd need more than just two instructions. 13:38:18 Like also sum conditionals. 13:38:23 maybe 13:38:36 ah brb, need pizza 13:39:15 You'd also have to time the execution time of the commands, otherwise you'd be screwed! 13:45:01 All I need now is a catchy name, and I can start working on it... 13:59:03 back 13:59:16 heh 13:59:22 FuckTime 14:00:30 -!- ehird has joined. 14:02:13 Too expected. 14:02:26 And it won't be brainfuck comands 14:02:38 Erm, no ChanServ in this chan btw? 14:02:46 I dunno 14:02:50 lol 14:02:58 oh wait 14:03:08 I forgot that CahnServ doesn't have to be in the channel 14:03:15 :P 14:03:50 I'd recommend setting chanserv guard on 14:03:52 but w/e# 14:05:42 Let's make the language meep 14:06:00 What are you, a road runner? 14:06:17 Noooah, I arez a bus meep meep 14:07:02 * Insane <3 lolcatz & lolcode 14:07:18 Considering that I want to use the commands more than once every reset of the computer clock, every 60 years or so, I think I'll need some modulo 14:14:26 heh 14:14:47 maybe time of day 14:15:09 like certain programs can only function at 8 pm 14:16:18 Insane: lolcode, insisiting on chanserv... 14:16:19 hmph! 14:16:27 :p 14:16:53 some of us (well, OK, two of us) around here think lolcode's a ripoff :p 14:17:01 off? 14:17:32 rip - off 14:17:38 it's not a big word, i'm sure you can handle it ;) 14:18:09 No, I mean, what is it a ripoff of? ^^ 14:18:29 eh, various similar languages 14:18:36 that take on internet memes and similar 14:18:41 like l33t and the smiley ones 14:18:47 + the hype oh god the hype 14:18:51 the guy who made it is ridiculous 14:19:04 he thinks he's some kind of god and made this awesome creation that everyone loves and wow aren't i awesome 14:19:18 yay, drumming lessons and *coughing fit* church school 14:19:26 See you guys in 5 hours 14:19:30 Bai. 14:19:35 -!- Insane has left (?). 14:19:38 church 'school' 14:19:59 Involves a lot of getting on your knees, wink wink 14:20:05 hah 14:21:21 Hm. Maybe I could do some multiple clocks for clock operations. 14:21:35 For no obvious purpose, but who knows! 14:22:02 : dip (a' (a' -- b') -- b') ... ; 14:23:54 Maybe... some sort of multiple clocks memory 14:23:56 Or something. 14:24:11 Damn. I need some Gary Gum. 14:27:01 -!- pikhq has quit (Read error: 110 (Connection timed out)). 14:27:16 -!- helios24 has joined. 14:37:31 -!- pikhq has joined. 14:44:04 -!- Hiato has joined. 14:44:17 Guess who's back :P 14:45:21 not hiato 14:45:23 ? 14:45:50 damn, was I too obvious... 14:53:16 Slereah: you'd probably need some anti-garry gum, too. 14:54:33 anti garrity gum 14:54:38 It's japanese. 14:55:15 ehird: Garry Gum is most definitely british 14:55:52 http://www.youtube.com/watch?v=MiMWJ1xBo8w 14:55:55 RodgerTheGreat_: 'anti garrity gum' 14:55:58 say it out loud 14:56:55 Look around you even produced a music video! http://www.youtube.com/watch?v=g09gOh2qwug 14:57:10 It's quite good. 14:57:29 interesting 14:57:37 that's from the Computer episode 14:57:38 iirc 14:57:46 Music episode. 14:57:54 ah 14:57:58 well, a computer did it 14:58:01 Though the music was produced by a music-writing computer! 14:59:47 Look around you: computers! http://www.youtube.com/watch?v=diD2lr_BGcU 14:59:58 i love being british 14:59:58 :P 15:00:20 So far, my idea's this. Imagine a Turing machine. Only instead of cells, you have clocks (although the clocks must actually be created by the program). 15:00:48 The program either waits a second, or execute the value of the clock, modulo (number of instructions) 15:03:24 Commands being the creation (or possibly just reseting, if I chose that they exist from the beginning) or a clock, input, output mod 256, changing clock, and so on 15:03:51 Probably some special clock for the computer clock, too. 15:07:53 I have an immense urge to name a computer "Bournemouth" 15:08:10 RodgerTheGreat_: that's actually a good idea 15:08:10 Will it be able to escape a steel cage? 15:08:14 * ehird sets his hostname to that 15:08:28 although bournemouth doesn't really suite an imac 15:08:31 Slereah: if it's powerful enough 15:09:38 -!- timotiis has joined. 15:13:30 Why is there an Esco link in the Byter article? 15:13:42 It doesn't even pretend to interpret it as far as I know 15:13:47 beacuse the esco people are annoying spammers 15:13:48 :) 15:14:10 who also can't write a decent interpreter for even Brainfuck 15:14:36 http://esco.sourceforge.net/?page=elang yep, they don't even claim to interpret it 15:14:38 gah 15:14:57 ' The name of the language is generally not capitalized, although it is a proper noun.' they fucking capitalize it in the same page 15:15:00 how dumb have you got to be 15:15:01 >_< 15:15:43 hi 15:15:49 ehird: the wikipedia page for brainfuck? 15:16:01 RockerMONO: no 15:16:04 esco's carppy site 15:16:13 ah, brainfuck has that same quote =P 15:16:18 *the brainfuck wikipedia page 15:16:38 its copied and pasted 15:17:05 heh 15:17:09 thing that bugs me... 15:17:20 "...and is not suitable for practical use." <-- i made an IRC bot in it 15:17:26 no 15:17:27 you didn't 15:17:29 (using a custom dialect) 15:17:32 exactly 15:17:33 and 15:17:39 that's not 'practical use' 15:17:46 just as much as the mandelbrot program is 15:17:57 What is practical use? 15:17:59 define 'practical use'? 15:18:03 damn Slereah beat me 15:18:14 an illdefined thing but mainly involves 'writing serious stuff' 15:18:30 serious not being like 'I AM SERIOUS GRRR' but things that aren't just amusing toys to play around with 15:18:34 ... like an IRC bot written in BF 15:18:49 ... well the irc bot can parse brainfuck too =P 15:18:54 s/parse/interpret/g 15:18:54 I have a moustache, isn't it serious enough? 15:19:42 issue w/ the bot is it's tendency for the socket to break and send the bot into 50% CPU usage because it isn't using a blocking socket (which slows the loop) >.> 15:20:36 i added 3 commands in my dialect of brainfuck... need to work on the connection itself though (that actually requires a string =P) 15:21:30 What's the dialect? 15:22:18 Slereah: i haven't decided what to call it yet, i made it myself, starting w/ a simple brainfuck interpreter me and danopia wrote in PHP (that in itself is enough to make me laugh:) 15:22:27 in PHP 15:22:27 :| 15:22:40 ehird: dont piss yourself yet, i'm working on one in C++ 15:22:41 RockerMONO: do you even know any non-BF esolangs? 15:22:41 =P 15:22:45 uh 15:22:47 thats just as bad. 15:22:55 What are the differences with BF? 15:22:59 ... ok, and no i dont 15:23:04 Slereah? 15:23:08 RockerMONO: typical. 15:23:12 You know, the dialect. 15:23:15 what you have done is common and uninteresting. 15:23:33 ehird: woohoo thanks for being an ass? 15:23:54 Well, 7 commands. Let's see what I can does with it. 15:24:01 does anyone know a esolang that could be used for anything serious? ;) 15:24:24 tejeez: Theoretical purpose? 15:24:30 ACRONYM, for serious frustration ;) 15:25:15 RockerMONO: it's true. 15:25:29 tejeez: 'xactly, that's the antiesolang 15:25:45 ehird: yea but you dont see anyone else being an ass about it 15:26:16 My ass is, but that's how he's always like 15:26:27 i wasn't being an ass. 15:26:40 maybe you should be more resistant to criticism 15:27:04 Hm. Maybe Clockpunk for the name. 15:27:21 ehird: maybe theirs no reason for criticizing someone messing around because they have nothing better to do at the moment, hm? 15:29:27 criticizing someone for messing around in something they just found not even 3 days ago is about as useful as me dealing with this when i dont even need to be in this channel 15:29:34 -!- RockerMONO has left (?). 15:30:39 sensitive. 15:30:50 And nothing of 15:30:54 def movehead(w, h): 15:30:58 if w=="LE": 15:31:02 a=1 15:31:06 b=0 15:31:10 if w=="RI": 15:31:14 a=-1 15:31:18 b=1 15:31:30 if h==b: 15:31:33 whoa 15:31:33 whoa 15:31:34 h=h+a 15:31:34 whoa 15:31:35 PASTEBIN 15:31:38 elif h>0 and h%2==1: 15:31:39 :| 15:31:42 pastebin!! 15:31:42 h=h+(2*a) 15:31:42 elif h>=0 and h%2==0: 15:31:42 h=h-(2*a) 15:31:42 return h 15:31:42 Damn, wrong buttin 15:32:19 When I say "wrong button", it means I didn't intend to paste it! 15:34:03 that came AFTER you said everything 15:34:08 and way after i told you to stop 15:34:52 Or did it? 15:35:21 yes 15:35:24 [15:31] h=h-(2*a) 15:35:24 [15:31] return h 15:35:24 [15:31] Damn, wrong buttin 15:35:24 [15:32] When I say "wrong button", it means I didn't intend to paste it! 15:37:01 Strange. 15:37:18 nos 15:37:18 no 15:37:20 that's how irc works 15:37:34 [16:30] Damn, wrong buttin 15:37:37 [16:31] whoa 15:37:41 [16:31] whoa 15:37:46 [16:31] whoa 15:37:49 [16:31] PASTEBIN 15:37:50 [16:31] :| 15:37:50 [16:31] pastebin!! 15:37:50 [16:32] When I say "wrong button", it means I didn't intend to paste it! 15:37:50 Time paradox? 15:37:55 no 15:37:56 that's how irc works 15:37:59 How! 15:38:26 -!- RodgerTheGreat_ has changed nick to RodgerTheGreat. 16:21:08 hmm 16:21:11 i want a reason to write something in C 16:25:51 I currently have nuclear missiles directly pointed at your house. 16:26:04 They will be launched if you do not program in C. 16:26:26 time paradoxes are quite common in irc 16:29:20 Slereah: =( 16:29:25 BUT SRSLY 16:29:47 I ARE SERIOUS 16:30:20 Code, or feel the power of my dong! 16:30:23 That is, http://en.wikipedia.org/wiki/Taepodong-1 16:32:40 seems that you killed the whole channel 16:32:52 "The rocket's first stage is a Nodong-1 IRBM." 16:33:06 It's hard to take the nuclear threat that seriously. 16:33:51 me neither, it's also funny for native Koreans 16:34:10 especially when it has an inferior steering mechanism 16:40:02 RodgerTheGreat: Slereah: puzzlet: people who are awake: 16:40:16 http://pastebin.ca/raw/880225 what do you think of my iteration/recursion thingy? 16:40:29 what language is this? 16:40:30 : factorial ( INT -- INT ) [zero?] [1] [1 -] [*] iter-rec ; 16:40:34 RodgerTheGreat: mine 16:40:34 :P 16:40:47 ( before -- after ) is a simple stack diagram, it's a function type 16:41:16 if you look at my factorial, you can see the correspondence with my factorial code 16:41:29 according to oerjan it's Haskell's iterate+takeWhile+foldr all in one 16:41:35 and unfoldr can be built from it, apparently 16:44:28 * Slereah is trying a partial hello world on Clockpunk 16:44:41 Partial because it will already take two minutes to work. 16:47:15 Well, the printing function works okay at least. 16:52:13 Maybe I should work in 0.1 seconds. 16:52:57 -!- Hiato has quit (Read error: 110 (Connection timed out)). 16:55:01 Much better. 16:57:24 Ah yes, the reason why I chose 1 second. 16:57:36 0.01 second makes the execution time matter. 16:59:06 Well, let's try with 1 and go from there. 17:04:08 -!- Hiato has joined. 17:09:35 It seems that the instruction time quickly matters. 17:14:41 try 0.1, not 0.01 17:14:47 I tried. 17:14:53 I also tried 1 second. 17:15:26 I should find out how long each instruction takes. 17:15:47 It might verily be the slowest and least portable language! 17:19:34 -!- puzzlet_ has joined. 17:31:20 :( 17:31:33 it seems c has absolutely no use! 17:31:42 http://pastebin.ca/raw/884902 17:32:06 That's what Hello, world! would look like, assuming that the symbols are evaluated in 0 seconds. 17:32:37 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 17:34:28 Although I wonder if I can actually take advantage of the execution time. 17:34:38 To reduce the number of -'s. 17:36:23 -!- puzzlet_ has changed nick to puzzlet. 17:38:27 puzzlet: you're the one who has loads of logs you can grep right? 17:40:28 i'm the one who seems to, but no, i don't log things 17:43:02 was it timotiis then? 17:43:15 someone was fast with the logs when i asked about my TC regexp conversation with ais523 17:43:28 ehird: that wasn't me, but I can look up who it was for you 17:43:54 or not, I don't log this place apparently 17:44:41 it was: puzzlet or sekhmet then 17:44:44 i dunno 17:44:46 they look right 17:44:55 i think puzzlet really.. 17:45:07 i'd use google 17:45:53 hm ok 17:46:03 nope 17:46:12 ehird: I do 17:46:17 ehird: What do you desire? 17:46:40 sekhmet: hehe, my conversation with faxasthia about concise lisp, and i ought to set up a bouncer so all my logs are in one place.. 17:46:48 :) 17:47:05 ehird: Actually I've gotta split, I'm late as it is 17:47:19 I'll hook you up when I get back (in N hours, where N>2) 17:47:38 alright 17:47:40 bye :) 18:00:16 google isn't helpful ;( 18:00:43 -!- Corun has joined. 18:00:47 THE GOOGLE, THEY DO NOTHING 18:18:09 THE NOTHING, THE DO GOOGLE 18:18:54 -!- Corun has quit ("google..."). 18:25:09 That's what Hello, world! would look like, assuming that the symbols are evaluated in 0 seconds. 18:25:14 what language is that? 18:26:00 ehird, I do log 18:26:05 around when was this 18:26:11 as I rotate logs once / month 18:26:27 and place ones older than 3 months on cd compressed 18:27:04 well 18:27:05 kind of recent? 18:27:11 last 3 months? 18:27:12 either in the past 3 months, or the 3 months before that 18:27:28 I'm not sure I was in this channel 6 months ago 18:27:33 what word to grep for? 18:28:33 ehird, ? 18:28:40 Slereah, I know this is delayed, but could you please paste the pastebin paste in nopatse (that was allot of paste ;) ) because Pastebin comes up as blank in my web browser. You are welcome to deny this request :P 18:28:55 -!- Insane has joined. 18:30:44 ehird, ah "concise lisp" was it? well I found something from this month's log 18:31:13 this month? hm maybe 18:31:19 http://rafb.net/p/kiZFVq83.html 18:31:26 ehird, tell me if you want more context 18:31:38 emacs++ btw 18:32:17 hm 18:32:21 what's emacs got to do with it? :p 18:32:31 jan 15 02:11:10 faxlore: obviously Concise Lisp will come with its own emacs-alike written in Concise Lisp ;) 18:32:32 that 18:32:32 ? 18:32:35 ah 18:32:36 yeah :D 18:32:50 ehird, anyway was this the convo you wanted? 18:32:54 yes, thank you 18:32:54 :) 18:32:56 more context? 18:33:24 yeah, it spanned pretty much all jan 15 18:33:34 hm can I pastebin that much 18:33:56 ehird, well the times are in UTC+2 18:33:58 eh 18:33:59 +1 18:34:00 actually 18:34:10 CET anyway 18:34:30 ehird, so still all of the 15th? 18:35:03 $ grep -E '^jan 15' FreeNode-#esoteric.log | wc -l 1288 <-- hrmm 18:35:05 i think so 18:36:27 http://rafb.net/p/LYZPUZ63.html 18:37:45 ehird, useful? want more? 18:38:32 i think that's all 18:38:32 ehird, also tell me: what is "concise lisp"? 18:38:55 AnMaster: my ridiculous dialect of lisp, created when i saw how shitty arc was going to be :P 18:39:05 arc? 18:39:13 eh, you aren't the best person to talk about this to 18:39:13 :-) 18:39:16 ehird, btw: these logs are from erc :) 18:39:18 PG's terrible dialect of lisp 18:39:20 emacs irc client 18:39:21 AnMaster: aieeee 18:39:25 ehird, what? 18:39:31 concise lisp's editor, though emacs-like, will certainly have no irc client ;) 18:39:32 erc rocks 18:39:47 ehird, aww? but I can check my mail in it I hope? 18:39:52 and play dunnet? 18:40:51 AnMaster: hm, you can check your mail solely on the provision that you're only doing it to edit outgoing mail in it 18:40:52 :-) 18:41:02 heh? 18:41:05 dunnet... hm, maybe if i get bored ;) 18:41:09 and browse the web? 18:41:20 ehird, well may I'll code extensions to it that does irc then! 18:41:25 if I get bored 18:41:28 GNU emacs++ 18:41:30 AnMaster: okay ;) 18:41:48 yeah well concise lisp is a lot saner than emacs 18:41:50 ehird, anyway how does it differ from normal lisp? 18:41:54 for instance it actually has lexical scope 18:41:54 xD 18:42:06 AnMaster: tidied up, some new stuff, and really concise shit 18:42:10 (def accgen [{++ _}]) 18:42:22 * AnMaster mostly codes in C (-std=c99 -Wall -Werror -pedantic) or bash in fact 18:42:25 ^^ i got tired of paul graham saying how great arc was because the accumulator generator was so short in it 18:42:33 I'm not very good at elisp 18:42:43 just did a bit to customize erc with a few custom hooks 18:42:47 you don't want to be elisp is horrid 18:42:50 it's dynamically scoped 18:42:51 :| 18:43:01 hm? 18:43:31 AnMaster: if you define a variable X in function F that calls function G, in G, X refers to F's definition 18:43:34 so: 18:43:45 ah, sounds like local variables in bash 18:43:48 they work that way 18:43:56 (defvar foo 2) (defun f () (let ((foo 3)) (g))) (defun g () foo) 18:43:59 (f) ==> 3 18:44:06 which, of course, is just ASKING for bugs 18:44:14 since what if it's in a long away file, several places up the call stack? 18:44:35 lexical scoping is much better 18:44:36 ehird, well a function local variable in bash is accessible in any functions called from the function that declared it 18:44:41 the example there would return 2 18:44:44 I abused that a few times when coding in bash 18:44:58 because the scoping is inferrable entirely form the source text 18:45:01 thus: lexical 18:45:01 like "return by variable name to avoid slow subshells" in my irc bot in bash (http://envbot.org) 18:45:02 ! 18:45:04 Huh? 18:45:14 using printf -v of bash 3.1 or later XD 18:46:41 ehird, :) 18:47:56 AnMaster: here's how superior concise lisp is when compared to scheme: 18:47:57 jan 15 01:14:11 (def acc [{++ _}]) 18:47:57 jan 15 01:14:24 (define (acc n) (lambda (x) (set! n (+ n x)) n)) 18:48:15 which is which? 18:48:26 former is concise lisp 18:48:30 thus, concise 18:48:37 looks like functional brainfuck 18:48:56 partly 18:49:03 gopher://blubb.ch/1/software/fbf 18:49:11 very interesting brainfuck variant 18:49:26 I got a version that fixes some tracebacks locally, a sec 18:49:40 ehird, gopher://inspircd.dyndns.org/1/Software/fbf 18:50:10 * AnMaster waits for comments on the choice of protocol 18:50:18 nah 18:50:23 i like gopher! (note: lie ;)) 18:50:39 hahah 18:50:45 -!- Tritonio_ has joined. 18:50:47 ehird, anyway it works in firefox 18:50:50 or lynx 18:50:56 don't try wget or curl 18:51:35 ehird, anyway! what do you think of it? 18:51:38 fbf I mean 18:52:40 -!- chuck has quit (Remote closed the connection). 18:52:45 -!- chuck has joined. 18:53:12 fbf? 18:54:16 gopher://blubb.ch/1/software/fbf (and my bug fixed version at: gopher://inspircd.dyndns.org/1/Software/fbf ) 18:55:02 Tritonio_, :) 18:57:22 http://inshame.blogspot.com/search/label/My%20Progs%3A%20FuckBrainfuck 18:59:34 Tritonio_, hm? this is not "fuckbrainfuck" it is "functional brainfuck" 18:59:40 i know 18:59:48 :-) 19:03:51 Tritonio_, so they are different things 19:04:16 Tritonio_, do you provide the source in a easier to read online format than zip? 19:04:25 not exactly. the both compile to brainfuck and support functions... 19:04:41 Tritonio_, I don't want to download it to see it so.. 19:04:45 no. just download the zip and open the Fuckbrainfuck.lua file 19:04:50 sorry 19:04:50 lua? eww 19:04:54 no way then 19:04:59 :-P 19:05:27 fbf (and that refers to functional brainfuck, FBF to your one) is at least C 19:06:13 so? 19:08:13 is there a way to create [] blocks with unbalanced <> ? 19:09:09 in what? 19:09:22 fbf 19:10:33 Tritonio_, not sure what you mean? 19:10:47 some thing like this [->] 19:11:24 should compile in brainfuck, however won't it result in an endless loop? 19:11:38 not necessarily 19:11:50 it might find acell with value 1 and stop there 19:11:54 if the program contains only that then yes 19:13:03 Tritonio_, anyway, fbf is functional, purely functional apart from input routine I think 19:13:43 what do you mean? (apart for the input routine) 19:14:16 that a function using the input routine obviously depends on something else than it's parameters 19:14:33 eh 19:14:35 statement* 19:14:45 as in , 19:15:49 O_o 19:15:55 ? 19:16:10 i still don't get what you're talking about... :-( 19:16:37 how do you input data? you simply use the , in a code block right? 19:16:39 any function using the opcopde/statement/whatever for input (,) in fbf will depend on something else than just the parameters to said function 19:17:09 and why is that? 19:17:11 AnMaster: if you were talking about bf in general, you need to be able to have unbalanced <>'s 19:17:13 therefore they are not pure functions 19:17:28 not sure if the semantics are different in your languages 19:17:42 read(1) { $1, } 19:17:44 oklopol, "mine" is wrong, I didn't code it, I mearly fixed a few bugs in it 19:17:45 isn't this ok? 19:17:53 oklopol, gopher://inspircd.dyndns.org/1/Software/fbf 19:18:05 Tritonio_, sure is, but it isn't a pure function 19:18:22 what is it then? 19:18:32 http://en.wikipedia.org/wiki/Functional_programming#Pure_functions 19:21:10 oh ok. i got it now. 19:30:40 oklopol, so is fbf turing complete? 19:31:12 can you implement tables on it? 19:31:23 you will need unbalanced <> to do so 19:31:50 in brainfuck you can and it's turing complete. so maybe this one is not? 19:32:23 AnMaster: it is not if you have matched <>'s with normal bf semantics, but i'm assuming you have something more 19:32:42 unless, you have bignums, then it prolly is 19:33:48 oklopol, I gave a link above 19:34:02 yes, but my screen does not have room for firefox 19:34:21 oklopol, it compiles to brainfuck, so it depends on the interpreter then running that brainfuck code 19:34:22 watching friends 19:34:28 it could have bignums 19:34:40 "friends"? 19:34:44 what friends? 19:34:59 well, anyway, a lot of stuff is very hard to do without unbalanced <>'s 19:34:59 is it a movie or something? 19:35:18 because you have to have infinite data structures in a fixed number of cells 19:35:25 it's just friends episodes 19:35:55 "friends" is a tv series or something? 19:36:10 basically, the only feasible way is to use modulus for stuff like lists. 19:36:16 friends is a tv series, yes 19:36:36 oklopol, hm? fixed number of cells? no, not really, depends on the interpreter 19:36:52 some doesn't limit except the machine byte size 19:36:56 ...? 19:36:56 eh 19:37:01 machine memory size* 19:37:09 if you mean number of data cells 19:37:12 i mean 19:37:16 lessay you want a stack 19:37:20 yep 19:37:45 the easy way is to have the stack as numbers on the tape 19:37:48 so that going right is pushing 19:37:52 and going left is popping 19:38:00 this is impossible with unbalanced <>'s 19:38:10 hm 19:38:26 but do you need to have a stack to be turing complete? 19:38:36 you have to store the stack as a*N^0 + b*N^1 + c*N^2 etc. 19:38:49 where a, b and c are the values on the stack 19:38:55 AnMaster, yeap 19:38:56 and N is the maximum size of one element 19:39:06 AnMaster: lol :P 19:39:15 you need to be able to simulate a stack, yes :D 19:39:17 couldn't you store a value to identify how long the stack is? 19:39:23 err 19:39:25 * AnMaster ponders 19:39:28 actually no 19:39:49 oklopol, however as I said, I didn't make fbf, I just took the software and fixed a few bugs 19:40:02 maybe I'll extend it if it isn't turing complete 19:40:23 i'm just saying you need unbalanced <>'s or you'll end up simulating a tape with a bignum using modulus. 19:41:09 nothing wrong with that, but i don't think we need another deathmode for brainfuck :-) 19:41:19 "deathmode"? 19:42:01 my inversion of wimpmode 19:42:09 wimpmode meaning? 19:42:11 some others have used it, so i'm using it nowadays 19:42:15 umm 19:42:23 simplification of a language that's otherwise hard 19:42:34 oh yes this makes the language simpler indeed 19:42:37 like adding lambdas to unlambda or something 19:42:40 ah no 19:42:45 it makes some stuff easier, yes 19:42:50 just making it functional :) 19:43:03 but for anything complicated, you very much need unbalanced <>'s. 19:43:11 functional? first-class functions? 19:43:18 oklopol, see the link 19:43:23 :\ 19:43:28 do i have to... 19:43:37 yes! 19:43:41 but indeed no higher order functions. 19:44:09 then i won't see it, many have added *procedures* to brainfuck and compiled to brianfuck 19:44:10 :) 19:44:31 yay my telnet-based netbrainfuck interpreter works 19:44:35 Who wants the C# source? ^^ 19:44:42 Insane, how many files? 19:44:45 one 19:44:52 heh 19:44:54 oklopol, but well actually it shouldn't be hard to add higher order functions 19:45:01 no? 19:45:02 Insane, pastebin it? 19:45:07 did 19:45:14 Insane, and post link? 19:45:22 I also have a speciallized brainfuck C# class for use in embedded applications (non-console environments with custom i/o) 19:45:28 AnMaster: it's tons harder than making non high-order functions 19:45:31 http://insane.pastebin.org/ 19:45:34 Latest three 19:45:42 are (in order) malbolge, netbrainfuck, brainfuck 19:45:46 oklopol, hm depends 19:46:01 oklopol, I could code it in bash, not sure if I could mange it in C 19:46:07 well, you have to carry around some kind of pointers to functions 19:46:15 Btw, I think I'm the first person ever on planet earth to write a malbolge interpreter in C# 19:46:45 oklopol, as long as there is no recursion heh 19:46:54 Insane: yes, and you are also the first person ever to say that exact sentence, prolly. 19:47:07 AnMaster: lol :) 19:47:14 oklopol, however that is needed 19:47:40 recursion in the source code can usually be just translated to imperative stuff 19:47:55 first-class functions allow for much harder stuff to compile. 19:48:07 Insane, heh if only non-printable chars wasn't such a pain in bash I would do it just to prove it! 19:48:17 you can, after all, just have a list of functions, and randomize which ones to call in which order. 19:48:37 oklopol, heh that would be uh, undefined 19:48:43 8| 19:48:55 the result I mean in some cases 19:49:08 i don't see what you mean 19:49:09 not if they are pure functions that do not call each other of course 19:49:13 AnMaster, did you say that it support's first class functions? 19:49:34 it does not 19:49:41 asdf, i'll take a look 19:50:16 Tritonio_, afraid not as it just translates to brainfuck, and brainfuck is not self modifying 19:50:28 anyway, making high-order functions compile into brainfuck would prolly require you to write an interpreter, and encode the interpreted prog in the source 19:50:40 oklopol, ahhaha 19:50:42 indeed 19:50:47 it's *not* trivial to compile, unlike procedures, where you can just copy and paste 19:51:00 oklopol, yes, extreme inlining! 19:51:04 it would be nice to see an x86 emulator in brianfuck... 19:51:11 not an emulator 19:51:22 x86_64! 19:51:23 but something that could run that assembly... 19:51:27 *accumulator 19:52:06 emulator for something simpler that can be more easily used to do the x86 emulation 19:52:18 like what? 19:52:29 i don't know 19:52:30 hm 19:52:43 what about a brainfuck -> bash translator 19:52:57 considering I already coded a brainfuck interpreter in bash heh 19:53:35 actually it wouldn't be too hard, you just need to map stuff like [ to a while loop, then have an array for the memory hm 19:53:45 yes you could "compile" it into bash quite easily 19:54:02 well, duh :P 19:54:05 what would be interesting would be optimzing it :) 19:54:14 a brainfuck -> c translator is very easy 19:54:17 as in getting rid of < and > when possible 19:54:34 to just access the interesting variable right away 19:54:35 that's already done by many people 19:54:42 but any to bash!? 19:54:54 no but it's almost the same code 19:54:55 optimizations, sadly, are pretty much the same :) 19:54:56 that is the interesting question! :P 19:55:05 Tritonio_: get the fuck off my head?!? 19:55:16 oklopol, ?? 19:55:32 you said twice what i was just about to say 19:55:36 lol 19:55:39 although i didn't say the first one, it seems 19:55:47 so you didn't notice that 19:55:53 anyway, need to do school stuff :\ 19:55:54 -> 19:56:02 Insane, http://insane.pastebin.org/16135 <-- eww, why on earth do you use vb!? 19:56:13 I don't 19:56:15 Easy enough 19:56:30 Just pointing out the difference in two overloads to a different programmer 19:56:36 That uses VB 19:56:40 :P 19:56:44 Although I detest it myself 19:56:58 Heh 19:57:02 I have about 20 different pastebins 19:57:06 some on .org and some on .com 19:57:09 ^^ 19:57:22 what's wrong with VB? it's easy... 19:57:32 which is a bummer because one of the two always seems to be down, and I need .com right now 19:57:38 Tritonio_, C# is easier 19:57:41 Than Vb.NET 19:57:45 Insane, just use rafb 19:57:45 :-P 19:57:46 :) 19:57:47 oh 19:57:50 it works well 19:57:53 Naw, brainfuck pwns 19:58:10 I coded an irc bot in netbrainfuck 19:58:22 i don't know about .NET. vb6 was easy anyway 19:58:48 meh 19:58:53 the syntax is much too bloated 19:59:04 like C++ then 19:59:09 { and } for example are much easier to understand than "Start" and "End" 19:59:30 * AnMaster prefers pure C99 to C++ because of bloated syntax, or C# 19:59:50 i hate {}. They are angly when mixed with normal text. 20:00:00 Not when formatted well 20:00:01 lol 20:00:02 i hate keywords 20:00:46 hey come on. an "end" is realy nice to close something. And after a while you see the keywords easily 20:01:00 let alone using syntax highlighting... 20:01:38 anyway it's just personal taste.... 20:01:38 It's still harder to skim through and quickly navigate than C#, esp. without syntax highlighting ^^ 20:01:40 Yeah 20:01:46 Let's leave the matter at rest 20:01:51 :-) 20:02:16 And talk about how I lost the url to the spoofed image I was working on on my lappy to fake a password entry screen 20:02:16 C99! 20:02:17 heh 20:02:25 Insane, C# is bloated too 20:02:32 C99 for me 20:02:34 I pastebin'd the link but pastebin.com is down 20:02:36 heh 20:02:44 C++ got bloated syntax, C# got bloated runtime 20:02:46 You mean due to .NET? 20:02:48 sigh 20:03:00 Insane, yes the actual syntax of C# isn't as bad as c++ 20:03:05 Yeah 20:03:07 I agree 20:03:16 Well .NET is a so-so solution 20:03:23 "so-so"? 20:03:32 * AnMaster use mono anyway for .NET stuff 20:03:34 It's quick to easily develop apps for casual use, but it isn't a good cross-platform and highspeed solution 20:03:36 heh 20:03:43 as I do run linux 20:04:02 Heh 20:04:08 I run windows on my development machine 20:04:12 what about lua? since i used it i odn't want to write in anything else 20:04:22 linux on my lappy/private server 20:04:27 Tritonio_, it's interpreter isn't it? 20:04:34 with a VM 20:04:34 Lua is interpreted though :/ 20:04:41 Insane, linux on desktops and laptops, freebsd for servers 20:04:45 it's one of the fastest interpreted languages 20:04:47 and gentoo linux when it is linux 20:04:47 Try writing a 3D app in Lua 20:05:06 Heh 20:05:13 luaGL 20:05:17 Insane, indeed, that is *just* possible in C#, but C++ or C is what is best for 3D 20:05:18 I run kubuntu on my lappy and XP on my development machine 20:05:21 there are extensions for anything 20:05:29 Which is why I use XNA for 3d apps 20:05:29 Tritonio_, coded in C I bet? 20:05:49 yes i've used C 20:05:50 Insane, nah, just call opengl directly 20:05:52 ;P 20:05:57 libGL.so 20:06:01 works like a charm 20:06:03 but only when I ad no other option 20:06:20 Heh, thanks, but I prefer a managed and mostly natively coded DirectX framework over direct OpenGL calls 20:06:28 Since I prefer DirectX over OpenGL anyways 20:06:32 At least for gaming 20:06:42 Insane, ugh :( 20:07:04 Insane, no, really, C or C++ and using some opengl framework 20:07:14 directx is TOTALLY non-portable 20:07:40 And that's why about 90% of consumers and developers for today's corporate games use windows + directx 20:07:41 Yeah 20:08:08 Go into a video game shop. How many games use OpenGL? How many games use DirectX? 20:08:22 I use DirectX since it's the current consumer trend for gaming 20:08:23 Insane, go to freshmeat.net, check the same 20:08:25 :P 20:08:27 Heh 20:08:29 lol 20:08:50 Insane, apart from nvidia binary driver and bios I run 100% open source on my computer 20:09:03 Heh 20:09:04 Have fun then 20:09:08 I don't care about open source 20:09:22 Insane, I do, I'm involved in several open source projects 20:09:29 Each to himself then 20:09:38 Insane, so the pastes you did, what license are they under? 20:09:46 No license 20:09:53 public domain? 20:09:57 I'd guess 20:10:39 Feel free to use them if you want, although you might want a more optimized solution with a dynamic growing array and direct io streams instead of a read-all-at-once output 20:10:54 indeed 20:11:01 malbolge in C#, heh 20:11:03 :P 20:11:15 Well I'm most comfortable in C# atm, so I use it for "complicated" stuff 20:11:18 Insane, is it 100% compatible? 20:11:24 No 20:11:44 There's at least one bug left that nobody's ever found after many source comparisions and double checks 20:11:52 Insane, oh what bug? 20:12:01 Every program I've seen runs 100% fine, except for the 99 bottles of beer loop version 20:12:07 ah 20:12:08 Which runs fine on the official interpreter 20:12:27 Insane, what about those cases of abusing non-ascii values? 20:13:12 Well it has full 10 digit trit support up to values of 3^10 20:13:48 Insane, err where is "Ternary" defined? 20:13:51 it's a class right? 20:14:05 oh wait 20:14:07 I might consider doing a "serious" rewrite of my brainfuck module using three different streams some time, and release it packaged, with documentation etc. since there seems to be no available "ready to use" brainfuck component atm 20:14:07 * AnMaster misread 20:14:12 Oh right 20:14:14 Ternary.ToTernary(a); 20:14:15 I wanted to pastebin that too 20:14:16 that 20:14:21 can't find ToTernary 20:14:30 public static string ToTernary(ushort num) 20:14:34 It gives you a string 20:14:43 yes but where is it defined? 20:14:51 pretty inefficient but I didn't find a better way to handle trits 20:14:54 In Ternary.cs 20:14:54 ^^ 20:15:01 not included in paste? 20:15:02 I never pastebin'd it, like I just said 20:15:03 nope 20:15:06 Want me to upload? 20:15:10 yep 20:15:44 at least in pascal you could easily define a new data type for it (heh, every language got it's own upside and downside) 20:15:58 http://insane.pastebin.org/17432 20:16:04 Heh 20:16:13 I considered using a direct bitwise solution 20:16:19 though pascal got a LOT more of the latter 20:16:22 But I voted against it since it would be even slower to convert to/from 20:16:28 :P 20:16:32 hm it would? 20:16:36 Well 20:16:50 I'd convert to string/bitlist and that to array/list or w/e, and vice versa 20:16:51 actually just define a struct tenary 20:16:53 means I add an extra step 20:16:57 hmm 20:16:58 that represents one bit 20:16:58 Maybe 20:17:03 Erm 20:17:06 Would be called Trit 20:17:08 anyways 20:17:09 ah right 20:17:11 yes 20:17:18 a tenary is an array of trits! 20:17:18 Hm 20:17:19 :D 20:17:29 A trit needs two bits 20:17:35 since a trit can hold 3 different values 20:17:37 0, 1 and 2 20:17:41 yes indeed, a trit is a enum! 20:17:42 Then 4 would be unused 20:17:57 enum trit { true, false, filenotfound } 20:17:59 * AnMaster runs 20:18:16 bad syntax heh 20:18:33 I think it would be better to store 2 triplets at once, using 3 bits 20:18:45 hm 20:18:51 Better for memory 20:19:01 how many bytes would you waste in malbolge on it? 20:19:04 Since I'd assume that even an enum would use 2 bits for the task 20:19:06 if you got an overhead of one bit 20:19:10 Actually 20:19:14 This discussion is pointless 20:19:16 not much I suspect 20:19:20 Since my malbolge interpreter is *so* unifficient 20:19:21 Insane, oh is it? 20:19:26 Heh 20:19:36 Anyways 20:19:37 Insane, well the C one is efficient is it? 20:19:46 Yeah 20:19:51 It was a for-fun project anyways 20:20:00 Nothing serious like the brainfuck class which I actually used 20:20:08 Anyways 20:20:16 I came here to discuss a new idea I'm having 20:20:17 Insane, what about intercal in C#? 20:20:23 A new "for-fun" esoteric language 20:20:24 intercal is iirc rather extensive 20:20:24 heh 20:20:30 isn't it? 20:20:34 maybe some other time 20:20:44 I have this awesome new esoteric language idea 20:20:51 It would have the same commands as brainfuck, 20:20:52 Insane, ah tell us! 20:21:09 and how would it differ then? 20:21:15 but instead of inputting the commadns directly, you input musical notes, and the difference between any two given notes would be the actual command 20:21:33 Then the interpreter would play the notes as they get executed 20:21:34 hehehe 20:21:38 Insane, what scale? 20:21:50 make it C# as scale XD 20:22:00 eh wait 20:22:03 Probably standard musical notation, like 1-bar difference is +, 2bar is - etc. 20:22:05 Heh 20:22:30 I can beep notes through my system speaker 20:22:38 Insane, anyway I don't know the words for scales in English, I *do* know them in Swedish 20:22:43 I wrote a parser for it and implemented it into my irc bot 20:22:43 heh 20:22:52 Sweden > * 20:22:56 oh? 20:22:59 where are you from? 20:23:03 Germany 20:23:04 :/ 20:23:10 Sweden > * > Germany 20:23:13 ah, no elks around where I live! 20:23:15 ;P 20:23:17 Heh 20:23:29 no møøse? 20:24:00 1) no møøse is monty python 2) moose is in canda 20:24:06 here we got elk (älg) 20:24:14 and it is ö not ø in Sweden 20:24:33 ø is for Danish/Norweegian 20:24:43 Heh 20:25:48 there seems to be so many such brainfuck derivatives in existence that someone has possibly already done that.. :P 20:25:59 Does this look realistic enough to fool my mother? http://img101.imageshack.us/img101/7492/biosspoofau2.png 20:28:14 I'm still deciding between C# WinForms, XNA or GML to code the actual spoofer 20:29:40 Insane, spoof what!? 20:29:46 BIOS 20:29:52 err why? 20:29:52 nvm 20:29:55 lol 20:29:58 Insane, anyway no it doesn't 20:29:58 why not? ^^ 20:30:03 Bah 20:30:06 Insane, too high resolution 20:30:07 Of course it does 20:30:11 of text 20:30:12 only the font is different heh 20:30:16 hmm 20:30:17 true 20:30:18 w/e 20:30:24 she doesn't even know what resolution is 20:30:54 Insane, well I got a 20" TFT (1400x1050) and if my bios looked like that it would be awesom 20:30:56 some* 20:31:08 Insane, also the "live update thing" is wrong 20:31:09 hehe 20:31:13 Why? 20:31:22 never seen it in a bios 20:31:28 It is on mine 20:31:28 for real 20:31:33 what!? 20:31:34 even though it doesn't even have a live update 20:31:46 I literally copied my own bios 1:1 with different numbers and labels 20:31:51 but the design is the same 20:32:00 yes I see the numbers are different 20:32:04 heh 20:32:06 v1337 20:32:11 Try finding that on a real BIOS 20:32:11 Insane, but just why do you want this? 20:32:19 Because it's fun 20:32:30 Insane, anyway the font is way less blocky than in a bios 20:32:45 True 20:33:02 I developed it on my lappy kubuntu so I didn't have my usual supply of bios-like console fonts 20:33:10 Insane, basically on a tft you need it to look 1) blockly 2) blurry 20:33:44 on a crt it just needs to be blocky 20:34:04 i'm quite sure your mother doesn't care about the resolution on bios startup messages.. :P 20:34:30 -!- Hiat1 has joined. 20:34:33 Insane, also why not just use the real password protection of your bios :P 20:34:44 AnMaster, huh? 20:35:11 this is not for "adding" a password, it's for something else 20:35:13 I better stop here 20:35:30 Insane, anyway I would like to know what it is :D 20:35:54 however the font looks totally wrong for bios 20:36:16 bah 20:36:19 lol 20:36:27 Insane, also the blue logo needs to be fixed to look as blocky 20:36:29 -!- Tritonio_ has quit ("Bye..."). 20:36:39 best monospaced font I could find at all on kubuntu 20:36:45 -!- Tritonio_ has joined. 20:37:08 Insane, looks like the font I use for irc, I bet it is bitstream vera sans mono? or maybe dejavu sans mono? 20:37:12 -!- Tritonio_ has quit (Client Quit). 20:37:26 -!- Tritonio_ has joined. 20:37:48 AnMaster: but does his mother notice anything unusual in that? probably not. 20:37:48 Insane, am I right? 20:38:13 tejeez, hm no idea 20:38:30 heh 20:38:40 No 20:38:42 my mother got a good memory for details, while not knowing much about computers 20:38:43 It's "Monospace" 20:39:05 Insane, "monospace" just maps to a monospace default font on system 20:39:06 or "Monospaced" or similar 20:39:06 actual name 20:39:11 same as "sans" maps to a default font 20:39:13 hmmk 20:39:18 No idea then 20:39:19 :P 20:39:57 Insane, but on gentoo monospace does indeed map to bistream 20:40:08 bitstream* 20:41:03 take a picture of your real bios with a camera! 20:41:39 Heh 20:41:41 naw 20:41:49 tejeez, that will look bad I bet, if CRT bits of it will be missing due to refresh rate, if TFT you will get moire patters 20:43:19 true 20:48:47 -!- Hiat1 has quit ("Leaving."). 20:49:56 -!- Hiato has quit (Read error: 110 (Connection timed out)). 21:09:12 -!- und3f has joined. 21:09:14 re 21:18:14 Hehehe 21:18:19 Both of my parents fell for it 21:18:20 totally 21:18:31 Well 21:18:37 They didn't actually etner the password 21:18:50 But they both think's its genuine 21:18:52 w/e 21:23:49 -!- helios24 has quit ("Leaving"). 21:32:53 -!- chuck has changed nick to meilrahc. 21:33:17 -!- meilrahc has changed nick to _chuck_. 21:33:56 -!- _chuck_ has changed nick to chuck. 21:34:11 -!- und3f has left (?). 21:49:30 ehird: Dunno, that's a little harder to track down 21:49:50 http://rafb.net/p/kiZFVq83.html 21:49:51 maybe? 21:49:58 Someone else had pasted that some time ago 21:50:20 yeah 21:55:06 hm 21:55:10 who here knows scheme 21:56:03 depends on the definition of "know" 21:57:45 oklopol: i think you count 22:01:40 -!- GreaseMonkey has joined. 22:02:30 IMHO card topples are turing-complete 22:03:09 -!- RedDak has joined. 22:11:22 topples are fine, but i prefer them bottomless 22:14:15 GreaseMonkey, and what are those? 22:14:44 you put the cards upright like this: /|\ /|\ /|\ 22:14:49 and then you push them over 22:14:55 hm? 22:14:58 so they look something like this: ____________ 22:15:01 domino bricks? 22:15:03 yeah 22:15:16 I see, how are they turing complete? 22:15:37 can you prove it? 22:15:53 because if it was true, that would be really fun 22:16:04 write a domino simulator! 22:17:06 who is a schemer? 22:17:15 btw as game of life is turing complete, but what I find more interesting: it is multitasking XD 22:17:33 all computations happen at once in life 22:18:58 -!- RedDak has quit (Remote closed the connection). 22:22:57 -!- immibis has joined. 22:23:08 nobody? 22:26:01 well, i know bsmnt's a schemer 22:26:02 but who else? 22:26:20 GreaseMonkey: it may be tc given an infinite starting pattern 22:35:09 We need a bot in here that executes code in various esoteric languages 22:35:09 like brainfuck 22:35:16 he's aclled egobot. 22:35:21 !bf ,[.,]!hello 22:35:27 hm 22:35:29 * ehird pokes EgoBot 22:35:30 What's the !hello? 22:35:30 !help 22:35:34 Insane: input 22:35:36 prog!input 22:35:38 help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon 22:35:40 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl 22:35:56 !bf ,[.,]!hello 22:36:13 !bf ++++++++++++++++++++++++++++++++++++++++++++++++.+.+.+.+.+.+.+.+. 22:36:16 :( 22:36:16 012345678 22:36:19 :D 22:36:23 ehird, wrong syntax? 22:36:32 what's wrong with it? 22:36:34 !bf +[,.]!Meep 22:36:46 !bf8 ,[.,]!hello, world 22:36:48 ehird, the !hello maybe? 22:36:52 AnMaster: no. 22:36:53 egobot does that. 22:37:00 for input? 22:37:10 yes 22:37:17 what is bf8? bf16 and so on? 22:37:34 bf8=0-255 22:37:34 etc 22:37:39 the amount of bytes per cell 22:37:42 !bf64 ,[.,]!hello 22:37:50 ehird, I want a bignum version 22:37:50 er bits 22:38:03 AnMaster: you'll never get past 64 bits in brainfuck ;) 22:38:08 oh? 22:38:11 if you have a program getting to that, it'll just hang on egobot anyway 22:38:15 'cause it'll take years 22:38:32 Let's make a 256bit brainfuck interpreter 22:38:36 why 22:38:43 and why are you implying plural there 22:38:46 why don't you do it 22:39:12 Is the environment wrapping? 22:39:12 !ps 22:39:14 For EgoBot 22:39:23 1 ehird: bf 22:39:23 2 ehird: bf 22:39:23 !help bf 22:39:23 3 Insane: bf 22:39:23 4 ehird: bf8 22:39:23 5 AnMaster: bf64 22:39:24 6 immibis: ps 22:39:26 To use an interpreter: Note: can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem. 22:39:28 !i 1 Hello. This is how you give input, ehird. 22:39:40 !kill 1 22:39:42 Hello. This is how you give input, ehird. 22:39:44 Process 1 killed. 22:40:09 immibis: I knew that,. 22:40:12 but you can also use ! 22:40:20 how come it doesn't work then? 22:40:23 beats me 22:40:25 !kill 2 22:40:25 egobot is on crack? 22:40:28 Hello worldHello worldHello worldHello worldHello worldGoodbye world 22:40:30 Process 2 killed. 22:40:33 SEE 22:40:35 I WAS RIGHT 22:40:47 !bf ,[.[-],]!hello foo 22:40:50 !ps 22:40:50 no, i typed !i 2 Hello world several times in /query EgoBot 22:40:52 1 ehird: bf 22:40:54 2 ehird: ps 22:40:56 !flush 1 22:40:56 3 Insane: bf 22:41:06 !kill 1 22:41:07 !kill 2 22:41:08 Process 1 killed. 22:41:10 Process 2 killed. 22:41:25 !bf ++++++++++.[-]>+++++++++[<+++++++++>-]<.++++.------------.+++++++++++. 22:41:35 interesting 22:41:39 Very interesting 22:41:41 Good 22:41:45 what? 22:41:55 No extremely and blatantly obvious security holes ^^ 22:42:01 duh 22:42:02 I tried sending a \n followed by QUIT 22:42:03 egobot is robust 22:42:03 :P 22:42:05 we've had it for ages 22:42:06 hehe 22:42:09 Just testing 22:42:09 it's not a toy irc bot 22:42:11 i believe GregorR fixed that hole 22:42:14 it doesnt have any bugs like that 22:42:18 !bf +++++++. 22:42:22 Does it beep? 22:42:33 it will on the server it runs on. 22:42:39 however, it is unlikely any terminal is open on it. 22:42:42 No extremely and blatantly obvious security holes ^^ 22:42:43 err 22:42:44 wrong 22:42:52 you forgot CRLF after 22:42:53 or LF 22:43:01 AnMaster: freenode isn't an anal ircd 22:43:02 it just prints quit without a newline after 22:43:05 You only need \n 22:43:08 indeed 22:43:10 oh 22:43:11 duh 22:43:12 right 22:43:13 Insane, but you didn't have one 22:43:13 no 22:43:21 You only need \nQUIT 22:43:22 It knows what newlines are and doesn't just ignore them, it actually handles them as separate lines of output and sends them all independently. 22:43:28 You should have gotten a PM with the remaining output. 22:43:31 Yeah 22:43:32 I did 22:43:35 GregorR: so why doesn't "!bf ,[.,]!foo" work 22:43:37 it did like yesterday 22:43:42 Mine just inserts <0x10> 22:43:43 heh 22:43:53 ehird: Uhhh, no? 22:43:57 ehird: It takes input with !i 22:44:03 It used to allow you to do that though. 22:44:05 As well as. 22:44:09 EgoBot never did. 22:44:30 where do I get the source for egobot? 22:44:36 In the files archive at esolangs.org 22:44:37 * AnMaster wonders what language it is in 22:44:41 ah thanks 22:44:46 C++ (please don't kill me) 22:45:05 what's wrong with C++, gregorr? 22:45:13 I now know D ^^ 22:45:16 * ehird really needs to write SuperEgoBot 22:45:18 or IdBot 22:45:35 * GregorR just turned in his last graduate application. 22:45:42 Now I just have to wait for rejection letters to pour in. 22:45:48 D sounds interesting 22:45:50 I actually wrote an irc bot in NetBrainfuck 22:46:03 GregorR, how does D differ from C/C++ 22:47:03 http://www.digitalmars.com/d/2.0/comparison.html 22:47:34 Uh, WTF? 22:47:36 I personally think SuperEgoBot/IdBot should be written in one of: 22:47:37 That comparison table seems to have gone wonky ... 22:47:38 Scheme, Haskell 22:47:38 ;) 22:47:44 Oooh! I know! 22:47:49 Strongly typed IRC bots. 22:47:55 Their consistency is guaranteed! 22:47:58 what about bash? lol. 22:48:02 GregorR, there is just D 22:48:04 i once wrote an irc bot in bash. 22:48:07 ehird, ada! 22:48:12 immibis, http://envbot.org 22:48:12 AnMaster maintains an irc bot in bash. 22:48:14 It's modular. 22:48:16 AnMaster: Like I said, " That comparison table seems to have gone wonky ..." 22:48:16 modular! 22:48:16 hah 22:48:16 typical 22:48:37 GregorR, indeed and I don't know C++ well enough to fill it in using my head 22:48:40 AnMaster: Suffice to say that there's no one killer feature that makes D better than C++, it's just much cleaner in the general sense. 22:49:00 GregorR, C++ got a bloated syntax, almost as bad as perl 22:49:08 * AnMaster prefers C99 22:49:14 Yeah, D's syntax is comparatively quite simple. 22:49:19 Even more simple than C in terms of type declarations. 22:49:32 C# got nice syntax but instead a bloated runtime 22:49:33 :/ 22:49:34 GregorR: cast your name vote: SuperEgoBot/IdBot 22:49:40 What I know of D makes it look damned elegant. 22:49:42 char*[] is an array of pointers to characters, none of this wonky char *foo[] (which way does that go?!) 22:49:43 ehird: IdBot. 22:49:54 ehird: "Ego" is trademark GregorCorp, so IdBot ;) 22:49:55 GregorR, hah 22:49:59 but SuperEgoBot is funny :P 22:50:01 ehird, hum? 22:50:03 char* foo[] (any clearer?) 22:50:08 it makes me think of egobot in a red cape 22:50:11 flying 22:50:11 what is wrong with plain egobot? 22:50:12 superman-style 22:50:17 AnMaster: that's GregorR's 22:50:24 ehird, yes and? 22:50:26 and it's also a superego bot! 22:50:33 immibis: Except that the type of foo is char*[]. Confuses yet? 22:51:43 GregorR, I find pointers in C rather simple most time, unless you get something mad like: char **** blah[][] (or something like that, saw it once, horrible) 22:52:07 it was in a K&R style parameter definition, inside mosaic iirc 22:52:29 char **** blah[][] is an 2-dimensional array of pointers to pointers to pointers to pointers to characters (or pointers to pointers to pointers to strings). 22:52:30 may have been some other software 22:52:36 but who would need that?? 22:52:48 immibis, don't ask me, I use cdecl for that :P 22:52:49 AnMaster: You need parens and such for more complicated types. 22:52:57 GregorR, yes seen that too 22:52:58 AnMaster: In D it's always just left-to-right type declarations. 22:53:00 just typedef 22:53:02 :D 22:53:10 GregorR, but do D need any runtime? 22:53:14 GregorR: If ego is copyrighted, is superego? 22:53:15 Yes. 22:53:16 I know C++ does 22:53:20 That's draconian copyright law! :P 22:53:22 Well, basically yes. 22:53:25 GregorR, C doesn't need any runtime 22:53:30 AnMaster: yes it does. 22:53:34 what do you think calls main 22:53:36 Technically people have made it work with no runtime, but you lose many features. 22:53:39 ehird, yeah... 22:53:42 It's called the C standard library. 22:53:42 Yeah, same with C. 22:53:48 OK, so it's a very trivial kind of runtime, but :) 22:53:50 GregorR: has registered /.*ego.*/ 22:53:51 pikhq: No. That's differnt. 22:54:01 yeah, they take regexps now. 22:54:02 The D language doesn't require a runtime so long as you don't use 'new' or dynamic arrays. 22:54:03 oklopol: Now THAT's dracegonian! ;) 22:54:03 ehird: Fine; strictly speaking, you don't need stdlib. 22:54:10 ehird, what about static linking against your own functions replacing the libc stuff you use? 22:54:20 You just need stdlib for doing more than inline assembly. 22:54:23 AnMaster: That just means you've written your own runtime. 22:54:26 I assume D is actually similar. 22:54:44 Yeah, it is similar, the standard runtime just happens to have more features, so you lose more of the language if you go runtime-less. 22:54:52 GregorR, well I know C++ does need a rather large cruft thing called libstdc++ or something like that 22:55:04 anyway uclib :D 22:55:10 -!- timotiis has quit ("leaving"). 22:55:20 How large is libstdd? 22:55:29 pikhq: Big. 22:55:32 on x86_64 22:55:33 But the neccessary parts - gc, etc 22:55:34 are small. 22:55:40 ehird's answer is good. 22:55:53 And if you use Tango (yay for competing runtimes) the core part isn't lumped with additional bits. 22:55:54 You could get a working (though not very full featured, as far as garbage collection goes) D system in.. hmm, 300-400 lines? 22:55:56 also gc is bad, it prevents stuff from going into swap when needed 22:55:58 Does D statically link in the parts you need? 22:56:00 That's assuming you write an actual, real GC. 22:56:04 AnMaster: you can disable it 22:56:06 keeping memory resident 22:56:13 that is what I hate with java and such 22:56:24 garbage collectors should die 22:56:31 Hahahah 22:56:38 I remember thinking like that ... 22:56:42 AnMaster: D's garbage collection is on by default, but you may turn it off when you want to leave it alone. 22:56:52 * pikhq both loves and hates garbage collection. . . 22:56:59 Really, it depends upon what you're doing. 22:57:04 garbage collection is for the lazy 22:57:15 AnMaster: Yes, it is. And? 22:57:21 And sometimes laziness is good. 22:57:25 Thus compilers. 22:57:25 and it keeps memory resident, preventing it from going into swap if needed 22:57:44 Languages higher-level than assembly are for the lazy. 22:57:52 especially java. 22:57:53 GregorR: Assembly is for the lazy. 22:57:53 us non lazy people just use asm 22:58:02 Languages higher-level than machine code for the lazy. 22:58:07 You only need a toggle board on your computer. ;) 22:58:08 *are for 22:58:14 hmph, i'll need more complex jokes 22:58:17 well do they have the downsides of garbage collection? 22:58:18 no 22:58:37 AnMaster: What kind of paging algorithm would not swap pages out if they're garbage collected? 22:58:41 A Microsoft one?] 22:58:44 GregorR: Forgetting the word "are" is for the lazy. 22:59:14 pikhq: any one, until the garbage collector runs everything is still allocated. 22:59:20 AnMaster: you have too much experience with bad GCs. 22:59:23 pikhq, that isn't the problem, the problem is if the page still contains data but isn't accessed by program right now 22:59:25 Lisp systems have good GCs. 22:59:29 They are incredibly efficient. 22:59:34 AnMaster: Also, bash has gc you foo 22:59:45 -!- ehird has changed nick to totallynotehirdi. 22:59:58 AnMaster: I think that you've experienced some crappy GCs. 23:00:02 -!- totallynotehirdi has changed nick to ehird. 23:00:03 totallynotehirdi???? 23:00:05 pikhq, then if the garbage collector of for example java keeps scanning over it: bad, makes kernel avoid paging out that page, prefering other that may be more important 23:00:16 pikhq, possible 23:00:28 Ah, *that* kind of GC. 23:00:38 but I know this has been discussed on the kernel mailing lists a fair bit 23:00:39 That GC algorithm, though accurate, is inefficient as fuck. 23:00:45 AnMaster: doesn't java gc only run when the program is using lots of memory? 23:01:15 Wouldn't surprise me; with that GC algorithm, you're going to want to defer it. . . 23:01:44 -!- Insane has quit (Read error: 104 (Connection reset by peer)). 23:01:53 the only thing that should scan memory like that is IMO stuff like valgrind 23:01:56 debugging tools 23:02:31 * pikhq would like to cite reference counting for decent GC. . . 23:02:40 try running a java program that uses lots of memory (netbeans for example) and have a memory usage monitor open while you run it. 23:02:49 pikhq: circular references... 23:02:54 Although it doesn't handle circular references, it certainly works efficiently. 23:02:57 immibis, I uninstalled java here :P 23:03:06 immibis: I'm saying it's decent, not that it's perfect. 23:03:52 pikhq: A good GC strategy: have a reference counter, and a non-conservative GC. Run the GC a lot less often than you'd run just a conservative GC. 23:04:04 why use a gc? why not just do it the right way, malloc/free new/delete, or if you do it in C++: http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization 23:04:11 I just got offered a research fellowship at Purdue. Which is weird because I haven't been accepted (or rejected) yet. 23:04:26 AnMaster: because good programmers are lazy. 23:04:35 and doing work the computer can do, unless performing low-level tasks, is a sin. 23:04:42 a complete and utter SIN 23:04:47 ehird, valgrind :D 23:04:50 not excusable in any form at all 23:04:53 AnMaster: that's even more work. 23:05:21 ehird, it does it's job. I want my code to run fast. not depend on crappy runtimes (java, and such) 23:05:36 Well, *I* see. . . 23:05:38 * AnMaster wants unmanaged C# :D 23:05:52 AnMaster has been disillusioned from the idea of GC due to the crappiness of Java. 23:06:01 Java is crappy? 23:06:10 immibis: For efficiency, yes. 23:06:20 pikhq, mono/.NET is *slightly* better 23:06:22 (for my sanity, as well) 23:06:23 but far from good 23:06:29 AnMaster: A decent GC system can be very fast. 23:06:36 Sometimes, faster than manually managed code. 23:06:37 For the love of $diety, don't touch those two. 23:06:53 ehird, depends on how good the programmer is 23:06:58 If you think otherwise, you had the wrong first impressions of GC and *are wrong* 23:06:59 AnMaster: Hah. 23:07:12 You are wrong, and I can't be bothered telling you why - once you use a good GC, you will understand. 23:07:19 pikhq: I find Java runs reasonably fast (although nothing runs reasonably fast on this computer, but it does on decent ones) 23:07:32 ehird, well, is there one for C99? 23:07:59 However, rule one of programming: programmer time is worth one hundred times as much as computer time. 23:08:02 as in I just want to write it as I currently do mostly, but indeed not having to call free all the time... 23:08:04 AnMaster: There's Boehm GC. 23:08:16 pikhq, is it good? 23:08:21 AnMaster: Pretty good, yes. 23:08:25 Not as good as some Lisp systems. 23:08:27 But good. 23:08:37 It can't be as good as them, incidentally, because of the nature of C: it must be conservative 23:09:00 Just replace your malloc and realloc calls with calls to the Boehm functions, and voila. 23:09:02 AnMaster: replace malloc with GC_MALLOC 23:09:04 Garbage collected. 23:09:08 same with calloc and realloc. 23:09:11 and no free? 23:09:14 and then s/free();\n// 23:09:16 Err 23:09:19 with ana rgument 23:09:19 heh 23:09:21 AnMaster: yep 23:09:24 WARNING, though. 23:09:31 ehird, so what about malloc being done in third party stuff? 23:09:34 Do the same with GC_FREE if you *really* want to, but it's not needed. . . 23:09:35 like glibc 23:09:36 If you call misbehaved libraries that think that allocating their own memory is a good idea, 23:09:39 then either: 23:09:44 1. stop using these broken libraries 23:09:44 or 23:09:50 2. find out which ones it mallocs, then tell the gc about them 23:09:56 i forget the macro, but it's along the lines of 23:09:58 ehird, err, glibc I'm sure allocates memory 23:10:03 ehird: Glibc is one of those libraries. . . 23:10:07 and it isn't broken 23:10:10 HEY_GC_YES_YOU_I_MEAN_YOU_TAKE_A_LOOK_AT_THIS(thing) 23:10:11 pikhq: Hmm. 23:10:14 Well fuck glibc. :p 23:10:14 ehird said fuck! 23:10:16 But yes. 23:10:22 Although it's explicitly returning a pointer in that case. 23:10:25 immibis: Interesting observation. 23:10:29 well all libcs in fact 23:10:31 ehird: hey, my script works 23:10:32 Is that an automatic script? you were veryfuck fast. 23:10:33 ehird said fuck! 23:10:38 immibis said fuck! 23:10:39 ehird said fuck! 23:10:48 who said fuck? 23:10:48 AnMaster said fuck! 23:10:50 Fuckfnuck. 23:10:51 pikhq said fuck! 23:10:54 brainfuck? 23:10:54 AnMaster said fuck! 23:11:00 ahiahahahahaha AnMaster 23:11:00 immibis, err brainfuck is normal here 23:11:01 AnMaster said fuck! 23:11:04 you want to ignore that 23:11:13 just plain fuck is normal in here 23:11:13 :) 23:11:14 ok changed 23:11:16 well, when i'm around 23:11:18 or bsmntbombdood 23:11:19 ;) 23:11:27 yes what ehird fucking said 23:11:32 ;D 23:12:21 * AnMaster wish valgrind could tell when a pointer was *last* accessible 23:13:01 GregorR: Are you sure SuperegoBot isn't permissable? 23:13:08 Draconian :P 23:13:29 I can't stop you from making it - but I WILL sue you. O_O 23:13:35 :( why 23:13:49 http://www.hpl.hp.com/personal/Hans_Boehm/gc/ "[ This is an updated version of the page formerly at http://reality.sgi.com/boehm/gc.html and before that at ftp://parcftp.xerox.com/pub/gc/gc.html.]" 23:13:50 wow 23:13:56 wow what 23:13:59 that page moved a bit between companies heh 23:14:04 yes 23:14:09 fuck recognition is now set by anyone saying "fuck [on|off]" in any channel or query. 23:14:19 fuck off! 23:14:22 ;P 23:14:35 (do not take it as an attack ;P) 23:14:45 just wanted to show what it could mean 23:14:52 i know. 23:15:00 fuck on :O 23:15:01 ehird said fuck! 23:15:02 any better ideas? 23:15:05 immibisfuck 23:15:05 ehird said fuck! 23:15:08 immibis: yes, disable it 23:15:09 its crap 23:15:13 immibis, it is more uncommon with "fuck enable" 23:15:13 or 23:15:14 AnMaster said fuck! 23:15:20 fuck off... 23:15:20 ok 23:15:22 make it recognize these words as fuck: 23:15:23 thanks 23:15:28 fuckdisable 23:15:30 waffle, potato, belgium, fruitcake 23:15:33 Okay? 23:15:37 okay..... 23:15:38 Still make them say "X said fuck!" 23:15:38 ehird, why "belgium"? 23:15:39 ... 23:15:41 AnMaster: Because. 23:15:45 AnMaster: Also, HHGTTG. 23:15:47 You have to ask? 23:15:48 ehird, ah right 23:15:54 was long ago I read it 23:15:56 remember now 23:15:59 I notice you don't question about waffle, potato or fruitcake. 23:16:02 some party 23:16:10 ehird, no I was comming to those 23:16:15 tell me about them 23:16:23 why HHGTTG? what does it mean? 23:16:35 immibis, if you don't know that!... 23:16:45 immibis, hitchhikers guide to the galaxy 23:16:45 anyway, immibis. 23:16:46 immibis: Geek license revoked. 23:16:47 just add them. 23:16:48 very geeky book 23:16:51 ok.... 23:16:59 belgium 23:17:01 ehird, now tell me about the other ones 23:17:05 sheesh, hurry up! ;) 23:17:07 so should i mention that i've read it? 23:17:14 AnMaster: they're funny words. I would like them to be filtered. 23:17:19 But as "fuck". 23:17:21 So: 23:17:21 immibis, not if you actually haven't 23:17:33 immibis, you should instead read it 23:17:34 Well, waffles ARE tasty. 23:17:36 all the 5 books 23:17:38 person said fuck! 23:17:41 or whatever it is 23:17:45 there are 6. 23:17:49 * AnMaster got an omnibus edition 23:17:55 GregorR: will you really sue me? :P 23:18:00 and i've only read 1 and 3 because i lost the second. 23:18:03 ehird, sue for what? 23:18:07 ehird: Doubtful :P 23:18:26 GregorR, egobot is open source isn't it? 23:18:32 what licence? 23:18:45 GregorR: Yay! So I can make SuperEgoBot? :P 23:18:58 I don't even recall what license I stuck it under, it's in the headers I'm sure :P 23:19:26 someone say fuckenable 23:19:36 it only looks at incoming messages. 23:19:52 It's GPL2. 23:19:53 it now recognizes belgium, waffle, potato, fruitcake, and hhgttg. 23:19:59 since you asked. 23:19:59 GPL2 or later, IIRC. 23:20:07 Belgium, man, blegium! 23:20:08 I didn't ask for hhgttg. 23:20:11 :| 23:20:15 s/blegium/belgium/ 23:20:16 waffle 23:20:19 potato 23:20:21 fuck on 23:20:22 potato 23:20:25 fuck off 23:20:25 ehird said fuck! 23:20:26 fuck on 23:20:26 ehird said fuck! 23:20:27 potato 23:20:27 ehird said fuck! 23:20:29 belgium on 23:20:30 pikhq said fuck! 23:20:34 loool 23:20:35 fuck off means fuckenable. 23:20:36 belgium off 23:20:37 ehird, about boehm gc, err. what about foo = GC_malloc(whatever); bar = foo 23:20:37 pikhq said fuck! 23:20:39 Well, I like fruitcake. 23:20:39 ehird said fuck! 23:20:46 AnMaster: that's fine. 23:20:48 that is you copy the pointer 23:20:52 ehird, it will know of that? 23:20:52 AnMaster: it is fine. 23:20:54 hm 23:20:55 a pointer is just an integer. 23:20:57 fuckoff 23:20:58 pikhq said fuck! 23:20:58 like 23573485 23:21:08 So -- who is from Belgium here? 23:21:08 ehird said fuck! 23:21:18 hehe, Belgium -- Anybody read HHGTTG? 23:21:18 ehird said fuck! 23:21:21 ehird, rather longer I bet (since I'm on 64-bit :) 23:21:24 I like these new, waffley changes. 23:21:27 ... 23:21:29 FAIL 23:21:34 AnMaster: Twice as long, actually. 23:21:38 ehird, indeed 23:21:42 ehird I know that 23:21:42 you said it should recognize waffleS. 23:21:54 but ok, changed. 23:22:00 waffley 23:22:14 someone needs to say fuckenable again. 23:22:25 or fuck off. 23:22:28 ehird, so how does the GC know if there is still any pointer left to a memory block? 23:22:42 AnMaster: maybe it could use smart pointers? 23:22:53 AnMaster: that's not how it works, i don't think 23:22:54 or you need to do something like GC_AddRef(ptr) 23:22:54 oh well 23:22:55 it's clever. 23:22:59 immibis: you don't 23:22:59 immibis, ehird, about boehm gc, err. what about foo = GC_malloc(whatever); bar = foo 23:23:03 but you do if glibc does that 23:23:04 AnMaster: that's fine. 23:23:05 err? 23:23:10 AnMaster: look 23:23:11 it's clever 23:23:12 trust it 23:24:22 ehird, no I don't unless you can tell me how it can know that I copied the pointer, converted it to an correctly sized uint, put in a structure, converted back and duplicated, how could it possibly keep track of that 23:24:33 GregorR: ping 23:24:34 :) 23:24:43 NEVARPONG 23:24:58 AnMaster: It's using deep magic. Do you have a problem with that? 23:25:09 It's unlikely you'd be able to understand the inner workings of a deeply magical, advanced C gc. 23:25:10 ehird, yes! and the code use memcpy too 23:25:17 D only follows pointers in types that contain pointers. 23:25:20 and much more 23:25:25 AnMaster: it's OKAY 23:25:26 That is, if you just have a big ubyte[], it won't follow pointers in it. 23:25:33 TONS OF PEOPLE use the boehm gc 23:25:34 GregorR: We're discussing BoehmGC. 23:25:36 LOADS of production software 23:25:37 OH 23:25:37 ehird, I don't trust it 23:25:38 LOADS of compilers, too 23:25:40 yes 23:25:44 I know that 23:25:49 but I don't trust it 23:25:52 IIRC, it's in GCC. 23:25:54 so SHUT UP and stop thinking that you're the most clever c programmer and if you don't immediately understand how osmething works IT CAN'T BE TRUSTED 23:25:59 pikhq: yes, GCC uses it 23:26:01 What do you mean, "how could it keep track of that"? 23:26:08 How is it difficult to keep track of at all? 23:26:20 All it does is scan memory, it doesn't know you put it in an unsigned int, then an array, then whatever. 23:26:27 GregorR: So.. is SuperEgoBot okay to use as a name or do I have to be clever and think of somethiing else? ;) 23:26:27 It just knows that it sees something pointer-like that points to valid memory. 23:26:44 ehird: DriheBot. 23:26:47 ehird: To be honest, I would appreciate it if you didn't use something derivative of the name "EgoBot" 23:26:47 GregorR, so it scans the memory pages? it isn't smart using ref counting? 23:26:53 ehird: But I'm not going to stop you. 23:26:59 GregorR: all right. SuperEgoBot just amuses me ;) 23:27:04 AnMaster: How could it POSSIBLY use ref counting? It just sits on top of C! 23:27:11 GregorR: OK, can I at least call it superegobot until I think of a brilliant name for it? :) 23:27:13 GregorR, hm 23:27:18 ehird: Valtevar. 23:27:23 GregorR: Lame! ;) 23:28:19 ehird: AlterEgoBot? 23:28:46 immibis: he doesn't want me to use a derivative of EgoBot 23:29:18 ehird: Toboge. 23:29:24 ehird: I used one. 23:29:28 ehird: Why can't you? 23:29:51 toBogE is EgoBot backwards. 23:30:09 GregorR: are you OK with the name toboge? 23:31:53 ehird, this works even with many shared objects? 23:32:10 hm 23:32:19 (as in *.so) 23:32:24 yes 23:32:27 GregorR: ping 23:32:27 ehird: Pong! 23:32:30 so the .so file uses garbage collector too 23:32:36 AnMaster: something like that 23:32:42 i don't know the internals, the creators are wizards :) 23:33:03 ehird, what if a .so does use garbage collector but the main program doesn't? 23:33:03 -!- jix has quit ("CommandQ"). 23:33:57 beats me, i think everything still goes OK 23:34:00 on some platforms 23:34:04 a GC_init() is required, though 23:34:05 ehird: Pong! 23:34:05 ehird: Ping! 23:34:10 so you just have to say in the shared library something like 23:34:10 ehird: Pong! 23:34:10 ehird: Ping! 23:34:16 'HAY, use gc_init' 23:34:16 ehird: Pong! 23:34:16 ehird: Ping! 23:34:24 or define 'sharedlib_init' and tell people to use that AND SHUT THE FUCK UP immibis 23:34:24 ehird: Pong! 23:34:24 ehird: Ping! 23:34:27 STOP IT 23:34:27 ehird: Pong! 23:34:27 ehird: Ping! 23:34:27 NOW 23:34:27 ehird: Pong! 23:34:27 ehird: Ping! 23:34:30 YOU FUCKING MORON 23:34:30 ehird: Pong! 23:34:31 ehird: Ping! 23:34:43 CAN SOMEONE PLEASE KICK immibis HE HAS AN AFFECTION FOR RETARDED SPAMMING SCRIPTS 23:34:44 ehird: Pong! 23:34:44 ehird: Ping! 23:34:47 ehird, also I think a lot of X libraries internally malloc stuff that I don't know about 23:34:54 ehird, I agree 23:34:54 oops bug very sorry 23:35:02 immibis, stop testing them here 23:35:08 create a new channel 23:35:17 -!- GreaseMonkey has quit ("Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. and dlte ur files. thx."). 23:36:17 ehird: Toboge is sufficiently different, yuh. 23:36:40 GregorR, err it is egobot backwards 23:37:21 i told you it was not intentional and i am very sorry. 23:37:45 GregorR: so is SuperEgoBot 23:37:47 I could call it 23:37:50 SuperEgoBawt 23:37:52 if that would help 23:38:00 ChickenBot. 23:38:28 OgeRepusBot 23:39:28 GregorR: opinions? 23:43:58 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 hi world.........................!i 3 h 23:44:33 huh 23:44:36 interesting 23:57:41 -!- Tritonio__ has joined. 23:59:06 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).