< 1193357309 0 :staplegun!unknown@unknown.invalid QUIT :"ChatZilla 0.9.78.1 [Firefox 2.0.0.8/2007100816]" < 1193358863 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1193361963 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote closed the connection < 1193363017 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193365784 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1193365976 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1193370702 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote closed the connection < 1193370745 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193370755 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote closed the connection < 1193370798 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193370908 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote closed the connection < 1193370941 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193370997 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote closed the connection < 1193371075 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193371305 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I've had some really odd dreams < 1193371327 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Has anyone had one where you take yourself apart? < 1193371331 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I've had a Volkswagen Bug try to eat my in one of my dreams. < 1193371332 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :O.o < 1193371358 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I had a really creepy one where I was basically pulling the muscles and tendons out of my hand, and another one involving teeth < 1193371417 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :in retrospect, dreams are rarely if ever anatomically correct, but it doesn't make it any less creepy < 1193371464 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. . . < 1193371473 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Why the hell would a VW Bug have teeth? < 1193371551 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193371574 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hawt < 1193371866 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1193372113 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i wish i remembered my dreams < 1193373100 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'd say I recall dreams about 30% of the time < 1193373167 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :For me, it's more like 0.0001% of the time. < 1193373185 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That dream was from when I was about 5. . . And it's the last dream I remember, I think. < 1193373256 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i used to have recurring dreams when i was little < 1193373271 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the other day i had a dream in one of the old recurring settigns! < 1193373292 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1193373312 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :most of the recurers were nightmares < 1193373357 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193373389 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's like a jumbled-up version of your recent memories, stitched into something that appears coherent at the surface level < 1193373401 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's easy to find a meaning when there is none < 1193373434 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh damn this song is good < 1193373453 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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? < 1193373454 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Airheadz - Stanley (Here I Am) < 1193373536 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps their ability to provide insight into new approaches to problems by separating ideas from context is a reason for their existence? < 1193373536 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i don't think dreams would be an artifact of garbage collection < 1193373540 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: I'd say that the evolutionary benefit *is* the garbage-collection. < 1193373572 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so many people don't remember their dreams i would say they have no purpose < 1193373578 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1193373596 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and no evolutionary disadvantages, so no reason to not have them < 1193373754 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but that is rather unsatisfying < 1193373778 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :true < 1193373934 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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? < 1193373971 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :kind of an ugly hack < 1193373989 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't it be better just to turn off the visual part of your brain? < 1193374004 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :nature is best at making ugly hacks first, and then slowly smoothing out the rough edges < 1193374005 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :sensoral rather < 1193374084 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193374318 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :consciousness is a sensory input? < 1193374376 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: Technically, *sleep* is a loss of consciousness. < 1193374392 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it might be < 1193374410 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :memory and consciousness are intertwined in very interesting ways < 1193374452 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1193374485 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to argue about the physical aspects of the brain without large research < 1193374571 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's hard to argue about the physical aspects of the brain with large research. < 1193374596 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to argue about the physical aspects of the brain < 1193374660 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193374695 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nice analogy < 1193374708 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think it works well on several levels < 1193376956 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :actually i think it would be exactly like understanding how a modern CPU works, with any tools available. < 1193376968 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(given that you don't have any knowledge of CPU design) < 1193376999 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to reverse-engineer something so complex. < 1193379828 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1193380112 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've heard the human brain is more complex than a computer < 1193380160 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :to be honest, i don't really believe that < 1193380178 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i gotta leave, just 1 hour late! -> < 1193380290 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1193380294 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i fail at this. < 1193380300 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :missed the bus. < 1193380661 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bravo. < 1193380716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :omg < 1193380722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :1˝ minutes till next one :O < 1193380725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :fuck! -> < 1193380945 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193381066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if i miss the next one, this is code day. < 1193381074 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :getting a bit ridiculous < 1193381257 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :->>>>>>>>>>< < 1193381259 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1193381554 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shall now sleep < 1193381556 0 :bartw!unknown@unknown.invalid QUIT : < 1193384824 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1193384910 0 :oklopol!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1193384918 0 :oklopol!i=oko@194.251.101.183 JOIN :#esoteric < 1193385599 0 :clog!unknown@unknown.invalid QUIT :ended < 1193385600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1193398739 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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? < 1193398753 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this of course is a marginal case, since usually you wanna draw the wires sowlky. < 1193398755 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*slowly < 1193398760 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a bit of a typo there... < 1193398800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(EEENENE is the easiest to make ;)) < 1193398967 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... most of you may be sleeping. < 1193399941 0 :sebbu!n=sebbu@ADijon-152-1-88-8.w81-49.abo.wanadoo.fr JOIN :#esoteric < 1193403136 0 :ehird`!n=test@user-544158a3.l5.c5.dsl.pol.co.uk JOIN :#esoteric < 1193405183 0 :Fa1r!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1193405230 0 :Fa1r!i=Lawd@e.lite.fi JOIN :#esoteric < 1193405359 0 :Fa1r_!i=Lawd@e.lite.fi JOIN :#esoteric < 1193407218 0 :RedDak!n=dak@87.18.90.5 JOIN :#esoteric < 1193407222 0 :Fa1r!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1193409237 0 :bsmntbom1dood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193409976 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1193410487 0 :bsmntbom1dood!unknown@unknown.invalid PRIVMSG #esoteric :25 euros is a lot of money to owe a teacher < 1193410940 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1193415520 0 :bsmntbombdood!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1193416200 0 :bsmntbom1dood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1193417365 0 :sebbu2!n=sebbu@ADijon-152-1-34-182.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1193417396 0 :tokigun_!unknown@unknown.invalid NICK :lifthrasiir < 1193417617 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1193417651 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i also owed a friend 30 euros, and had to pay 20 for an amplifier < 1193417664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this has been an expensive day. < 1193417800 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :occasionally i have some friends says let us have some lunch or dinner. such a day is quite expensive... < 1193417904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's one cool nick :O < 1193417988 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :yup i have changed my nick months ago 8) < 1193418499 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1193419915 0 :jix!n=jix@dyndsl-091-096-053-054.ewe-ip-backbone.de JOIN :#esoteric < 1193423826 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1193423838 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wtf???????? < 1193423845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ftw < 1193423847 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lolcode just got onto boing boing < 1193423854 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what < 1193423896 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lolcode isn't functional... < 1193423901 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait, it means 'working' in this context < 1193423904 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i forgot boingboing was for retards < 1193423921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and it's obviously turing complete < 1193424691 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir: what did you use to be? < 1193424869 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193424935 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sounds me like the usual blather of journalists trying to bring a local perspective on an international case. < 1193424968 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*to me < 1193425411 0 :Fa1r_!unknown@unknown.invalid NICK :Fa1r < 1193427341 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: did they say anything about oink's database encryption or somesuch? < 1193427876 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"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" < 1193428032 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :omg just like in the movies < 1193428393 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1193428400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this member list will self distruct in 10 minutes < 1193428448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd love to have something like that, the problem is i'd lose my files quite quickly... < 1193428472 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if the OiNK people were up-to-date with the Evil Overlord list < 1193428559 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :thanks oerjan < 1193428644 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"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." < 1193428757 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"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."" < 1193428764 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that pisses me off in movies and such < 1193428796 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Needless dramatic pause leads to captured prisoner getting away? :) < 1193428816 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Two people point a gun at each other, looking dr--BANG. Oh, well that was resolved easily. < 1193428821 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yep, and it has the desirable side effect of explaining the plot < 1193428823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they should at least shoot the legs before explaining < 1193429001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: i agree! < 1193429037 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"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" < 1193429112 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"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?" < 1193429118 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"I removed it" < 1193429164 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :?!?! < 1193429169 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: lmao < 1193429178 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i don't remember that james bond movie... < 1193429182 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Just an idea that future villains will fail to follow < 1193429196 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :not out of an actual movie, like duh < 1193429261 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh :P < 1193429269 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that is perfect though < 1193429334 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1193429344 0 :jix!n=jix@dyndsl-091-096-052-247.ewe-ip-backbone.de JOIN :#esoteric < 1193429577 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"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." < 1193429581 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that one is bad < 1193429591 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why are you having dinner with the hero instead of killing him? < 1193430402 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i still don't use whitespace, but i gotta admit i find my old codes even too obscure to understand myself < 1193430408 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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) < 1193430451 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the algorithm is trivial, and not a good one; and there was no linefeed :D < 1193430457 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't think i even had it when i debugged < 1193430477 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what the heck does that do < 1193430482 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :draws a line < 1193430490 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :............ on what < 1193430499 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :using the pset function < 1193430504 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what is pset < 1193430506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whatever that draws onto < 1193430514 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that code doesn't specify it. < 1193430516 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what is pset < 1193430524 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you wanna see that? < 1193430526 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1193430530 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :pset is the QBASIC name for the pixel-set function < 1193430537 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but that's C < 1193430541 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and other BASICs, I presume < 1193430544 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1193430550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my father came < 1193430553 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well one might ahve been named after the other < 1193430563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that's... interesting < 1193430573 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, obviously, otherwise ou wouldn't exist < 1193430584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah yeah, anyway, he left now < 1193430609 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193430622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :using the "color" c as the third param < 1193430632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pset can be anything. < 1193430647 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :wait, why would your father being around change anything? < 1193430660 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he doesn't want him to see his porn-irc client < 1193430664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't irc when my father starts asking me what i'm doing... < 1193430672 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :mine does that too < 1193430676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know, i'm pathetic... < 1193430685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: i think every father does < 1193430685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1193430691 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doing one thing at a time is for insects < 1193430704 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no, it is fore normal people < 1193430726 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :real geeks can concentrate on a task so much they forget to breath < 1193430729 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :e < 1193430734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"WHAT ARE YOU DOING?" < 1193430734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"Writing code to interface with the BIOS for my hobby OS and improving my irc client." < 1193430734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"..." < 1193430734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"WHAT ARE YOU DOING?" < 1193430752 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(note: i have not actually tested the above) < 1193430766 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193430776 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :even though it was not that complex < 1193430789 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess was for the normal people thing < 1193430794 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Did I tell you I was doing some Forth experimenting? < 1193430803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whoisn't? < 1193430806 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*+" " < 1193430811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1193430813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: ??? < 1193430815 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: me too!! < 1193430821 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :did you write a forth in brainfuck? :) < 1193430826 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no < 1193430833 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: my father knows more about bios than me < 1193430833 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I started before that < 1193430843 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: damnit < 1193430847 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: ok, what di dyou do then :P < 1193430860 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when it comes to computers, i just own him at coding (which was his job for 20 years...) < 1193430917 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I just threw together a small VM < 1193430937 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it has a stack, a control stack, and main memory < 1193430937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahh < 1193430944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hey, that's not forth-y :( < 1193430949 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1193430951 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :real forths access the system directly :| < 1193430951 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1193430955 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1193430967 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :none of this vm crap! ;p < 1193430971 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well I didn't have a compiler that could do that < 1193430977 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is a very minimalist VM < 1193430982 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gnu as can do that ;) < 1193431007 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I am still assembling things by hand though < 1193431016 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193431018 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's very good < 1193431026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also, SimonRC, the stack is meant to go in main memory. :-) < 1193431061 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :well I didn't have net access at the time < 1193431074 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :still, jonesforth is worth a read < 1193431075 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :And I am still editing it in numbers, which is leet < 1193431077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's really eye-opening < 1193431094 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"1, 48, 60, 102, 22" <-- that is printdigit < 1193431116 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pff, read jonesforth < 1193431125 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it uses handy gnu as tricks like, oh, being able to do: < 1193431131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :name: < 1193431131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.int x < 1193431131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.int y < 1193431131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1193431135 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and refer to it as name < 1193431149 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :still as low level, not as hyper-1337-oh-wait-what-does-that-number-mean-again ;) < 1193431214 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :the only conditional I have is ?: < 1193431225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pff, jonesforth only has "branch" < 1193431233 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :read it! it doesn't take too long ;) < 1193431241 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(it continues at http://www.annexia.org/_file/jonesforth.f.txt when it gets into forth) < 1193431243 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't that be 1337? < 1193431281 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(er, SimonRC not ehird`) < 1193431359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :: FORTH COMPILER-SEMANTICS UNINTUITIVE GOOD ; < 1193431411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you have less than a hundred commands, numbers are just as easy to use as words < 1193431427 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that is not the point < 1193431429 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :mnenomics are easier < 1193431457 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193431469 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :obviously incorrect, unless you want one session in your editor and then have to abandon it < 1193431530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193431554 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I comment religiously < 1193431573 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't comment religiously because i make my code self-documenting < 1193431577 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this means not using numbers for words ;) < 1193431583 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :every time I want to add a word, I write it in BoredForth in a comment, then write the number underneath < 1193431594 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I haven't got it bootstrapping yet :-( < 1193431600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :seriously, you should read jonesforth < 1193431603 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :getting out of bootstrapping is simple < 1193431616 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :go, read it now, then go back to boredforth with your new knowledge :-) < 1193431702 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I am reading < 1193431892 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1193432055 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have a new life goal! < 1193432060 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :create a programming language where this is cat: http://rafb.net/p/GhR1Hn14.html < 1193432125 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :NNNGHHH! (that was a comment) < 1193432161 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1193432164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it would be awesome < 1193432176 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :having / and slash both as commands is beautiful < 1193432268 0 :jix!n=jix@dyndsl-091-096-052-247.ewe-ip-backbone.de JOIN :#esoteric < 1193432274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i like the line noise ones that have a theme going on... it gets a bit boring when it's fully random < 1193432285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :question marks remind me of that... whatsit... < 1193432296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the language with splot and mulbruf < 1193432305 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but the names were something completely different < 1193432319 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, how about the ? / language < 1193432326 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't know what it is, but it's crazy < 1193432362 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that one < 1193432369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah the one in the paste? < 1193432382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think the one i mean is cakeprophet's, but not sure < 1193432405 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, where is that guy... i hate it when regulars dissappear < 1193432420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's like losing a friend :'( < 1193432431 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :FNRK BRTRTRTR SKRNK SVRPTK < 1193432443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: isisaoa9838383 < 1193432494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ASDSFEFEBR ERBTIA < 1193432499 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :floodfest < 1193432505 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*garblefest < 1193432609 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes < 1193432680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how about this: < 1193432697 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :/ changes all /s into ?s < 1193432697 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? does something < 1193432697 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193432790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? is call/cc! < 1193432804 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure those semantics aren't tc :p < 1193432820 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well call/cc wouldn't make any sense, but anyway xD < 1193432838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since... wtf is calling in a substitution language :) < 1193432898 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ooh, how about something that operates on the program code as a data structure < 1193432901 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the commands modify it < 1193433249 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=D < 1193433261 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :LISP! < 1193433268 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is not what lisp does < 1193433500 0 :RedDak!n=dak@87.18.90.5 JOIN :#esoteric < 1193433581 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true, but it should < 1193433591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that'd be odd < 1193433595 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since lisp is lists not strings < 1193433596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :everything should be self-modifying < 1193433696 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"data structure" need not mean "string"... < 1193433825 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lists are a data structure. < 1193433835 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And everything in Lisp is a list. < 1193433839 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1193433841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1193433843 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1193433845 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :apart from atoms < 1193433849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and a bunch of other stuff :-) < 1193433877 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: but lisp cannot modify itself < 1193433878 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :directly < 1193433887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, it kind of can < 1193433916 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Isn't that what Lisp macros *are*? < 1193433918 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, but you cannot make a loop that keeps itself going by adding nested lists to itself for more to evaluate < 1193433925 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, perhaps. < 1193433934 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol is right, without eval < 1193433985 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could do something with rplacd, surely? < 1193433991 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193434000 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rplacd? < 1193434000 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1193434008 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(but maybe not in the code) < 1193434009 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hooray for archaic cl names < 1193434010 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :um macros are first class < 1193434020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lisp macros are first-class.. < 1193434020 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :set-cdr!, not rplacd < 1193434030 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: no they're not < 1193434048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes they are < 1193434053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1193434059 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: what lisp? < 1193434067 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :decent lisps < 1193434079 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not in cl or scheme < 1193434118 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm, i thought scheme macros were first-class < 1193434132 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, now someone has to implement first-class-macros using scheme macros :-) < 1193434141 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ololobot lisp has first-class macros, but you can't define your own macros, so it's kinda retarded ;) < 1193434213 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ololobot has a lisp? < 1193434216 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :get it in here! < 1193434218 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i must test it < 1193434220 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and hack on it < 1193434251 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's retarded, i tells ya! < 1193434252 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but okay. < 1193434263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the whole thing is just a quick hack. < 1193434300 0 :ololobot!n=ololobot@194.251.101.183 JOIN :#esoteric < 1193434319 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it just has a few basic things, and i'm not sure that's even a working version of it. < 1193434332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm too lazy to use the newest version, since it's on the other comp < 1193434339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (+ 1 2) < 1193434341 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1193434345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yay. < 1193434362 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define a (lambda (b c) (+ b c))) < 1193434363 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1193434363 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((lambda (x y) x) 1 2) < 1193434364 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :1 < 1193434368 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> (a 2 4) < 1193434383 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol. < 1193434386 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (a 2 4) < 1193434388 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :6 < 1193434389 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i never learn < 1193434397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (lambda (x) x) < 1193434398 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric : < 1193434412 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((lambda (x) (x x)) (lambda (x) (x x))) < 1193434416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1193434419 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :better kill that < 1193434425 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird` beat me to it. < 1193434431 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1193434443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> 2 < 1193434447 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch 2 < 1193434448 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm using python's __reload__ for "threading" < 1193434449 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1193434454 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: how? < 1193434458 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch `2 < 1193434464 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... it basically dies when you reuse the command, i think < 1193434472 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I CAN HAS ERROR MESSAGES? < 1193434473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... not sure i have quoting in that version < 1193434474 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch '2 < 1193434476 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1193434478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch 'oko < 1193434479 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1193434480 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait, no quoting? < 1193434481 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ummm < 1193434484 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (quote oko) < 1193434484 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's useless, then? < 1193434485 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :oko < 1193434488 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1193434492 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do you have quasiquote < 1193434494 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aka ` < 1193434503 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch `oko < 1193434506 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ´oko < 1193434507 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1193434514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is, `(a b ,c d) is (list 'a 'b c 'd) < 1193434519 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no, haven't implemented it in that version < 1193434520 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :quasiquoting is useful you should support it < 1193434528 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i think i even have the comma thingie in the new one < 1193434539 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (list 1 2 3) < 1193434542 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :(1 2 3) < 1193434593 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (eval 2) < 1193434594 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1193434609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define \ lambda) < 1193434610 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1193434613 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does it remember definitions? < 1193434616 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch \ < 1193434617 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :lambda < 1193434618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it should... < 1193434619 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1193434620 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1193434623 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (\ (x) x) < 1193434624 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric : < 1193434662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :primitives are always autoreloaded, so you can't kill them permanently < 1193434664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (define \ (lambda (x y) (eval (list lambda (list x) y)))) < 1193434666 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :() < 1193434671 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (\ x x) < 1193434673 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric : < 1193434675 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((\ x x) 2) < 1193434676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1193434676 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :None < 1193434680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait, what < 1193434706 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm umm < 1193434731 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems it failed :< < 1193434741 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know where < 1193434767 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch (eval (list lambda (list x) 4)) < 1193434768 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric : < 1193434768 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1193434779 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :>>> sch ((eval (list lambda (list x) 4)) 5) < 1193434780 0 :ololobot!unknown@unknown.invalid PRIVMSG #esoteric :4 < 1193434792 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :x is evaluated. < 1193434803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :-> it fales < 1193435024 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :back < 1193435028 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahh i see < 1193435037 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1193435040 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's hard, because < 1193435045 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i WANT to evaluate x < 1193435050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(\ x y) should be (lambda (x) y) < 1193435054 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my code SHOULD do that... < 1193435158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :eh... no < 1193435166 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1193435173 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ahh, the problem is < 1193435177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is that (\ x y) fails right there < 1193435182 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because x is evaluated right-there < 1193435183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1193435186 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, because \ isn't a macro anymore. < 1193435188 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :add a defmacro function < 1193435192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just a simple one < 1193435202 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(defmacro name args code) < 1193435202 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :defmacro isn't a function < 1193435207 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: yes, yes, i know < 1193435208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i typo'd < 1193435220 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but yes, (DEFMACRO name args code) plz < 1193435298 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1193435307 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :come on, it'll be trivial < 1193435310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :make your own lisp and make it good ;) < 1193435316 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1193435317 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1193435336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm too lazy to even run the new bot, you think i'll start adding stuff to it :D < 1193435344 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nah, i won't < 1193435349 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as long as your sch works, i'm happy :-) < 1193435381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193435408 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems to automatically redraw everytime i draw something, i have no idea how to make it wait until drawing is over... < 1193435464 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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...) < 1193435530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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... < 1193435572 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :I NEEW TO DRAW GRAY POINTS, DOTS, AND LINES, HOW THE FUCK CAN IT BE SO HARD < 1193435585 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I'm writing a simple lisp in C now oklopol :-) < 1193435601 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good for you < 1193435662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the problem with C is, i like having an interactive debugger, and they just don't seem to work... < 1193435668 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gdb < 1193435674 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gdb works < 1193435676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it works great < 1193435703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... not sure i've tried that one < 1193435723 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's the gnu debugger < 1193435727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it is exceptionally good < 1193435769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can you get that for win? < 1193435774 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1193435775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cygwin has it < 1193435777 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't use my linux machine for graphics < 1193435783 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :MingW has it. < 1193435791 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, but oklopol has cygwin < 1193435794 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i don't think he hsa mingw < 1193435807 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :To be honest, I doubt that the Cygwin one can debug non-Cygwin binaries. < 1193435811 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it can < 1193435816 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, there's that :) < 1193435833 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193435836 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wait what? < 1193435870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: where was that from? < 1193435877 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :firefly < 1193435886 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That was bsmntbombdood's job description. < 1193435888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :FEUER FREI < 1193435922 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mini-lisp-implementation question < 1193435937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ints, longs, or bignums-as-list-of-digits-in-hexadecimal? < 1193435938 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1193435945 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bugnums < 1193435953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but use 256-based < 1193435953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as a list of digits in hexadecimal? < 1193435954 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1193435958 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, naw < 1193435959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's no fun < 1193435966 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you can't do things like < 1193435975 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(parse-int (2 f 3 4 9 a 2 b)) < 1193435980 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes you can < 1193435986 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok fine < 1193435987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but meh < 1193435987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193436000 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why would you wanna waste half your chars? < 1193436018 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and just use 4 out of 8 bits < 1193436020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think i will just do a normal int < 1193436023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1193436055 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also, "strings" (when i make them) will just be atoms < 1193436070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193436071 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and you can do < 1193436078 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :("func" '"arg") < 1193436079 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mwahaha < 1193436090 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ew < 1193436100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: yes, but funny to implement < 1193436106 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also, it makes shit a hell of a lot simpler < 1193436110 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as i only need to provide one set of functions < 1193436110 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1193436231 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: shall i make you ew some more? < 1193436235 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll use REFERENCE COUNTING! < 1193436242 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1193436253 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that was meant to make you explode < 1193436282 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :reference couning isn't bad < 1193436295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, you're right < 1193436295 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193436299 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1193436300 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :reference counting is okay in most situations < 1193436308 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it even works perfectly for lambda calculus < 1193436316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, in all really, who cares about memory leaks, not me < 1193436345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :#define NIL ((LIST *)0) < 1193436345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where LIST is a struct. am I evil yet? < 1193436347 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193436361 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's prolly the best way < 1193436375 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: but that's, you know. work. < 1193436383 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :refcounting = so damn trivial to implement < 1193436386 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gc = not that much < 1193436408 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :GC = #include -lgc < 1193436415 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not that hard if you make a trivial one < 1193436417 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(OK, so that's an ultralame solution :) ) < 1193436417 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes, but that would be THIRD-PARTY < 1193436417 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::O < 1193436425 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i implemented a gc once < 1193436441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the gc/refcounter is a pretty integral part of lisp < 1193436458 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :using a third-party solution seems kind of like deferring list handling to a library :-)( < 1193436458 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*:-) < 1193436485 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, one question < 1193436496 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :am i the only one obsessed with metacircular interpreters and bootstrapping? < 1193436510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whenever i implement a language, i force myself to do the minimum possible, then write the rest in itself < 1193436513 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't help it < 1193436562 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That's the best way to go. < 1193436572 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Plof3 is just a parser. < 1193436577 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: I mean even things like "if" < 1193436578 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :gdb is too hard for me to install < 1193436588 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Plof3's if is implemented in Plof3. < 1193436592 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :And - (it's obviously (+ x (neg y))!) < 1193436598 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i really need the secretary... < 1193436599 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: EHello, Plof2's if is implemented in Plof2. < 1193436606 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :EHello = Hell (wtf?) < 1193436612 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sorry, i have no idea what plof is < 1193436617 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::O < 1193436617 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1193436621 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what... < 1193436623 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :http://www.codu.org/plof/ < 1193436629 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's like not knowing what pebble is ^2 < 1193436635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's a serious language? < 1193436643 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or like not knowing what brainfuck is ^-7 < 1193436648 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Yeah. < 1193436651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok show me some examples < 1193436691 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I have none, as my brain is entirely in Plof3 but my implementation is entirely in Plof2 :P < 1193436702 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show me some plof3 examples < 1193436706 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :from your brain./ < 1193436733 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, Plof3 is a simple stack language with just some object manipulation operators, and a runtime parser. < 1193436749 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :The parser is bootstrapped with a grammar just simple enough to define a useful grammar within the language. < 1193436770 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :code examples. < 1193436771 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I can give some simple Plof2 examples. . . < 1193436794 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought i could, but i've forgotten some crucial things about it :< < 1193436815 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(x):{x(x);}((x):{x(x);}); < 1193436824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bah, i don't want to write a hash table in C for the variable table < 1193436825 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No starting with horrifying examples :P < 1193436826 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :== < 1193436839 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :((lambda x (x x)) (lambda x (x x))) < 1193436840 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: something that isn't (\x. x x) (\x. x x) < 1193436843 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :um i can tell < 1193436844 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :;0 < 1193436847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1193436866 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Tell ya what - if you wait 4 hours until I'm not at work, I can make some good'ns :P < 1193436879 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol work < 1193436885 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone tell me a cheap way to get around writing a hash table < 1193436902 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Use D :) < 1193436953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :noes < 1193436953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193436963 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Use Tcl. < 1193436964 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want to frolic in the fields of malloc < 1193436965 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1193436970 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and low-level ness < 1193436980 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... i have mingw... < 1193436980 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Don't use a hash table. < 1193437001 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I recommend pulling the latest Plof, and playing. < 1193437003 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Use a linear-linked list of variable->value associations :P < 1193437010 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: i might just ;) < 1193437020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll have: < 1193437025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :((var . value) (var . value)) < 1193437028 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :It's Lispy! ;) < 1193437032 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :alist < 1193437039 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, what humorous name shall i give to my malloc-but-dies-on-error < 1193437045 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :also linear time lookup < 1193437048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i am thinking "moolloc" < 1193437062 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :Spank that ass, put it in, let's go for a hell of a ride.. < 1193437091 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :void *buf = spankThatAssPutItInLetsGoForAHellOfARide(bufferSize); < 1193437097 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1193437251 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I wonder, if I really hunkered down, if I could get Plof3 written this weekend. < 1193437275 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but seriously, what should i call the malloc < 1193437303 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :mallocAssert? < 1193437311 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :sfMalloc? < 1193437323 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i know! < 1193437325 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll call it: < 1193437326 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AWESOME < 1193437335 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AWESOME(buf_size) < 1193437335 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :lolloc? < 1193437358 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :iCanHasMemory < 1193437361 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wonder what it'd cost if i paid someone to install me a C compiler + a graphics library + nice ide with debugging :) < 1193437398 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :smalloc i guess < 1193437401 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hate that name < 1193437522 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1193437528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i should probably have a heap with all objects on < 1193437531 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't i? < 1193437544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... hey, that'd make for an easy GC: if an object is on the heap but not on the stack, zap < 1193437549 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... wait, no, that wouldn't work, would it? < 1193437550 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: On what? < 1193437596 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :on my computer < 1193437607 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :on my watch, plz < 1193437609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he uses windows < 1193437613 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1193437615 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :;( < 1193437630 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone tell me i'm stupid - < 1193437631 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :well.. i'd go for Dev-Cpp + SDL < 1193437636 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a GC that just checks: < 1193437641 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :but that's just me < 1193437643 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't find SDL_gfx < 1193437648 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if (on_heap && not_on_stack) free(obj) < 1193437653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where heap is, well, EVERY SINGLE OBJECT < 1193437658 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... that won't work as a gc will it? < 1193437666 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean, global variables and the like surely? < 1193437672 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if someone can link me an SDL_gfx for windows, i'd appreciate it < 1193437685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: sdl < 1193437687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :google for it < 1193437692 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or < 1193437694 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :libsdl.org < 1193437694 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have sdl < 1193437698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sdl has sdl_gfx < 1193437698 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1193437701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no < 1193437707 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not automatically < 1193437715 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1193437721 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone please tell me my gc idea < 1193437724 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't work/would work < 1193437725 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193437730 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :http://www.libsdl.org/release/SDL-devel-1.2.12-mingw32.tar.gz < 1193437732 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1193437739 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :seems that one got it already < 1193437756 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :that is, for dev-cpp/mingw compiling < 1193437760 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: It seems to me like you're deleting every object from that. < 1193437767 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: not objects that are on the stack < 1193437779 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"error after processing 0 entries" < 1193437784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i love it how everything just works! < 1193437789 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol uses winzip, also. < 1193437795 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: If it's on the stack, you don't need a GC, it'll get deleted when the stack unwinds. < 1193437799 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it's the defautl < 1193437800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*default < 1193437807 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: right but what about ... globals and stuff < 1193437837 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have about 5 zipping programs < 1193437841 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193437841 0 :Fa1r!unknown@unknown.invalid PRIVMSG #esoteric :where are we going tomorrow, as with windows today < 1193437981 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: :-) < 1193438007 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: doesn't look correct < 1193438025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, what i'm doing with the heap is < 1193438028 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the heap is a linked list < 1193438031 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1193438033 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm hungry < 1193438036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :latest element = most recently allocated object < 1193438042 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :etc, so on backwards < 1193438051 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if something isn't on the stack, then it isn't being used any more < 1193438054 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so i can search the heap < 1193438057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :find stuff that isn't on the stack < 1193438058 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and free it < 1193438059 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wrong < 1193438060 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err... < 1193438063 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1193438065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i thought it was wrong < 1193438071 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Things on the heap can link to other things on the heap. < 1193438076 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That's the entire challenge of GCs :P < 1193438077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1193438077 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that will work as long as you can't make any compound objects < 1193438078 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll just refcount < 1193438079 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193438086 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what GregorR said. < 1193438088 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(cons a b) is on the stack, a and b aren't < 1193438102 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: you can read my gc, it's pretty simple < 1193438111 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, i've just realised my refcount comments are like forth stack comments < 1193438114 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have things like: < 1193438123 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :/* REF +1 x, REF -1 y */ < 1193438135 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://abacus.kwzs.be/~bsmntbombdood/gc.tar < 1193438165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :everyone has weird domains in their urls < 1193438167 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like kwzs.be < 1193438170 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why do i have boring ones < 1193438171 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193438181 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Mine is codu.org < 1193438185 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That's not too weird. < 1193438326 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mine is elliotthird.org < 1193438328 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i am so imaginative < 1193438336 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nvg has the nuts.edu domain < 1193438355 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mingw... does that have an ide? < 1193438366 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but it's not the default used < 1193438374 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it seems everything without an ide is too hard for me. < 1193438391 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wanna press "run" or "debug", not switch between windows :| < 1193438871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :phew, most of the object stuff is done < 1193438887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now i can write simple helper functions in C, the eval function, and the core stuff < 1193438888 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193438892 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's 150 lines right now < 1193439001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: how long has your lisp had macros? < 1193439004 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since the start? < 1193439013 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want to feel not-too-bad about omitting macros right now < 1193439014 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193439037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lambda, define and if were almost the first thing i did... but that's all the macros it has, really < 1193439044 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, yeah, list and quote < 1193439048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they're not macros < 1193439050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they're special forms < 1193439053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and prolly a few more, but there's no real macro support < 1193439056 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah, sorry. < 1193439063 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it doesn't actually do any macro transformations? < 1193439077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just some special form things? i.e. functions that don't have their arguments evaluated? < 1193439082 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :then there are *no* macros, it has first-class macros, which cannot be created.. < 1193439090 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1193439094 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does it substitute them for their code while "compiling"? < 1193439098 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or does it "call" them when evaluating? < 1193439100 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :special forms are first-class < 1193439103 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in mine < 1193439103 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if its the latter, you have no macros < 1193439128 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i thought special forms are a subclass of macors. < 1193439130 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*maroccos < 1193439152 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :marco < 1193439154 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how is your evaluator structured? < 1193439156 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :polo < 1193439157 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :recursive or using a stack? < 1193439161 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since its python i guess recursive < 1193439161 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :recursive < 1193439164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but recursive kind of sucks in c :p < 1193439170 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :recursive is using a stack... < 1193439177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: yes, but it's an implicit stack < 1193439187 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and as far as i know it's bad practice to recurse in a situation like this < 1193439193 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) (i.e. having NO stack in the whole language) < 1193439207 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1193439210 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's the same thing < 1193439212 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :for a while now i've been wanting to make my own assembly, and start making languages targeted for it < 1193439225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: i guess < 1193439230 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh well i might just recurse < 1193439232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and change it later < 1193439232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1193439245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 :)) < 1193439279 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Rock ON < 1193439343 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i should do all my coding on paper... using the computer seems to be too hard for me :P < 1193439363 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :good plan < 1193439367 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hard to test though < 1193439399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :shit, i just realised < 1193439403 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :variable scoping. < 1193439410 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: what scoping do you do? lexical? < 1193439414 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1193439415 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've never been able to implement lexical scoping < 1193439416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1193439418 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ummmmmm < 1193439420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's trivial < 1193439430 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although it took me a while to actually grasp how it's done < 1193439431 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lexical scope is the only reasonable scope < 1193439432 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe the descriptions i've read of its algorithm are just wrong i guess < 1193439437 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: yeah i know =( < 1193439440 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well hey < 1193439445 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lisp 1 used dynamic scope < 1193439451 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's really easy to implememnt < 1193439459 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: dynamic scoping is fun sometimes, when used correctly. < 1193439469 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :noooooo < 1193439480 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1193439486 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how < 1193439497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think what lisp needs is a new dialect (Not being sarcastic here :P) < 1193439500 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :ACTION <3 dynamic scoping. < 1193439511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :scheme started off OK, but then it kind of tripped up and it's kind of trawling along in limbo right now < 1193439514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :common lisp is just /ugly/ < 1193439523 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: i don't really have a convincing argument about that. < 1193439526 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :cl is terrible < 1193439530 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Uncommon LISP < 1193439533 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: i agree < 1193439537 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's nice sometimes < 1193439542 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: haha < 1193439544 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :scheme is b e a utiful < 1193439558 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: scheme is beautiful but it has been in limbo for a while now < 1193439564 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so? < 1193439565 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i'll retry the install < 1193439573 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :let's hope i don't press C again < 1193439576 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that just means it doesn't need any improvement < 1193439579 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll just type without it. < 1193439587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, a new dialect that combined scheme's beauty with unique practicality... < 1193439591 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1193439599 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i'm sure it would fail < 1193439608 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :perhaps, perhaps not < 1193439714 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1193439722 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193439751 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i know the theory < 1193439755 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but every time i've tried to implement it < 1193439756 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's just failed < 1193439769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, mine worked like that, but ...python <3 < 1193439776 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*just like < 1193439784 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show me your code? :P < 1193439785 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :it's really easy < 1193439789 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1193439790 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or rather, olololisp's code < 1193439803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1193439808 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=( < 1193439818 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you get so judgy. < 1193439830 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just wanted to see olololisp's code, haha < 1193439872 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193439889 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sheesh, i won't < 1193439895 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :aogji < 1193439896 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :don't be so pessimisticf < 1193439896 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193439899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i'll paste... < 1193439937 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm very pessimistic, i've been making a FUCKING PROGRAM FOR DRAWING LINES for like 6 hours < 1193439946 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, most of the time, like 5 hours, i've been idling < 1193439952 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's 1 byte in my language < 1193439955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :DrawingLinesLanguage < 1193439957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and it's actually ready, i just don't have a graphics lib... but still < 1193439963 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the program: ; < 1193439965 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1193439975 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :darn, wish i'd used that one! < 1193439989 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Is DrawingLinesLanguage TC? < 1193439993 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: yes! < 1193439999 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :AWESOME < 1193440069 0 :Sgeo!unknown@unknown.invalid QUIT :Success < 1193440085 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1193440101 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, the core was, i may have added stuff like quote later on. < 1193440194 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Y'know, recently a concept for encoding descriptive metadata into programs was created. < 1193440197 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's called "comments" < 1193440201 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :You may want to try that out. < 1193440216 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: thanks for doing exactly what i said you would ;) < 1193440223 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i was about to say. < 1193440229 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly what oklopol just said. < 1193440247 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :"Not meant for another human to see" != "free of comments" < 1193440259 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"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." < 1193440279 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, why? english isn't any more descriptive than python to me :| well, prolly is, but i'll never admit that officially. < 1193440357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll start commenting once i learn lojban < 1193440358 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :! < 1193440394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the conlang i've been creating actually has an oklotalk module ;) < 1193440415 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... you could just write the code and the comments in the same language < 1193440416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what < 1193440419 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1193440421 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, like < 1193440425 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can speak, in your languge < 1193440427 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in oklotalk? < 1193440436 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :doesn't that make talking to people non-deterministic? lmao < 1193440446 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"MENTAL STACK OVERFLOW, BRAINS NOW OUT OF HEAD" < 1193440456 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :err... sure < 1193440461 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bah, i don't have a function type < 1193440467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can read oklotalk code in english too... < 1193440486 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just in english reading characters is quite verbose unless they form words. < 1193440521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :# TODO: < 1193440521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :# list stuph < 1193440525 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :commentz! < 1193440540 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's already been done though... < 1193440558 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also some stuff is commented out! < 1193440562 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :woot, i have unified functions and special forms < 1193440563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and there are code examples! < 1193440565 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just have a special attribute < 1193440572 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which specifies whether to map(eval, args) < 1193440573 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1193440581 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1193440598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1193440609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: so to implement lexical scoping < 1193440615 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have a "main mapping" < 1193440626 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which is just your regular varname=>value mapping < 1193440634 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then for a new scope (well, only scope is functions here, so:) < 1193440638 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then for a new lambda < 1193440644 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i have a seperate lookup table < 1193440646 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :at the start < 1193440653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i copy the current lookup table over to it < 1193440658 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and then that's my scope < 1193440664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i just bind vars, etc., whatever to that scope < 1193440666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, lambdas carry a look-up table with them. < 1193440670 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1193440672 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so i have: < 1193440675 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :MAIN_TABLE < 1193440679 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LAMBDA->LOOKUP_TABLE < 1193440682 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :TABLE_IM_USING_RIGHT_NOW < 1193440693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need TABLE_IM_USING because i will copy LAMBDA->LOOKUP_TABLE to it < 1193440704 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, when i do (set var value) and the like < 1193440707 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it isn't carried over calls < 1193440709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :am I right here? < 1193440710 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm... when you use a lambda, it will not use any variables from the outer scope. < 1193440718 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that only happens when you *create* it < 1193440727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1193440734 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :a lambda must always carry everything it uses, except for args < 1193440741 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ihmm < 1193440742 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*hmm < 1193440766 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need TABLE_IM_USING_RIGHT_NOW < 1193440769 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to put arguments < 1193440775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and variables that i set < 1193440775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :e.g. < 1193440781 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(lambda (x) (set blah x)) < 1193440785 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :blah shouldn't carry across calls < 1193440791 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's not carried over calls, if you do a set, true. < 1193440797 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so new variables go to TABLE_IM_USING instead of LAMBDA->LOOKUP_TABLE < 1193440802 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless you pass by argument < 1193440813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :basically, TABLE_IM_USING is "if i'm in a function, put new stuff and arguments in here" < 1193440834 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sound reasonable? < 1193440855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i think so, although i am pretty tired < 1193440871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1193440878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hey, i thought of a good way to do variables without hash-tables < 1193440891 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you have a backwards-linked list (i.e. you have a "TOP" and they have a "previous" property) < 1193440893 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wuzzit? < 1193440899 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with, a string as name < 1193440901 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and object as value < 1193440902 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :obviously < 1193440909 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, to make a new variable, obviously you push it to the list < 1193440916 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and you start from the top and go down to find a variable < 1193440917 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BUT < 1193440920 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :when you want to change a variable < 1193440924 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of finding it, then changing it < 1193440930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it finds it, deletes it, then pushes a new one < 1193440940 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this takes advantage of the fact that recently-set variables are more likely to be used recently < 1193440940 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what was the reason for not using a hash table for vars? < 1193440943 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric := less lookup time < 1193440947 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and because i don't want to implement one in C :P < 1193440954 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1193440982 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so < 1193440984 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sound reasonable? < 1193441006 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193441010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, not should < 1193441011 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :could. < 1193441019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :assing? < 1193441020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1193441026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and really, they do have one... the object id < 1193441036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :although, my stuff is weird < 1193441037 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and... hmm... that list thing might be good, but a hash table would pwn it < 1193441039 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for example < 1193441039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ass-sing. < 1193441042 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :integers are allocated on-use < 1193441048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of saving them for later < 1193441050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like most languages < 1193441050 0 :sebbu2!unknown@unknown.invalid QUIT :"@+" < 1193441055 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, "3" is a different 3 each time < 1193441055 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1193441086 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't really make much difference :) < 1193441126 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, what do you mean about an integer/string mapping < 1193441128 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like a godel number? < 1193441152 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mingw doesn't have an ide, or? < 1193441172 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like a hashval < 1193441180 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :object id sounded right. < 1193441199 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it isn't a hash < 1193441215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's picture a repl session < 1193441232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (id "hello") < 1193441232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :34 < 1193441232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :> (id "hello") < 1193441232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :37 < 1193441234 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :see? < 1193441246 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all objects - symbol, string (well, symbol :P), number, or list < 1193441253 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :are different each time you mention one as a literal < 1193441305 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193441323 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, well :P < 1193441328 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except you need to store a num->string mapping separately, since you can access the atom string at runtime < 1193441480 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my way follows the scheme-to-c compiler ichbins < 1193441484 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which does the same as me < 1193441485 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no hashing < 1193441489 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and symbol == string < 1193441600 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1193441612 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess that's not really necessary. < 1193441618 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, atoms in general. < 1193441639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my lisp will have a grand total of four types < 1193441644 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cons, symbol, number, lambda < 1193441687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(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) < 1193441724 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's how lisp always workz < 1193441731 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1193441771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey, i think i found an ide for mingw, dev-cpp! < 1193441772 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1193441780 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1193441785 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the irc bot, of course, will be scriptable in the language < 1193441790 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that was suggested to you... ages ago < 1193441794 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used to have dev-cpp... the debug didn't work < 1193441822 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, indeed < 1193441841 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have read the line before and after that, but don't remember seeing that line :P < 1193441854 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also, i've used dev-cpp, it just doesn't work < 1193441856 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*didn't < 1193441864 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps it now does < 1193441935 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if it doesn't work, i don't know what to do < 1193441961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all this installing isn't good for my health < 1193442272 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1193442313 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone give me a three-letter abbreviation for 'lambda' < 1193442404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd prolly go with lbd < 1193442431 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1193442472 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :o < 1193442473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :m < 1193442473 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :g < 1193442478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :debuggin actually works. < 1193442480 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1193442482 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*debugging < 1193442484 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it uses gdb < 1193442485 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1193442500 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now try a program in it, and realise the awesome of gdb < 1193442501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... it works! it didn't work when i last installed that :) < 1193442505 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is so happy <3 < 1193442505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :main commands that you need: < 1193442511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :set args ... < 1193442511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sets the command-line args < 1193442515 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :start/stop ... starts or stops < 1193442519 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :step step one instruction < 1193442532 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :next step one instruction but don't show e.g. what nested functions are doing < 1193442537 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :continue go until we die < 1193442542 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :tb get the traceback when we've died < 1193442552 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :print ANY_C_EXPRESSION_HERE wut is dis? < 1193442553 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :umm... how do i set args? :| < 1193442558 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's things you type < 1193442567 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you type "set args a b c d" to set the args to "a b c d" < 1193442573 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"start" to start the program, "stop" to stop it < 1193442581 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"step" to go forwards one instruction < 1193442588 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... i assume you don't mean i should write them in the source code... < 1193442590 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"next" to step forwards one instruction but skip inner function calls < 1193442594 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"continue" until we die < 1193442601 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"tb" get the traceback when we've died, "print BLAH" to show BLAH < 1193442601 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and < 1193442604 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you do it in the debugger < 1193442605 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you type it in < 1193442609 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to the debugger. < 1193442635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1193442635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1193442638 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :dev-c++ doesn't use gdb < 1193442640 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :useless < 1193442641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :really useless < 1193442643 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1193442647 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i see.. < 1193442650 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, it does internally i think < 1193442657 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it doesn't let you command it using the gdb interface < 1193442661 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's better than VC6 < 1193442664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just it's key-combinations which presumably are severely lacking < 1193442699 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Debug -> Parameters < 1193442705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :omg i found something myself. < 1193442708 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AHA < 1193442710 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've got it < 1193442716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tell < 1193442717 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in teh bottom bar < 1193442720 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :click the Debug tap < 1193442723 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then click Output < 1193442728 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can see the output and send a command to gdb < 1193442735 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now, use that, and accept no other interface for debugging. ;) < 1193442774 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err < 1193442779 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just make sure to put a breakpoint on your first line < 1193442781 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so you can use the interface < 1193442801 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1193442815 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hey cool < 1193442826 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now SDL... < 1193442838 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so does the gdb commands work? < 1193442839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that shouldn't be hard to get working on that, right? < 1193442841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it should < 1193442843 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yeah, it's trivial < 1193442847 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i can test < 1193442849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just try and compile an sdl program < 1193442851 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it miiiight work < 1193442894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... doesn't seem to work... < 1193442899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1193442904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :gdb < 1193442937 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1193442938 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it does. < 1193442940 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now sdl < 1193442960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :might work without installing SDL? < 1193442960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1193442987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can't find SDL.h :O < 1193442990 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how can that be :) < 1193442997 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you didn't put it in your include path < 1193443153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm