00:08:29 -!- staplegun has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.8/2007100816]"). 00:34:23 -!- ehird` has quit (Read error: 104 (Connection reset by peer)). 01:26:03 -!- bsmntbombdood has quit (Remote closed the connection). 01:43:37 -!- bsmntbombdood has joined. 02:29:44 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)). 02:32:56 -!- Sgeo has joined. 03:51:42 -!- bsmntbombdood has quit (Remote closed the connection). 03:52:25 -!- bsmntbombdood has joined. 03:52:35 -!- bsmntbombdood has quit (Remote closed the connection). 03:53:18 -!- bsmntbombdood has joined. 03:55:08 -!- bsmntbombdood has quit (Remote closed the connection). 03:55:41 -!- bsmntbombdood has joined. 03:56:37 -!- bsmntbombdood has quit (Remote closed the connection). 03:57:55 -!- bsmntbombdood has joined. 04:01:45 I've had some really odd dreams 04:02:07 Has anyone had one where you take yourself apart? 04:02:11 I've had a Volkswagen Bug try to eat my in one of my dreams. 04:02:12 O.o 04:02:38 I had a really creepy one where I was basically pulling the muscles and tendons out of my hand, and another one involving teeth 04:03:37 in retrospect, dreams are rarely if ever anatomically correct, but it doesn't make it any less creepy 04:04:24 Yeah. . . 04:04:33 Why the hell would a VW Bug have teeth? 04:05:51 something about staring at your crumpled up hand and just knowing it's nothing but skin over bone, seeping blood out of the cuticles... and then you wake up. 04:06:14 hawt 04:11:06 yup 04:15:13 i wish i remembered my dreams 04:31:40 I'd say I recall dreams about 30% of the time 04:32:47 For me, it's more like 0.0001% of the time. 04:33:05 That dream was from when I was about 5. . . And it's the last dream I remember, I think. 04:34:16 i used to have recurring dreams when i was little 04:34:31 the other day i had a dream in one of the old recurring settigns! 04:34:52 interesting 04:35:12 most of the recurers were nightmares 04:35:57 I've thought about dream interpretation from time to time, but I've found I can generally explain my dreams when taking into account the events of the past few days and what was on my mind when I went to sleep 04:36:29 it's like a jumbled-up version of your recent memories, stitched into something that appears coherent at the surface level 04:36:41 it's easy to find a meaning when there is none 04:37:14 oh damn this song is good 04:37:33 Another thought has occurred to me- are dreams just an artifact of our brain's natural garbage-collection and memory storage processes, or do dreams themselves have an evolutionary benefit? 04:37:34 Airheadz - Stanley (Here I Am) 04:38:56 Perhaps their ability to provide insight into new approaches to problems by separating ideas from context is a reason for their existence? 04:38:56 i don't think dreams would be an artifact of garbage collection 04:39:00 RodgerTheGreat: I'd say that the evolutionary benefit *is* the garbage-collection. 04:39:32 so many people don't remember their dreams i would say they have no purpose 04:39:38 hm 04:39:56 and no evolutionary disadvantages, so no reason to not have them 04:42:34 but that is rather unsatisfying 04:42:58 true 04:45:34 Maybe it's more difficult to defrag recent memories *without* causing dreams as a side-effect, so the mechanisms that usually cause people to forget dreams act as some kind of patch to that behavior? 04:46:11 kind of an ugly hack 04:46:29 wouldn't it be better just to turn off the visual part of your brain? 04:46:44 nature is best at making ugly hacks first, and then slowly smoothing out the rough edges 04:46:45 sensoral rather 04:48:04 current knowledge of the brain suggests that there isn't a really convenient way to shut off all sensory input (which would really involve shutting down *consciousness*) without some tricky biochemical footwork 04:51:58 consciousness is a sensory input? 04:52:56 RodgerTheGreat: Technically, *sleep* is a loss of consciousness. 04:53:12 pikhq: it might be 04:53:30 memory and consciousness are intertwined in very interesting ways 04:54:12 meh 04:54:45 it's hard to argue about the physical aspects of the brain without large research 04:56:11 It's hard to argue about the physical aspects of the brain with large research. 04:56:36 it's hard to argue about the physical aspects of the brain 04:57:40 it's hard to research the brain when we can only make coarse and minimally invasive observations. It'd be like trying to understand how a computer works by dissecting casio watches and looking over someone's shoulders as they typed letters in a word processor. 04:58:15 nice analogy 04:58:28 I think it works well on several levels 05:35:56 actually i think it would be exactly like understanding how a modern CPU works, with any tools available. 05:36:08 (given that you don't have any knowledge of CPU design) 05:36:39 it's hard to reverse-engineer something so complex. 06:23:48 o 06:28:32 i've heard the human brain is more complex than a computer 06:29:20 to be honest, i don't really believe that 06:29:38 i gotta leave, just 1 hour late! -> 06:31:30 ... 06:31:34 i fail at this. 06:31:40 missed the bus. 06:37:41 Bravo. 06:38:36 omg 06:38:42 1˝ minutes till next one :O 06:38:45 fuck! -> 06:42:25 good and bad news: 1. i *would've* been on time for the bus 2. i realized i owe a teacher 25 euros and had to come back 06:44:26 if i miss the next one, this is code day. 06:44:34 getting a bit ridiculous 06:47:37 ->>>>>>>>>>< 06:47:39 -> 06:52:34 * pikhq shall now sleep 06:52:36 -!- bartw has quit. 07:47:04 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:48:30 -!- oklopol has quit (Read error: 104 (Connection reset by peer)). 07:48:38 -!- oklopol has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 11:38:59 when drawing a wire that snaps into a grid, and only straight lines between adjacent points are possible (just directions NWSE), if the mouse moves say 5 points x-wise (say east), and 2 y-wise (say north), what should the resulting line be like? i first had EEEEENN, now i have EEENENE; or would it perhaps be better if it was as straight as possible? 11:39:13 this of course is a marginal case, since usually you wanna draw the wires sowlky. 11:39:15 *slowly 11:39:20 a bit of a typo there... 11:40:00 (EEENENE is the easiest to make ;)) 11:42:47 hmm... most of you may be sleeping. 11:59:01 -!- sebbu has joined. 12:52:16 -!- ehird` has joined. 13:26:23 -!- Fa1r has quit (zelazny.freenode.net irc.freenode.net). 13:27:10 -!- Fa1r has joined. 13:29:19 -!- Fa1r_ has joined. 14:00:18 -!- RedDak has joined. 14:00:22 -!- Fa1r has quit (Read error: 110 (Connection timed out)). 14:33:57 -!- bsmntbom1dood has joined. 14:46:16 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 14:54:47 25 euros is a lot of money to owe a teacher 15:02:20 -!- RedDak has quit (Remote closed the connection). 16:18:40 -!- bsmntbombdood has joined. 16:30:00 -!- bsmntbom1dood has quit (Read error: 110 (Connection timed out)). 16:49:25 -!- sebbu2 has joined. 16:49:56 -!- tokigun_ has changed nick to lifthrasiir. 16:53:37 -!- Sgeo has joined. 16:54:11 i also owed a friend 30 euros, and had to pay 20 for an amplifier 16:54:24 this has been an expensive day. 16:56:40 occasionally i have some friends says let us have some lunch or dinner. such a day is quite expensive... 16:58:24 that's one cool nick :O 16:59:48 yup i have changed my nick months ago 8) 17:08:19 -!- sebbu has quit (Connection timed out). 17:31:55 -!- jix has joined. 18:37:06 -!- oerjan has joined. 18:37:18 wtf???????? 18:37:25 ftw 18:37:27 lolcode just got onto boing boing 18:37:34 what 18:38:16 lolcode isn't functional... 18:38:21 oh, wait, it means 'working' in this context 18:38:24 i forgot boingboing was for retards 18:38:41 and it's obviously turing complete 18:51:31 lifthrasiir: what did you use to be? 18:54:29 bsmntbombdood: that norwegian article was about the Dutch/British closing of some OiNK network, and interviewed some norwegian lawyer for record and movie companies claiming there will soon be a similar crackdown in norway. He refused to say which network, although the article speculates that OiNK information will be provided by the british police to the norwegian one. 18:55:35 sounds me like the usual blather of journalists trying to bring a local perspective on an international case. 18:56:08 *to me 19:03:31 -!- Fa1r_ has changed nick to Fa1r. 19:35:41 oerjan: did they say anything about oink's database encryption or somesuch? 19:44:36 "according to a source tipping It-Avisen the OiNK member lists were encrypted to start with, and additionally equipped with a self-destruct mechanism triggering deletion unless they received a certain signal within a given time" 19:47:12 omg just like in the movies 19:53:13 haha 19:53:20 this member list will self distruct in 10 minutes 19:54:08 i'd love to have something like that, the problem is i'd lose my files quite quickly... 19:54:32 * oerjan wonders if the OiNK people were up-to-date with the Evil Overlord list 19:55:59 thanks oerjan 19:57:24 "I will not include a self-destruct mechanism unless absolutely necessary. If it is necessary, it will not be a large red button labelled "Danger: Do Not Push". The big red button marked "Do Not Push" will instead trigger a spray of bullets on anyone stupid enough to disregard it. Similarly, the ON/OFF switch will not clearly be labelled as such." 19:59:17 "When I've captured my adversary and he says, "Look, before you kill me, will you at least tell me what this is all about?" I'll say, "No." and shoot him. No, on second thought I'll shoot him then say "No."" 19:59:24 that pisses me off in movies and such 19:59:56 Needless dramatic pause leads to captured prisoner getting away? :) 20:00:16 Two people point a gun at each other, looking dr--BANG. Oh, well that was resolved easily. 20:00:21 yep, and it has the desirable side effect of explaining the plot 20:00:23 they should at least shoot the legs before explaining 20:03:21 GregorR: i agree! 20:03:57 "Now you shall be subjected to the worst death ever! It will involve: 1. a long explanation that I will tell you while you manage to escape 2. a long, drawn out, pointless death that would be trivial to escape from anyway" 20:05:12 "Mr Bond. Now that the sedative is wearing off, the feeling should start coming back in the whole of your body except your left leg." // "Why not my leg leg?" 20:05:18 "I removed it" 20:06:04 ?!?! 20:06:09 SimonRC: lmao 20:06:18 i don't remember that james bond movie... 20:06:22 Just an idea that future villains will fail to follow 20:06:36 not out of an actual movie, like duh 20:07:41 oh :P 20:07:49 that is perfect though 20:08:54 -!- jix has quit (Nick collision from services.). 20:09:04 -!- jix has joined. 20:12:57 "If I'm eating dinner with the hero, put poison in his goblet, then have to leave the table for any reason, I will order new drinks for both of us instead of trying to decide whether or not to switch with him." 20:13:01 that one is bad 20:13:11 why are you having dinner with the hero instead of killing him? 20:26:42 i still don't use whitespace, but i gotta admit i find my old codes even too obscure to understand myself 20:26:48 void line(V a,V b,long c){if(a.x>XSZ&&b.x>XSZ)return;if(a.y>YSZ&&b.y>YSZ)return;if(a.x<0&&b.x<0)return;if(a.y<0&&b.y<0)return;if(abs(b.x-a.x)>abs(b.y-a.y)){if(a.x>b.x){double tmp=a.x;a.x=b.x;b.x=tmp;tmp=a.y;a.y=b.y;b.y=tmp;}double rat=(b.y-a.y)/(b.x-a.x);while(a.x<=b.x){pset((int)a.x,(int)a.y,c);a.y+=rat;a.x+=1;}}else{if(a.y>b.y){double tmp=a.x;a.x=b.x;b.x=tmp;tmp=a.y;a.y=b.y;b.y=tmp;}double rat=(b.x-a.x)/(b.y-a.y);while(a.y<=b.y){pset((int)a.x,(int)a.y,c) 20:27:31 the algorithm is trivial, and not a good one; and there was no linefeed :D 20:27:37 i don't think i even had it when i debugged 20:27:57 what the heck does that do 20:28:02 draws a line 20:28:10 ............ on what 20:28:19 using the pset function 20:28:24 what is pset 20:28:26 whatever that draws onto 20:28:34 that code doesn't specify it. 20:28:36 what is pset 20:28:44 you wanna see that? 20:28:46 why? 20:28:50 pset is the QBASIC name for the pixel-set function 20:28:57 but that's C 20:29:01 and other BASICs, I presume 20:29:04 wait 20:29:10 my father came 20:29:13 well one might ahve been named after the other 20:29:23 oklopol: that's... interesting 20:29:33 oklopol: well, obviously, otherwise ou wouldn't exist 20:29:44 yeah yeah, anyway, he left now 20:30:09 so... why do you wanna see pset? that just calls pset for the dots that would exist on a line between a and b, where a and b are vectors 20:30:22 using the "color" c as the third param 20:30:32 pset can be anything. 20:30:47 wait, why would your father being around change anything? 20:31:00 he doesn't want him to see his porn-irc client 20:31:04 i can't irc when my father starts asking me what i'm doing... 20:31:12 mine does that too 20:31:16 i know, i'm pathetic... 20:31:25 SimonRC: i think every father does 20:31:25 :p 20:31:31 doing one thing at a time is for insects 20:31:44 no, it is fore normal people 20:32:06 real geeks can concentrate on a task so much they forget to breath 20:32:09 e 20:32:14 "WHAT ARE YOU DOING?" 20:32:14 "Writing code to interface with the BIOS for my hobby OS and improving my irc client." 20:32:14 "..." 20:32:14 "WHAT ARE YOU DOING?" 20:32:32 (note: i have not actually tested the above) 20:32:46 i guess. i can actually irc and talk at the same time, in normal situations, but that was too complex a thought to express while talking irl at the same time 20:32:56 even though it was not that complex 20:33:09 i guess was for the normal people thing 20:33:14 Did I tell you I was doing some Forth experimenting? 20:33:23 whoisn't? 20:33:26 *+" " 20:33:31 :) 20:33:33 SimonRC: ??? 20:33:35 SimonRC: me too!! 20:33:41 did you write a forth in brainfuck? :) 20:33:46 no 20:33:53 ehird`: my father knows more about bios than me 20:33:53 I started before that 20:34:03 SimonRC: damnit 20:34:07 SimonRC: ok, what di dyou do then :P 20:34:20 when it comes to computers, i just own him at coding (which was his job for 20 years...) 20:35:17 I just threw together a small VM 20:35:37 it has a stack, a control stack, and main memory 20:35:37 ahh 20:35:44 hey, that's not forth-y :( 20:35:49 huh? 20:35:51 real forths access the system directly :| 20:35:51 yes it is 20:35:55 ah 20:36:07 none of this vm crap! ;p 20:36:11 well I didn't have a compiler that could do that 20:36:17 it is a very minimalist VM 20:36:22 gnu as can do that ;) 20:36:47 I am still assembling things by hand though 20:36:56 http://www.annexia.org/_file/jonesforth.s.txt very short gnu as forth system, comes with a tutorial which explains how it's done in great detail 20:36:58 it's very good 20:37:06 also, SimonRC, the stack is meant to go in main memory. :-) 20:37:41 well I didn't have net access at the time 20:37:54 still, jonesforth is worth a read 20:37:55 And I am still editing it in numbers, which is leet 20:37:57 it's really eye-opening 20:38:14 "1, 48, 60, 102, 22" <-- that is printdigit 20:38:36 pff, read jonesforth 20:38:45 it uses handy gnu as tricks like, oh, being able to do: 20:38:51 name: 20:38:51 .int x 20:38:51 .int y 20:38:51 ... 20:38:55 and refer to it as name 20:39:09 still as low level, not as hyper-1337-oh-wait-what-does-that-number-mean-again ;) 20:40:14 the only conditional I have is ?: 20:40:25 pff, jonesforth only has "branch" 20:40:33 read it! it doesn't take too long ;) 20:40:41 (it continues at http://www.annexia.org/_file/jonesforth.f.txt when it gets into forth) 20:40:43 shouldn't that be 1337? 20:41:21 (er, SimonRC not ehird`) 20:42:39 : FORTH COMPILER-SEMANTICS UNINTUITIVE GOOD ; 20:43:31 if you have less than a hundred commands, numbers are just as easy to use as words 20:43:47 oklopol: that is not the point 20:43:49 mnenomics are easier 20:44:17 bsmntbombdood: oklopol doesn't get "easy", he thinks that if /he/ knows how his code works (... right now... while he's writing it... for the first time...) then why should he do anything else 20:44:29 obviously incorrect, unless you want one session in your editor and then have to abandon it 20:45:30 i've never had any trouble reading my code after a long time, except for the sickest ones i've done; i'm just saying numbers are as eays to understand as words, if you just have a few of them to memorize. 20:45:54 I comment religiously 20:46:13 i don't comment religiously because i make my code self-documenting 20:46:17 this means not using numbers for words ;) 20:46:23 every time I want to add a word, I write it in BoredForth in a comment, then write the number underneath 20:46:34 I haven't got it bootstrapping yet :-( 20:46:40 seriously, you should read jonesforth 20:46:43 getting out of bootstrapping is simple 20:46:56 go, read it now, then go back to boredforth with your new knowledge :-) 20:48:22 I am reading 20:51:32 -!- jix has quit ("CommandQ"). 20:54:15 i have a new life goal! 20:54:20 create a programming language where this is cat: http://rafb.net/p/GhR1Hn14.html 20:55:25 NNNGHHH! (that was a comment) 20:56:01 :D 20:56:04 it would be awesome 20:56:16 having / and slash both as commands is beautiful 20:57:48 -!- jix has joined. 20:57:54 i like the line noise ones that have a theme going on... it gets a bit boring when it's fully random 20:58:05 question marks remind me of that... whatsit... 20:58:16 the language with splot and mulbruf 20:58:25 but the names were something completely different 20:58:39 ok, how about the ? / language 20:58:46 i don't know what it is, but it's crazy 20:59:22 yeah, that one 20:59:29 ah the one in the paste? 20:59:42 i think the one i mean is cakeprophet's, but not sure 21:00:05 also, where is that guy... i hate it when regulars dissappear 21:00:20 it's like losing a friend :'( 21:00:31 FNRK BRTRTRTR SKRNK SVRPTK 21:00:43 oerjan: isisaoa9838383 21:01:34 ASDSFEFEBR ERBTIA 21:01:39 floodfest 21:01:45 *garblefest 21:03:29 * SimonRC goes 21:04:40 how about this: 21:04:57 / changes all /s into ?s 21:04:57 ? does something 21:04:57 :P 21:06:30 ? is call/cc! 21:06:44 i'm pretty sure those semantics aren't tc :p 21:07:00 well call/cc wouldn't make any sense, but anyway xD 21:07:18 since... wtf is calling in a substitution language :) 21:08:18 ooh, how about something that operates on the program code as a data structure 21:08:21 and the commands modify it 21:14:09 =D 21:14:21 LISP! 21:14:28 that is not what lisp does 21:18:20 -!- RedDak has joined. 21:19:41 true, but it should 21:19:51 that'd be odd 21:19:55 since lisp is lists not strings 21:19:56 everything should be self-modifying 21:21:36 "data structure" need not mean "string"... 21:23:45 Lists are a data structure. 21:23:55 And everything in Lisp is a list. 21:23:59 ;) 21:24:01 yes 21:24:03 well 21:24:05 apart from atoms 21:24:09 and a bunch of other stuff :-) 21:24:37 pikhq: but lisp cannot modify itself 21:24:38 directly 21:24:47 well, it kind of can 21:25:16 Isn't that what Lisp macros *are*? 21:25:18 yes, but you cannot make a loop that keeps itself going by adding nested lists to itself for more to evaluate 21:25:25 hmm, perhaps. 21:25:34 oklopol is right, without eval 21:26:25 you could do something with rplacd, surely? 21:26:31 i think macros are a bit limited, not being first-class thingies, but you might be able to do program flow with them... haven't really used them enough to know. 21:26:40 rplacd? 21:26:40 hmm 21:26:48 (but maybe not in the code) 21:26:49 hooray for archaic cl names 21:26:50 um macros are first class 21:27:00 lisp macros are first-class.. 21:27:00 set-cdr!, not rplacd 21:27:10 ehird`: no they're not 21:27:28 yes they are 21:27:33 :| 21:27:39 ehird`: what lisp? 21:27:47 decent lisps 21:27:59 not in cl or scheme 21:28:38 hm, i thought scheme macros were first-class 21:28:52 ok, now someone has to implement first-class-macros using scheme macros :-) 21:29:01 ololobot lisp has first-class macros, but you can't define your own macros, so it's kinda retarded ;) 21:30:13 ololobot has a lisp? 21:30:16 get it in here! 21:30:18 i must test it 21:30:20 and hack on it 21:30:51 it's retarded, i tells ya! 21:30:52 but okay. 21:31:03 the whole thing is just a quick hack. 21:31:40 -!- ololobot has joined. 21:31:59 it just has a few basic things, and i'm not sure that's even a working version of it. 21:32:12 i'm too lazy to use the newest version, since it's on the other comp 21:32:19 >>> sch (+ 1 2) 21:32:21 3 21:32:25 yay. 21:32:42 >>> sch (define a (lambda (b c) (+ b c))) 21:32:43 () 21:32:43 >>> sch ((lambda (x y) x) 1 2) 21:32:44 1 21:32:48 >>> (a 2 4) 21:33:03 lol. 21:33:06 >>> sch (a 2 4) 21:33:08 6 21:33:09 i never learn 21:33:17 >>> sch (lambda (x) x) 21:33:18 21:33:32 >>> sch ((lambda (x) (x x)) (lambda (x) (x x))) 21:33:36 :-) 21:33:39 better kill that 21:33:45 ehird` beat me to it. 21:33:51 heh 21:34:03 >>> 2 21:34:07 >>> sch 2 21:34:08 i'm using python's __reload__ for "threading" 21:34:09 2 21:34:14 oklopol: how? 21:34:18 >>> sch `2 21:34:24 so... it basically dies when you reuse the command, i think 21:34:32 I CAN HAS ERROR MESSAGES? 21:34:33 hmm... not sure i have quoting in that version 21:34:34 >>> sch '2 21:34:36 None 21:34:38 >>> sch 'oko 21:34:39 None 21:34:40 wait, no quoting? 21:34:41 ummm 21:34:44 >>> sch (quote oko) 21:34:44 it's useless, then? 21:34:45 oko 21:34:48 ah 21:34:52 do you have quasiquote 21:34:54 aka ` 21:35:03 >>> sch `oko 21:35:06 >>> sch ´oko 21:35:07 None 21:35:14 that is, `(a b ,c d) is (list 'a 'b c 'd) 21:35:19 no, haven't implemented it in that version 21:35:20 quasiquoting is useful you should support it 21:35:28 but i think i even have the comma thingie in the new one 21:35:39 >>> sch (list 1 2 3) 21:35:42 (1 2 3) 21:36:33 >>> sch (eval 2) 21:36:34 2 21:36:49 >>> sch (define \ lambda) 21:36:50 () 21:36:53 does it remember definitions? 21:36:56 >>> sch \ 21:36:57 lambda 21:36:58 it should... 21:36:59 yay 21:37:00 yeah 21:37:03 >>> sch (\ (x) x) 21:37:04 21:37:42 primitives are always autoreloaded, so you can't kill them permanently 21:37:44 >>> sch (define \ (lambda (x y) (eval (list lambda (list x) y)))) 21:37:46 () 21:37:51 >>> sch (\ x x) 21:37:53 21:37:55 >>> sch ((\ x x) 2) 21:37:56 hmm 21:37:56 None 21:38:00 wait, what 21:38:26 umm umm 21:38:51 it seems it failed :< 21:39:01 but i don't know where 21:39:27 >>> sch (eval (list lambda (list x) 4)) 21:39:28 21:39:28 oh 21:39:39 >>> sch ((eval (list lambda (list x) 4)) 5) 21:39:40 4 21:39:52 x is evaluated. 21:40:03 -> it fales 21:43:44 back 21:43:48 ahh i see 21:43:57 well 21:44:00 it's hard, because 21:44:05 i WANT to evaluate x 21:44:10 (\ x y) should be (lambda (x) y) 21:44:14 my code SHOULD do that... 21:45:58 eh... no 21:46:06 yes 21:46:13 ahh, the problem is 21:46:17 is that (\ x y) fails right there 21:46:22 because x is evaluated right-there 21:46:23 bah 21:46:26 yeah, because \ isn't a macro anymore. 21:46:28 add a defmacro function 21:46:32 just a simple one 21:46:42 (defmacro name args code) 21:46:42 defmacro isn't a function 21:46:47 bsmntbombdood: yes, yes, i know 21:46:48 i typo'd 21:47:00 but yes, (DEFMACRO name args code) plz 21:48:18 :< 21:48:27 come on, it'll be trivial 21:48:30 make your own lisp and make it good ;) 21:48:36 no 21:48:37 :p 21:48:56 i'm too lazy to even run the new bot, you think i'll start adding stuff to it :D 21:49:04 nah, i won't 21:49:09 as long as your sch works, i'm happy :-) 21:49:41 i've been trying to make my wire drawing program all day, was doing graphics with windows' own drawing functions... i have no idea why, but that was my stupidest idea ever. 21:50:08 it seems to automatically redraw everytime i draw something, i have no idea how to make it wait until drawing is over... 21:51:04 so i tried to convert to sdl, but i can't find sdl_gfx for windows, and without it everything is too slow to use (if i just directly draw on the SDL_Surface, it's slow as hell...) 21:52:10 i know both those suck, and i should use opengl or something, but i'm so pissed off at having already spent hours trying to find the right functions, i don't really wanna start learning a new api... 21:52:52 I NEEW TO DRAW GRAY POINTS, DOTS, AND LINES, HOW THE FUCK CAN IT BE SO HARD 21:53:05 I'm writing a simple lisp in C now oklopol :-) 21:53:21 good for you 21:54:22 the problem with C is, i like having an interactive debugger, and they just don't seem to work... 21:54:28 gdb 21:54:34 gdb works 21:54:36 it works great 21:55:03 hmm... not sure i've tried that one 21:55:23 it's the gnu debugger 21:55:27 it is exceptionally good 21:56:09 can you get that for win? 21:56:14 sure 21:56:15 cygwin has it 21:56:17 i can't use my linux machine for graphics 21:56:23 MingW has it. 21:56:31 ok, but oklopol has cygwin 21:56:34 and i don't think he hsa mingw 21:56:47 To be honest, I doubt that the Cygwin one can debug non-Cygwin binaries. 21:56:51 it can 21:56:56 Well, there's that :) 21:57:13 rape us to death, eat our flesh, and sew our skins into their clothing, and if we're very very lucky, they'll do it in that order 21:57:16 wait what? 21:57:50 bsmntbombdood: where was that from? 21:57:57 firefly 21:58:06 That was bsmntbombdood's job description. 21:58:08 FEUER FREI 21:58:42 mini-lisp-implementation question 21:58:57 ints, longs, or bignums-as-list-of-digits-in-hexadecimal? 21:58:58 :-) 21:59:05 bugnums 21:59:13 but use 256-based 21:59:13 as a list of digits in hexadecimal? 21:59:14 hah 21:59:18 heh, naw 21:59:19 that's no fun 21:59:26 then you can't do things like 21:59:35 (parse-int (2 f 3 4 9 a 2 b)) 21:59:40 yes you can 21:59:46 ok fine 21:59:47 but meh 21:59:47 :P 22:00:00 why would you wanna waste half your chars? 22:00:18 and just use 4 out of 8 bits 22:00:20 i think i will just do a normal int 22:00:23 ;) 22:00:55 also, "strings" (when i make them) will just be atoms 22:01:10 so "a b c" will just be the syntax to get an atom of the same name because you can't put just a b c in code 22:01:11 and you can do 22:01:18 ("func" '"arg") 22:01:19 mwahaha 22:01:30 ew 22:01:40 bsmntbombdood: yes, but funny to implement 22:01:46 also, it makes shit a hell of a lot simpler 22:01:50 as i only need to provide one set of functions 22:01:50 ;) 22:03:51 bsmntbombdood: shall i make you ew some more? 22:03:55 i think i'll use REFERENCE COUNTING! 22:04:02 meh 22:04:13 that was meant to make you explode 22:04:42 reference couning isn't bad 22:04:55 ok, you're right 22:04:55 :P 22:04:59 damn 22:05:00 reference counting is okay in most situations 22:05:08 it even works perfectly for lambda calculus 22:05:16 well, in all really, who cares about memory leaks, not me 22:05:45 #define NIL ((LIST *)0) 22:05:45 where LIST is a struct. am I evil yet? 22:05:47 Use reference counting, and also have a GC. The GC will be called so rarely it's not a big overhead, but it's there for circular refs. 22:06:01 yeah, that's prolly the best way 22:06:15 GregorR: but that's, you know. work. 22:06:23 refcounting = so damn trivial to implement 22:06:26 gc = not that much 22:06:48 GC = #include -lgc 22:06:55 it's not that hard if you make a trivial one 22:06:57 (OK, so that's an ultralame solution :) ) 22:06:57 yes, but that would be THIRD-PARTY 22:06:57 :O 22:07:05 i implemented a gc once 22:07:21 and the gc/refcounter is a pretty integral part of lisp 22:07:38 using a third-party solution seems kind of like deferring list handling to a library :-)( 22:07:38 *:-) 22:08:05 ok, one question 22:08:16 am i the only one obsessed with metacircular interpreters and bootstrapping? 22:08:30 whenever i implement a language, i force myself to do the minimum possible, then write the rest in itself 22:08:33 i can't help it 22:09:22 That's the best way to go. 22:09:32 Plof3 is just a parser. 22:09:37 GregorR: I mean even things like "if" 22:09:38 gdb is too hard for me to install 22:09:48 ehird`: Plof3's if is implemented in Plof3. 22:09:52 And - (it's obviously (+ x (neg y))!) 22:09:58 i really need the secretary... 22:09:59 ehird`: EHello, Plof2's if is implemented in Plof2. 22:10:06 EHello = Hell (wtf?) 22:10:12 sorry, i have no idea what plof is 22:10:17 :O 22:10:17 Heh 22:10:21 what... 22:10:23 http://www.codu.org/plof/ 22:10:29 that's like not knowing what pebble is ^2 22:10:35 oh, it's a serious language? 22:10:43 or like not knowing what brainfuck is ^-7 22:10:48 ehird`: Yeah. 22:10:51 ok show me some examples 22:11:31 I have none, as my brain is entirely in Plof3 but my implementation is entirely in Plof2 :P 22:11:42 show me some plof3 examples 22:11:46 from your brain./ 22:12:13 Well, Plof3 is a simple stack language with just some object manipulation operators, and a runtime parser. 22:12:29 The parser is bootstrapped with a grammar just simple enough to define a useful grammar within the language. 22:12:50 code examples. 22:12:51 I can give some simple Plof2 examples. . . 22:13:14 i thought i could, but i've forgotten some crucial things about it :< 22:13:35 (x):{x(x);}((x):{x(x);}); 22:13:44 bah, i don't want to write a hash table in C for the variable table 22:13:45 No starting with horrifying examples :P 22:13:46 == 22:13:59 ((lambda x (x x)) (lambda x (x x))) 22:14:00 pikhq: something that isn't (\x. x x) (\x. x x) 22:14:03 um i can tell 22:14:04 ;0 22:14:07 Ah. 22:14:26 Tell ya what - if you wait 4 hours until I'm not at work, I can make some good'ns :P 22:14:39 lol work 22:14:45 someone tell me a cheap way to get around writing a hash table 22:15:02 ehird`: Use D :) 22:15:53 noes 22:15:53 :P 22:16:03 Use Tcl. 22:16:04 i want to frolic in the fields of malloc 22:16:05 :p 22:16:10 and low-level ness 22:16:20 hmm... i have mingw... 22:16:20 Don't use a hash table. 22:16:41 ehird`: I recommend pulling the latest Plof, and playing. 22:16:43 Use a linear-linked list of variable->value associations :P 22:16:50 GregorR: i might just ;) 22:17:00 i'll have: 22:17:05 ((var . value) (var . value)) 22:17:08 It's Lispy! ;) 22:17:12 alist 22:17:19 ok, what humorous name shall i give to my malloc-but-dies-on-error 22:17:25 also linear time lookup 22:17:28 i am thinking "moolloc" 22:17:42 Spank that ass, put it in, let's go for a hell of a ride.. 22:18:11 void *buf = spankThatAssPutItInLetsGoForAHellOfARide(bufferSize); 22:18:17 yes! 22:20:51 I wonder, if I really hunkered down, if I could get Plof3 written this weekend. 22:21:15 but seriously, what should i call the malloc 22:21:43 mallocAssert? 22:21:51 sfMalloc? 22:22:03 i know! 22:22:05 i'll call it: 22:22:06 AWESOME 22:22:15 AWESOME(buf_size) 22:22:15 lolloc? 22:22:38 iCanHasMemory 22:22:41 wonder what it'd cost if i paid someone to install me a C compiler + a graphics library + nice ide with debugging :) 22:23:18 smalloc i guess 22:23:21 i hate that name 22:25:22 hmm 22:25:28 i should probably have a heap with all objects on 22:25:31 shouldn't i? 22:25:44 ... hey, that'd make for an easy GC: if an object is on the heap but not on the stack, zap 22:25:49 ... wait, no, that wouldn't work, would it? 22:25:50 oklopol: On what? 22:26:36 on my computer 22:26:47 on my watch, plz 22:26:49 he uses windows 22:26:53 yeah 22:26:55 ;( 22:27:10 someone tell me i'm stupid - 22:27:11 well.. i'd go for Dev-Cpp + SDL 22:27:16 a GC that just checks: 22:27:21 but that's just me 22:27:23 i can't find SDL_gfx 22:27:28 if (on_heap && not_on_stack) free(obj) 22:27:33 where heap is, well, EVERY SINGLE OBJECT 22:27:38 ... that won't work as a gc will it? 22:27:46 i mean, global variables and the like surely? 22:27:52 if someone can link me an SDL_gfx for windows, i'd appreciate it 22:28:05 oklopol: sdl 22:28:07 google for it 22:28:12 or 22:28:14 libsdl.org 22:28:14 i have sdl 22:28:18 sdl has sdl_gfx 22:28:18 okay 22:28:21 no 22:28:27 not automatically 22:28:35 anyway 22:28:41 someone please tell me my gc idea 22:28:44 wouldn't work/would work 22:28:45 :P 22:28:50 http://www.libsdl.org/release/SDL-devel-1.2.12-mingw32.tar.gz 22:28:52 hm 22:28:59 seems that one got it already 22:29:16 that is, for dev-cpp/mingw compiling 22:29:20 ehird`: It seems to me like you're deleting every object from that. 22:29:27 GregorR: not objects that are on the stack 22:29:39 "error after processing 0 entries" 22:29:44 i love it how everything just works! 22:29:49 oklopol uses winzip, also. 22:29:55 ehird`: If it's on the stack, you don't need a GC, it'll get deleted when the stack unwinds. 22:29:59 yeah, it's the defautl 22:30:00 *default 22:30:07 GregorR: right but what about ... globals and stuff 22:30:37 i have about 5 zipping programs 22:30:41 Let me put it this way: I have no idea what that GC is doing, so I can't tell you if it's correct. 22:30:41 where are we going tomorrow, as with windows today 22:33:01 GregorR: :-) 22:33:27 ehird`: doesn't look correct 22:33:45 well, what i'm doing with the heap is 22:33:48 the heap is a linked list 22:33:51 hmm 22:33:53 i'm hungry 22:33:56 latest element = most recently allocated object 22:34:02 etc, so on backwards 22:34:11 if something isn't on the stack, then it isn't being used any more 22:34:14 so i can search the heap 22:34:17 find stuff that isn't on the stack 22:34:18 and free it 22:34:19 wrong 22:34:20 err... 22:34:23 exactly 22:34:25 i thought it was wrong 22:34:31 Things on the heap can link to other things on the heap. 22:34:36 That's the entire challenge of GCs :P 22:34:37 ok 22:34:37 that will work as long as you can't make any compound objects 22:34:38 i'll just refcount 22:34:39 :P 22:34:46 what GregorR said. 22:34:48 (cons a b) is on the stack, a and b aren't 22:35:02 ehird`: you can read my gc, it's pretty simple 22:35:11 heh, i've just realised my refcount comments are like forth stack comments 22:35:14 i have things like: 22:35:23 /* REF +1 x, REF -1 y */ 22:35:35 http://abacus.kwzs.be/~bsmntbombdood/gc.tar 22:36:05 everyone has weird domains in their urls 22:36:07 like kwzs.be 22:36:10 why do i have boring ones 22:36:11 :P 22:36:21 Mine is codu.org 22:36:25 That's not too weird. 22:38:46 mine is elliotthird.org 22:38:48 i am so imaginative 22:38:56 nvg has the nuts.edu domain 22:39:15 mingw... does that have an ide? 22:39:26 but it's not the default used 22:39:34 it seems everything without an ide is too hard for me. 22:39:51 i wanna press "run" or "debug", not switch between windows :| 22:47:51 phew, most of the object stuff is done 22:48:07 now i can write simple helper functions in C, the eval function, and the core stuff 22:48:08 :P 22:48:12 it's 150 lines right now 22:50:01 oklopol: how long has your lisp had macros? 22:50:04 since the start? 22:50:13 i want to feel not-too-bad about omitting macros right now 22:50:14 :P 22:50:37 lambda, define and if were almost the first thing i did... but that's all the macros it has, really 22:50:44 well, yeah, list and quote 22:50:48 they're not macros 22:50:50 they're special forms 22:50:53 and prolly a few more, but there's no real macro support 22:50:56 ah, sorry. 22:51:03 so it doesn't actually do any macro transformations? 22:51:17 just some special form things? i.e. functions that don't have their arguments evaluated? 22:51:22 then there are *no* macros, it has first-class macros, which cannot be created.. 22:51:30 :) 22:51:34 does it substitute them for their code while "compiling"? 22:51:38 or does it "call" them when evaluating? 22:51:40 special forms are first-class 22:51:43 in mine 22:51:43 if its the latter, you have no macros 22:52:08 yeah, i thought special forms are a subclass of macors. 22:52:10 *maroccos 22:52:32 marco 22:52:34 how is your evaluator structured? 22:52:36 polo 22:52:37 recursive or using a stack? 22:52:41 since its python i guess recursive 22:52:41 recursive 22:52:44 but recursive kind of sucks in c :p 22:52:50 recursive is using a stack... 22:52:57 bsmntbombdood: yes, but it's an implicit stack 22:53:07 and as far as i know it's bad practice to recurse in a situation like this 22:53:13 :-) (i.e. having NO stack in the whole language) 22:53:27 umm 22:53:30 it's the same thing 22:53:32 for a while now i've been wanting to make my own assembly, and start making languages targeted for it 22:53:45 bsmntbombdood: i guess 22:53:50 oh well i might just recurse 22:53:52 and change it later 22:53:52 :-) 22:54:05 and yay, my installation was almost complete, then it popped up for some reason, and i pressed "C" while typing on the channel, and cancelled it :)) 22:54:39 Rock ON 22:55:43 i should do all my coding on paper... using the computer seems to be too hard for me :P 22:56:03 good plan 22:56:07 hard to test though 22:56:39 shit, i just realised 22:56:43 variable scoping. 22:56:50 oklopol: what scoping do you do? lexical? 22:56:54 yeah 22:56:55 i've never been able to implement lexical scoping 22:56:56 :( 22:56:58 ummmmmm 22:57:00 it's trivial 22:57:10 although it took me a while to actually grasp how it's done 22:57:11 lexical scope is the only reasonable scope 22:57:12 maybe the descriptions i've read of its algorithm are just wrong i guess 22:57:17 bsmntbombdood: yeah i know =( 22:57:20 well hey 22:57:25 lisp 1 used dynamic scope 22:57:31 it's really easy to implememnt 22:57:39 bsmntbombdood: dynamic scoping is fun sometimes, when used correctly. 22:57:49 noooooo 22:58:00 yes. 22:58:06 how 22:58:17 i think what lisp needs is a new dialect (Not being sarcastic here :P) 22:58:20 * GregorR <3 dynamic scoping. 22:58:31 scheme started off OK, but then it kind of tripped up and it's kind of trawling along in limbo right now 22:58:34 common lisp is just /ugly/ 22:58:43 bsmntbombdood: i don't really have a convincing argument about that. 22:58:46 cl is terrible 22:58:50 Uncommon LISP 22:58:53 bsmntbombdood: i agree 22:58:57 but it's nice sometimes 22:59:02 GregorR: haha 22:59:04 scheme is b e a utiful 22:59:18 bsmntbombdood: scheme is beautiful but it has been in limbo for a while now 22:59:24 so? 22:59:25 okay, i'll retry the install 22:59:33 let's hope i don't press C again 22:59:36 that just means it doesn't need any improvement 22:59:39 i'll just type without it. 22:59:47 so, a new dialect that combined scheme's beauty with unique practicality... 22:59:51 -!- RedDak has quit (Remote closed the connection). 22:59:59 i'm sure it would fail 23:00:08 perhaps, perhaps not 23:01:54 -!- oerjan has quit ("Good night"). 23:02:02 ehird`: static scoping == when you create a function that encloses variables x, y etc., store the values of those variables (which you will find in the upper scope) in a closure or whaddyacallit and carry that around with the function 23:02:31 i know the theory 23:02:35 but every time i've tried to implement it 23:02:36 it's just failed 23:02:49 hmm, mine worked like that, but ...python <3 23:02:56 *just like 23:03:04 show me your code? :P 23:03:05 it's really easy 23:03:09 yeah 23:03:10 or rather, olololisp's code 23:03:23 nah 23:03:28 =( 23:03:38 you get so judgy. 23:03:50 i just wanted to see olololisp's code, haha 23:04:32 no matter how many times i tell people who wanna see my code that i already know everything that's wrong with it, and i just don't care, since i code for fun; still everyone needs to tell me the same things over and over again. 23:04:49 sheesh, i won't 23:04:55 aogji 23:04:56 don't be so pessimisticf 23:04:56 :P 23:04:59 okay, i'll paste... 23:05:37 i'm very pessimistic, i've been making a FUCKING PROGRAM FOR DRAWING LINES for like 6 hours 23:05:46 well, most of the time, like 5 hours, i've been idling 23:05:52 that's 1 byte in my language 23:05:55 DrawingLinesLanguage 23:05:57 and it's actually ready, i just don't have a graphics lib... but still 23:06:03 the program: ; 23:06:05 :) 23:06:15 darn, wish i'd used that one! 23:06:29 Is DrawingLinesLanguage TC? 23:06:33 GregorR: yes! 23:06:39 AWESOME 23:07:49 -!- Sgeo has quit (Success). 23:08:05 http://www.vjn.fi/pb/p255331634.txt try to keep in mind this was done in 2~3 hours, and was not meant for another human to see, ever. 23:08:21 well, the core was, i may have added stuff like quote later on. 23:09:54 Y'know, recently a concept for encoding descriptive metadata into programs was created. 23:09:57 It's called "comments" 23:10:01 You may want to try that out. 23:10:16 GregorR: thanks for doing exactly what i said you would ;) 23:10:23 i was about to say. 23:10:29 exactly what oklopol just said. 23:10:47 "Not meant for another human to see" != "free of comments" 23:10:59 "oklopol: no matter how many times i tell people who wanna see my code that i already know everything that's wrong with it, and i just don't care, since i code for fun; still everyone needs to tell me the same things over and over again." 23:11:19 hmm, why? english isn't any more descriptive than python to me :| well, prolly is, but i'll never admit that officially. 23:12:37 i'll start commenting once i learn lojban 23:12:38 ! 23:13:14 the conlang i've been creating actually has an oklotalk module ;) 23:13:35 so... you could just write the code and the comments in the same language 23:13:36 what 23:13:39 haha 23:13:41 so, like 23:13:45 you can speak, in your languge 23:13:47 in oklotalk? 23:13:56 doesn't that make talking to people non-deterministic? lmao 23:14:06 "MENTAL STACK OVERFLOW, BRAINS NOW OUT OF HEAD" 23:14:16 err... sure 23:14:21 bah, i don't have a function type 23:14:27 you can read oklotalk code in english too... 23:14:46 it's just in english reading characters is quite verbose unless they form words. 23:15:21 # TODO: 23:15:21 # list stuph 23:15:25 commentz! 23:15:40 that's already been done though... 23:15:58 also some stuff is commented out! 23:16:02 woot, i have unified functions and special forms 23:16:03 and there are code examples! 23:16:05 i just have a special attribute 23:16:12 which specifies whether to map(eval, args) 23:16:13 :-) 23:16:21 yeah. 23:16:38 anyway 23:16:49 oklopol: so to implement lexical scoping 23:16:55 i have a "main mapping" 23:17:06 which is just your regular varname=>value mapping 23:17:14 then for a new scope (well, only scope is functions here, so:) 23:17:18 then for a new lambda 23:17:24 i have a seperate lookup table 23:17:26 at the start 23:17:33 i copy the current lookup table over to it 23:17:38 and then that's my scope 23:17:44 and i just bind vars, etc., whatever to that scope 23:17:46 yeah, lambdas carry a look-up table with them. 23:17:50 OK 23:17:52 so i have: 23:17:55 MAIN_TABLE 23:17:59 LAMBDA->LOOKUP_TABLE 23:18:02 TABLE_IM_USING_RIGHT_NOW 23:18:13 i need TABLE_IM_USING because i will copy LAMBDA->LOOKUP_TABLE to it 23:18:24 so, when i do (set var value) and the like 23:18:27 it isn't carried over calls 23:18:29 am I right here? 23:18:30 umm... when you use a lambda, it will not use any variables from the outer scope. 23:18:38 that only happens when you *create* it 23:18:47 yes 23:18:54 a lambda must always carry everything it uses, except for args 23:19:01 ihmm 23:19:02 *hmm 23:19:26 i need TABLE_IM_USING_RIGHT_NOW 23:19:29 to put arguments 23:19:35 and variables that i set 23:19:35 e.g. 23:19:41 (lambda (x) (set blah x)) 23:19:45 blah shouldn't carry across calls 23:19:51 it's not carried over calls, if you do a set, true. 23:19:57 so new variables go to TABLE_IM_USING instead of LAMBDA->LOOKUP_TABLE 23:20:02 unless you pass by argument 23:20:13 basically, TABLE_IM_USING is "if i'm in a function, put new stuff and arguments in here" 23:20:34 sound reasonable? 23:20:55 hmm, i think so, although i am pretty tired 23:21:11 ok 23:21:18 hey, i thought of a good way to do variables without hash-tables 23:21:31 you have a backwards-linked list (i.e. you have a "TOP" and they have a "previous" property) 23:21:33 wuzzit? 23:21:39 with, a string as name 23:21:41 and object as value 23:21:42 obviously 23:21:49 so, to make a new variable, obviously you push it to the list 23:21:56 and you start from the top and go down to find a variable 23:21:57 BUT 23:22:00 when you want to change a variable 23:22:04 instead of finding it, then changing it 23:22:10 it finds it, deletes it, then pushes a new one 23:22:20 this takes advantage of the fact that recently-set variables are more likely to be used recently 23:22:20 what was the reason for not using a hash table for vars? 23:22:23 = less lookup time 23:22:27 and because i don't want to implement one in C :P 23:22:34 ah 23:23:02 so 23:23:04 sound reasonable? 23:23:26 well, first of all you should assing each atom... well, string that's used as an atom in your case i guess... an integer value, for O(1) equality 23:23:30 well, not should 23:23:31 could. 23:23:39 assing? 23:23:40 :P 23:23:46 and really, they do have one... the object id 23:23:56 although, my stuff is weird 23:23:57 and... hmm... that list thing might be good, but a hash table would pwn it 23:23:59 for example 23:23:59 ass-sing. 23:24:02 integers are allocated on-use 23:24:08 instead of saving them for later 23:24:10 like most languages 23:24:10 -!- sebbu2 has quit ("@+"). 23:24:15 so, "3" is a different 3 each time 23:24:15 :-) 23:24:46 that doesn't really make much difference :) 23:25:26 but, what do you mean about an integer/string mapping 23:25:28 like a godel number? 23:25:52 mingw doesn't have an ide, or? 23:26:12 like a hashval 23:26:20 object id sounded right. 23:26:39 it isn't a hash 23:26:55 let's picture a repl session 23:27:12 > (id "hello") 23:27:12 34 23:27:12 > (id "hello") 23:27:12 37 23:27:14 see? 23:27:26 all objects - symbol, string (well, symbol :P), number, or list 23:27:33 are different each time you mention one as a literal 23:28:25 yeah, okay, well, the idea of using atoms is that you can just assign each atom a number, and forget the string the atom represents 23:28:43 yeah, well :P 23:28:48 except you need to store a num->string mapping separately, since you can access the atom string at runtime 23:31:20 my way follows the scheme-to-c compiler ichbins 23:31:24 which does the same as me 23:31:25 no hashing 23:31:29 and symbol == string 23:33:20 yeah 23:33:32 i guess that's not really necessary. 23:33:38 i mean, atoms in general. 23:33:59 my lisp will have a grand total of four types 23:34:04 cons, symbol, number, lambda 23:34:47 (cons is (a . b) or (cons a b)... lists are cons. (EL1 EL2 EL3) is (cons EL1 (cons EL2 (cons EL3 NIL))) where NIL is the empty list) 23:35:24 yeah, that's how lisp always workz 23:35:31 yeah 23:36:11 hey, i think i found an ide for mingw, dev-cpp! 23:36:12 ... 23:36:20 when i get this lisp (it's called Xlisp. officially "the X means it's awesome" but I just couldn't think of anything better) done, I'm going to bind a few C libs to it (like sockets) then write an irc bot in it :D 23:36:25 the irc bot, of course, will be scriptable in the language 23:36:30 oklopol: that was suggested to you... ages ago 23:36:34 i used to have dev-cpp... the debug didn't work 23:37:02 oh, indeed 23:37:21 i have read the line before and after that, but don't remember seeing that line :P 23:37:34 also, i've used dev-cpp, it just doesn't work 23:37:36 *didn't 23:37:44 perhaps it now does 23:38:55 if it doesn't work, i don't know what to do 23:39:21 all this installing isn't good for my health 23:44:32 heh 23:45:13 someone give me a three-letter abbreviation for 'lambda' 23:46:44 i'd prolly go with lbd 23:47:11 ok 23:47:52 o 23:47:53 m 23:47:53 g 23:47:58 debuggin actually works. 23:48:00 haha 23:48:02 *debugging 23:48:04 it uses gdb 23:48:05 :-) 23:48:20 now try a program in it, and realise the awesome of gdb 23:48:21 but... it works! it didn't work when i last installed that :) 23:48:25 * oklopol is so happy <3 23:48:25 main commands that you need: 23:48:31 set args ... 23:48:31 sets the command-line args 23:48:35 start/stop ... starts or stops 23:48:39 step step one instruction 23:48:52 next step one instruction but don't show e.g. what nested functions are doing 23:48:57 continue go until we die 23:49:02 tb get the traceback when we've died 23:49:12 print ANY_C_EXPRESSION_HERE wut is dis? 23:49:13 umm... how do i set args? :| 23:49:18 it's things you type 23:49:27 you type "set args a b c d" to set the args to "a b c d" 23:49:33 "start" to start the program, "stop" to stop it 23:49:41 "step" to go forwards one instruction 23:49:48 but... i assume you don't mean i should write them in the source code... 23:49:50 "next" to step forwards one instruction but skip inner function calls 23:49:54 "continue" until we die 23:50:01 "tb" get the traceback when we've died, "print BLAH" to show BLAH 23:50:01 and 23:50:04 you do it in the debugger 23:50:05 you type it in 23:50:09 to the debugger. 23:50:35 wait 23:50:35 bah 23:50:38 dev-c++ doesn't use gdb 23:50:40 useless 23:50:41 really useless 23:50:43 :| 23:50:47 i see.. 23:50:50 well, it does internally i think 23:50:57 but it doesn't let you command it using the gdb interface 23:51:01 but it's better than VC6 23:51:04 just it's key-combinations which presumably are severely lacking 23:51:39 Debug -> Parameters 23:51:45 omg i found something myself. 23:51:48 AHA 23:51:50 i've got it 23:51:56 tell 23:51:57 in teh bottom bar 23:52:00 click the Debug tap 23:52:03 then click Output 23:52:08 you can see the output and send a command to gdb 23:52:15 now, use that, and accept no other interface for debugging. ;) 23:52:54 err 23:52:59 just make sure to put a breakpoint on your first line 23:53:01 so you can use the interface 23:53:21 ah 23:53:35 hey cool 23:53:46 now SDL... 23:53:58 so does the gdb commands work? 23:53:59 that shouldn't be hard to get working on that, right? 23:54:01 it should 23:54:03 and yeah, it's trivial 23:54:07 hmm, i can test 23:54:09 just try and compile an sdl program 23:54:11 it miiiight work 23:54:54 hmm... doesn't seem to work... 23:54:59 i mean 23:55:04 gdb 23:55:37 oh 23:55:38 it does. 23:55:40 now sdl 23:56:00 might work without installing SDL? 23:56:00 nice 23:56:27 can't find SDL.h :O 23:56:30 how can that be :) 23:56:37 you didn't put it in your include path 23:59:13 hmm