< 1205627408 0 :ais523!unknown@unknown.invalid QUIT :""Going home"" < 1205627754 0 :sebbu!unknown@unknown.invalid QUIT :"je re" < 1205628088 0 :timotiis!unknown@unknown.invalid QUIT :Remote closed the connection < 1205628219 0 :slereah_!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205628278 0 :sebbu!n=sebbu@ADijon-152-1-93-16.w81-50.abo.wanadoo.fr JOIN :#esoteric < 1205628412 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205629971 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1205630746 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1205631016 0 :BMeph69!unknown@unknown.invalid NICK :BMeph < 1205631933 0 :Tritonio_!n=Tritonio@athedsl-116794.home.otenet.gr JOIN :#esoteric < 1205631941 0 :Tritonio__!n=Tritonio@athedsl-116794.home.otenet.gr JOIN :#esoteric < 1205631949 0 :Tritonio_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205631957 0 :Tritonio__!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205631973 0 :Tritonio_!n=Tritonio@athedsl-116794.home.otenet.gr JOIN :#esoteric < 1205632919 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1205633292 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Ugh, I just realized that if I do in fact make this language, I am going to make my own profiler since it cannot use C calling convention. Sigh. < 1205633320 0 :ehird!unknown@unknown.invalid QUIT :"Konversation terminated!" < 1205633324 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ugh. < 1205633339 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Ugh. < 1205633363 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has learned a LOT about DNS today < 1205633463 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :today, i pood, ate and coded java < 1205633479 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(you figure out the parse tree.) < 1205633480 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh, < 1205633495 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I assume coding java and pooing are a single process. < 1205633537 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :cute, very cute < 1205633544 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Eh, that doesn't make as much sense as it did in my head. < 1205633552 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I apologize. < 1205633559 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205633581 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sometimes i take the comp with me to the toilet. < 1205633593 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :if you have to ask < 1205633641 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Well I was trying to make a simile between eating poo and coding java. < 1205633857 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205633870 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i've made that multiple times < 1205633883 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1205633884 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :that simile < 1205633909 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Except the words came out in senseless babble. < 1205633933 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I guess that is the result of spending too much time writing a language spec. < 1205633956 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :My typing system is turning into a clone of C. < 1205633966 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Pointers and such are exactly the same. < 1205633997 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :The only additional type I expect is a closure. < 1205634058 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But every other aspect of the language is in no way similar to C. < 1205634059 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :At all. < 1205634135 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :is it esolicious? < 1205634177 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :What does that mean? < 1205634290 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1205634301 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205634304 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :do you considered it esoteric? < 1205634324 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1205634334 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :eso- is something you add when something is esoteric, -licious is just something you add when something is hot and steamy < 1205634349 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the latter can also be a nop, depends on the situation < 1205634351 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1205634650 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I am trying to decide if I should even implement closures. < 1205634652 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :They are so slow. < 1205634684 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And it isn't that much work to just create a function. < 1205634698 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But it makes it even more confusing. < 1205634844 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :what kinda closures? < 1205634868 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :There is only one type of closure, no? < 1205635124 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :umm, closure = function copies surrounding namespace? < 1205635127 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The US Government uses ZoneEdit? < 1205635149 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: Basically. < 1205635186 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: and that is slow because? < 1205635211 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :You need to stick all the local variables on the heap somewhere. < 1205635214 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :you just compile that into giving the params explicitly instead of taking them from the surroundings. < 1205635246 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but you need to malloc every single time you pass a closure. < 1205635257 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And in my language they could EASILY become overused. < 1205635345 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :The user would likely end up creating a closure for the true and false of every single if statement. < 1205635354 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And that is bad. < 1205635466 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Plus it would massively uglify the syntax. < 1205635505 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1205635536 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I am also trying to decide to have anonymous functions or not. < 1205635543 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :It is easily implemented. < 1205635546 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But ugly. < 1205635838 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :anonymous functions are sex < 1205635848 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :you have them, and people will like you < 1205635990 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1205635996 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I will implement those. < 1205636014 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But I think closures are a nono. < 1205636083 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Should I use <> or [] for function definitions? < 1205636099 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I think <> so that i could use [] for arrays. < 1205636135 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Even thought vice versa looks better, [] for arrays will conform with all other languages. < 1205636212 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Then I will use {} for structures. < 1205636216 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And I do not know what for comments. < 1205636614 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :<> is cute < 1205636636 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i use stuff with hyphens < 1205636644 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :<-- --> for oklotalk, -- for most < 1205636689 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :-- is from haskell, <-- --> is my own invention based on haskell + nopol, but it is also a html comment perhaps < 1205636700 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :not sure, i've never used comments in my html :) < 1205636838 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Well I cannot use <> that is function definition. < 1205636865 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I guess I could use /* */ but it is so difficult to type. < 1205637029 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh, if I could make everything with more than 2 lines of indentation commented. < 1205637037 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Because there will never be more than one. < 1205637038 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Ever. < 1205637040 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Which is nice. < 1205637094 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :s/if I could/if I was stupid I could < 1205637219 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :nono < 1205637224 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :make one indentation comment < 1205637227 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :0 and 2 are program! < 1205637239 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1205637493 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Maybe ~comments~ < 1205637528 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Or `comments` < 1205637539 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Eh, the ` char is too small. < 1205637556 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Not enough characters on the keyboard, seriously. < 1205638407 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :that's why they invented tokens < 1205639587 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. ~comments~ would logically be not comments. :p < 1205639758 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205639765 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"...colorForth can not help but be the one operating system in the world capable of being totally open and at the same time the most quickly understandable by children." < 1205639800 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"...if you realize that this is possibly a once in a life time chance to make computing easier for the entire world in one project..." < 1205639809 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(somebody wants to put colorForth on OLPC) < 1205640239 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's perhaps the most insane page i've ever seen. http://colorforthray.info/ < 1205641242 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm having difficulty understanding why colors are necessary or useful in FORTH. < 1205641409 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and lament- if that's the most insane page you've ever seen, you should investigate http://www.timecube.com/ < 1205642389 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I like colorforth. < 1205642397 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Could be better though. < 1205643873 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That reminds me. . . < 1205643886 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :cherez: Going to do more of your dramatic readings of Time Cube? < 1205643985 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wow. The Time Cube stuff has even gotten worse recently. . . < 1205644034 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The craziness goes up to eleven now. < 1205644151 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :the TimeCube page gets updated? < 1205644213 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1205644218 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Believer is far more EVIL than a False God, for Google < 1205644219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :cut back my Site from 34,000,000 to 4,000,000 in 1 night < 1205644219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :for the above Statement. 1 Day1God exists only as Evil. < 1205644219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I thought Google was free of such evil bias, predjudice < 1205644219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : and shenanigans that block real truth from being known. < 1205644219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Once before, Google cut back my site from 89,000,000 to < 1205644221 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :34,000,000 in a single act for something I said, that/s Evil" < 1205644223 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1205644230 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :WTF is that supposed to MEAN? < 1205644241 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :He's now discussing +0- antipodes. . . < 1205644243 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :WTF is that? < 1205644278 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://uncyclopedia.org/wiki/Slime_Cube :D < 1205644299 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BTW, a slime cube with a bunch of potions in it? *Dangerous*. < 1205644734 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205644763 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I always figured it would digest any potions spilled within, but that could be interesting... < 1205644805 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Potions activating at random. < 1205644808 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*shudder* < 1205645044 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :knowing my campaigns, a couple random potions are instant, bottled hilarity < 1205645065 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I was always proud of the "plaid potion". < 1205645184 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Plaid potion? < 1205645193 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Do I *want* to know what that does? < 1205645218 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a particularly deranged alchemist made most of my players fear potions with odd, misspelled labels like the plague < 1205645225 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it does what it sounds like < 1205645279 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :... it turns stuff plaid. < 1205646740 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LMAO < 1205646765 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to know more of this campaign < 1205646815 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I ran my D&D games very fast and loose, and there was a lot of comedy and running gags < 1205646865 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"Melf" was a dangerously inept wizard/alchemist/probably pothead that made the craziest shit < 1205646923 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :sometimes my notes would be just a sheet of paper with "there are some caves, here's a random encounter table and here's a list of the insane magic items the players will find" < 1205646958 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :we could spend hours with them just figuring out what stuff did, fighting some goblins and solving a puzzle room or two < 1205647059 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Even in the more serious adventures, it wasn't unusual to run across some "Melf's Acid Apples" or a deck of "Stinky Pete's Cards of Fortune" < 1205647209 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the "bag-O-charisma" was a fun one. Strangle someone with it, and it steals a portion of their CHA, and then transfers it to the next person that dons the bag, temporarily. It took players a while to figure it out, and then caused trouble because nobody recognized the players afterwards until the effects wore off. < 1205647256 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Fortunately one player, thinking quickly, beat himself in the face with a rock until he was ugly enough for the townspeople to recognize < 1205647281 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :good times, good times < 1205647496 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :y'know, I think if I could find my old notes to refresh my memory, I could make some pretty funny comics about our exploits back in the day < 1205647672 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My God. < 1205647681 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1205647693 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Of course, you need a few Decks of Everything. < 1205647707 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1205647713 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I forget the name of that again. . . < 1205647728 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deck of Many Things. < 1205647821 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes off, sticks of Bag of Holding in a Bag of Holding. < 1205647857 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Speaking of which. . . < 1205647865 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: You should have given out a bag of devouring. < 1205647929 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :One of my players sewed a bag of devouring into his pocket, hilariously slaying several pickpockets < 1205647966 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LMAO < 1205647972 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BRILLIANT! < 1205647987 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and the books make it clear that storing bags of holding or portable holes in themselves or each other will tear a hole in existence and suck shit inside before disappearing < 1205648017 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fun to mess with magic objects. < 1205648081 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I am *intimately* familiar with all the core rulebooks, particularly magic items. I'm good at memorizing these things, which is why I was a good DM. They're still all up here in my skull. < 1205648108 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Damn. < 1205648110 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :After a year or two I never needed the books at all unless somebody had to roll up a character < 1205648126 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. What's the funniest one you can think of? < 1205648130 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :just me, my notes, and dice. < 1205648137 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :uhm... < 1205648160 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, the hand and eye of Vecna aren't exactly funny, but they're interesting < 1205648186 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is not familiar with the magic items. . . < 1205648195 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but you can't just sling those around willy nilly, because they're supposedly unique < 1205648196 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Didn't come up much in campaigns I've played. ;) < 1205648234 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I made loads of Vorpal quarterstaffs and intelligent +2 hafling skiprocks and goofy stuff like that < 1205648260 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LMAO < 1205648419 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hell, I could run an adventure over skype for old times sake someday if you can get a decent group together < 1205648444 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If I can, sure. < 1205648468 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :what edition do you use? < 1205648522 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm used to 3rd. < 1205648535 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I might have a copy of 2nd around here, though. < 1205648540 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :good, good. Would you be up for trying 1st edition sometime? < 1205648550 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the term "fucking brutal" doesn't do it justice < 1205648580 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sure, I'd be up for trying it. < 1205648581 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I've always wanted to run an adventure for it, and I have a handful of classic modules I could snazz up < 1205648584 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I lack rulebooks, though. < 1205648615 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I can scan a couple pieces, explain the rest and preroll characters for people < 1205648629 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I even have a table of pregenerated characters for this purpose < 1205648632 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmkay. < 1205648652 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Everyone will probably get 2 characters because they'll die like flies < 1205648708 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :example: in 1st edition, if you're disabling a poisoned lock and miss the DC, it stabs you. Fort save to resist poison. Fail the DC there, and your character is dead. period. stats are irrelevant. < 1205648753 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Holy shit. < 1205648759 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :holy shit indeed < 1205648781 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I wanna try that trick with the bag of devouring, though. . . < 1205648785 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1205648793 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Something more unique would be nice, though. < 1205648796 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :in 1st edition a wizard's starting HP is lower than an average housecat. There is no difference between money and XP. Everything, EVERYTHING is fucking hardcore. < 1205648823 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :O.O < 1205648858 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Melf's Acid apples are cool. Bite into one and it'll dissolve most of your head. They're best used as grenade-like things once you know what they actually are. Good for making holes in castle walls < 1205648875 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :(one of my inventions, btw) < 1205648914 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think the damage was like 2d10+5+ 1d4 CHA damage if you ate it. < 1205648924 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but really, improvisation is key here < 1205649029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION discovers an online copy of the d20 ruleset. w00ts. < 1205649051 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :(and yes, I know there's a difference between CHA and Rifts-style P.B.- you're less persuasive and convincing when you don't have a lower jaw.) < 1205649081 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A Cloak of Poisonousness. . . < 1205649082 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1205649091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That could actually be used as a deadly weapon. < 1205649096 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :did I mention that aside from encyclopedic knowledge of D&D I know about 6 other rulesets as well? < 1205649111 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(put it on. Unless you succeed a fortitude check of 28, you die.) < 1205649113 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1205649165 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :This all contributes to why I play with out books, and make up most stuff on the fly- I know how everything works, and I know all kinds of ways it *could* work. < 1205649225 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :eventually, you realize the books are just there to point you in the direction, and if you take enough of a running jump on your own, you can learn to fly. < 1205649321 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, of course. < 1205649328 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's like the DM/GM equivalent of becoming "the one". The rules of a roleplaying game are just like the rules of a computer system- some can be bent. Others, broken. < 1205649338 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :The game is just a conduit for storytelling. < 1205649360 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Most of the time, I'd play using nothing but my character sheet. . . The DM would look things up from time to time, but most of the time, it was just sheer amusement. . . < 1205649375 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION remembers the final day of his first campaign. . . A giant chicken ended that. XD < 1205649445 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The DM stuck a rubber chicken and some miniatures on the table and said 'There. You're fighting that.' < 1205649449 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :'I summon a giant bee.' < 1205649450 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205649461 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :A good DM knows the only rules necessary to play are the following: 1) Be consistent. 2) Be fair. 3) You want the players to succeed, but they don't have to know that. 4) keep 'em guessing. < 1205649464 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION <3 druids, BTW. . . < 1205649494 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :follow those principles and you can have a grand time doing *anything* < 1205649498 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Another campaign ended in apocalypse. For the hell of it, he was rolling an apocalypse check every time we did something really, really unlikely. < 1205649503 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(3 20s in a row, for example.) < 1205649589 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :best moment for me as a player EVER "I rolled a 20! I succeeded" "No, you didn't" "What if he rolls a nat 20 too?" "Yeah, like that's gonna happen" (rolls a nat 20 without blinking) "... fuck you guys. It explodes." < 1205649638 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"I rolled a 20. Thrice." "That. . . Can't die. . ." < 1205649671 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :new galleries on my site for games (http://rodger.nonlogic.org/games.php) and comics (http://rodger.nonlogic.org/comics.php), btw < 1205649673 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Fine. It dies. You see it again, behind you." < 1205649720 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :w00ts. < 1205649727 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"I hide and make the sounds of a babbling brook to throw the owlbears off my trail" (critical failure) "BAAAASSS! BAAASSS!" < 1205649773 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :LMAO < 1205649864 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and then there was the time my character used weighted dice and some insane bluff checks to win EVERYTHING the guards to this fortress OWNED while the other characters snuck in and locked them out. < 1205649891 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://rodger.nonlogic.org/comics/Comic019.png Brilliant. < 1205649927 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"halt who goes there" "Flashbang, gnomish smith of great renown. Up for a game of chance? I have *shiny* things..." < 1205649954 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I thought CL#24 would be topical < 1205649958 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205650065 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :have you tried out "Polyp", my new game? < 1205650070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://rodger.nonlogic.org/comics/Comic011.png Sorry, but I won. < 1205650073 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'll have to in a bit. < 1205650089 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that XKCD was so uncool. < 1205650100 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I disagree. < 1205650115 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think The Game just became more positive. < 1205650170 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think ryan just has a less rigorous strain of the virus- mine is pretty explicit about what constitutes a win condition. < 1205650194 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"A STRANGE GAME; THE ONLY WINNING MOVE IS NOT TO PLAY. *klick*" < 1205650240 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and goddamnit why hasn't Aaron updated yet. < 1205650257 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because he must be executed. < 1205650270 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nice 'weekly' schedule, no? < 1205650285 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :s/weekly/semi-monthly < 1205650295 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If we're lucky. < 1205650385 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I gather you're starting to take my point of view on the matter < 1205650400 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1205650408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It was one thing when he didn't update during the flu and moving. . . < 1205650420 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"If you do a strip for a living, MOTHERFUCKING TREAT YOUR RELEASE SCHEDULE AS MORE THAN A VAGUE SUGGESTION" < 1205650426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But god dammit, it's halfway through March, and we've had one update in the past two weeks. < 1205650436 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/weeks/months/ < 1205650448 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :there we go < 1205650500 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :at that rate, 6 strips per YEAR. Dresden Codak is well done, but I could draw something that well blindfolded if I had two months in which to make it. < 1205650529 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://rodger.nonlogic.org/comics/Comic001.png < 1205650541 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that one's a classic < 1205650545 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Truly. < 1205650553 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'll need to stick that one on my wall or something. < 1205650577 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :based on a true story no less < 1205650666 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wow. < 1205650676 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I had a fun orientation week. < 1205650719 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heheh. < 1205650822 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205651001 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :anyway, frickin' try Polyp before I go to sleep < 1205651022 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmkay. < 1205651131 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Brilliant. < 1205651148 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :thankoo < 1205651156 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :under 700 lines of code < 1205651251 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1205651627 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Damn. < 1205651682 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :feel free to download the source and fiddle. It's all WTFPLed < 1205652871 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm out < 1205652881 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1205653660 0 :BMeph!unknown@unknown.invalid QUIT :"calls it a night" < 1205654399 0 :clog!unknown@unknown.invalid QUIT :ended < 1205654400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1205658864 0 :RedDak!n=dak@host13-80-dynamic.20-87-r.retail.telecomitalia.it JOIN :#esoteric < 1205660244 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1205662803 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205663104 0 :RedDak!n=dak@host13-80-dynamic.20-87-r.retail.telecomitalia.it JOIN :#esoteric < 1205667166 0 :marshmallows!n=space@amcant.demon.co.uk JOIN :#esoteric < 1205673244 0 :slereah_!unknown@unknown.invalid QUIT :Remote closed the connection < 1205673271 0 :Slereah!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205673656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is a "low-order copy"? < 1205673693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's mentioned in some befunge fingerprint specs I'm trying to implement, but I got no idea what it is < 1205673976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :C ('bracelet') pops three vectors off the stack and performs a low-order copy of Funge-Space. < 1205674249 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :IIRC the way I interpreted that is start from the end, not the beginning, or vice versa < 1205674260 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :i.e. go from top left to bottom right versus bottom right to top left < 1205676256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah so not a high order byte copy? < 1205676483 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1205676513 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205676558 0 :bsmntbombdood!n=gavin_@75-166-180-115.hlrn.qwest.net JOIN :#esoteric < 1205676564 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :no, probably not < 1205676637 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :howdy < 1205676655 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yo < 1205676676 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if I recall correctly, !Befunge does it the same way - or at least tries to, the mycology test fails < 1205676696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205676722 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you need to update that chart, try my last version, it got concurrency < 1205676732 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I need to update it anyway < 1205676736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, pretty fast still with my super-optimize script < 1205676749 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no idea if you *want* to see it < 1205676757 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :probably not ;-) < 1205676772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it's not that bad < 1205676789 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, http://rafb.net/p/ipoHrq23.html < 1205676798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :need to be run from top checkout dir < 1205676805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, out of tree builds = not supported < 1205676852 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also skipping GC = saves about 0.01 seconds or so < 1205676866 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is down around 0.077 here so :D < 1205676875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with that script < 1205676920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway what do you think? try adding your own -march and such in CHOSTFLAGS < 1205676934 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think that's overkill :-) < 1205676935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I want to know how well it performs with that < 1205676947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes but I want to see how fast I can get it! < 1205676964 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :you haven't compared startup times yet? i.e. just replace the first char of mycology with @ < 1205676966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh and you may want to add -DCONCURRENT_FUNGE to DEFINES variable < 1205676977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, right, I'll test that < 1205677023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders optimizing if it can be determined that part of the program won't get loaded, ie, if first char is @ just quit :D < 1205677075 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.066s < 1205677083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hrrm, looks like loading takes most of the time < 1205677091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for cfunge at least < 1205677099 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :as I thought < 1205677120 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the program is completely IO bound and you're optimizing CPU usage like crazy :-) < 1205677146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well without my optimizing it wouldn't be IO bound < 1205677159 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to look at how to make loading faster < 1205677160 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :no, I still think it would be < 1205677181 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :if a program spends 90% of its time doing IO it's IO bound alright ;-) < 1205677200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, because in CCBI the difference is much larger < 1205677219 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :how big? < 1205677228 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.188s for ./ccbi --disable-fprints ~/src/cfunge08/mycology/mycology.b98 > /dev/null < 1205677232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.117s < 1205677235 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and keep in mind that CCBI is always doing IO during mycology as well :-) < 1205677236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with it disabled < 1205677269 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :is that the latest CCBI? < 1205677289 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well notice that I got it down from around 0.150 to 0.070 with my cpu optimizing, with -O0 -ggdb3 it takes around 0.500 < 1205677314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no, not the very last, will download last < 1205677326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :this one had the typo in --help < 1205677331 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so we've got a program that used to take 0.2 seconds to run now takes 0.1 seconds to run, and it's doing IO for 70% of that :-) < 1205677343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for what is left yes < 1205677363 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, optimizing such just seems like so much overkill :-) < 1205677373 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd go optimize bashfunge instead < 1205677392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, bah, it would fail at doing x < 1205677398 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the way it was implemented < 1205677437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the last ccbi zip file from your site is slower < 1205677440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ time ./ccbi --disable-fprints ~/src/cfunge08/mycology/mycology.b98 > /dev/null < 1205677440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.179s < 1205677447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with @ at start < 1205677450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :real 0m0.244s < 1205677453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :without @ at start < 1205677454 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1205677455 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205677469 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, it's about 50% faster for me :-) < 1205677477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, probably CPU? < 1205677482 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :hence we see that optimizations are once again a bit... dubious < 1205677489 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I downloaded the last ccbi_linux.zip < 1205677495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not if you do profiling! < 1205677504 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I do do profiling < 1205677507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1205677510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gcov? < 1205677517 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that took the time for funge-space access down by 30% or so < 1205677521 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :here, at least. < 1205677541 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes indeed, changing to not pass fspace pointer around helped for me too < 1205677556 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it wouldn't be needed without TRDS I suspect < 1205677611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, if I profile for a mycology with a @ at the start I can get time down to less than 0.06 seconds XD < 1205677617 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION runs (it was a joke!) < 1205677641 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :of course, what I don't do is profile-guided optimization. :-P < 1205677654 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hehe indeed < 1205677705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I got an idea at least, hm can you get the size of a file without using stat *looks at man pages* < 1205677727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what I'm thinking about is doing some optimizing of initial allocation size < 1205677738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to select maybe 1.25 * program size < 1205677755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :instead of hard coded defaults < 1205678074 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205679297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it looks, according to gprof, like the bottle neck is inserting into hash table < 1205679309 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1205679323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so, faster hash library then? < 1205679343 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or admit you're at the limit :-P < 1205679366 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, nah, current hash library I selected because it was 1) lgpl 2) small 3) easy to use < 1205679394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I've seen better that are 1) custom GPL compatible 2) large 3) harder to use < 1205679424 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://www.sunrisetel.net/software/devtools/sunrise-data-dictionary.shtml <-- going to investigate that one < 1205679450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I can speed up current hash library a bit < 1205679461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :by hard coding it to handle FUNGEDATATYPE < 1205679471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :instead of handling pointers to data < 1205679473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should help eh? < 1205679478 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1205679491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you don't think so? < 1205679517 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm not going to say anything, I'm just going to sit here and laugh at your desperate attempts to squeeze every last bit of performance from a Befunge interpreter :-D < 1205679519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also it use a function pointer to a hash function, hard coding it to use one of the hash functions instead would also help < 1205679548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it's just a matter of seeing "how far can I take this" < 1205679568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it looks like most code in mycology only executes once, right? < 1205679574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so a JIT wouldn't help much < 1205679685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, looks like gprof works sub-optimally on binaries with much inlining hrrm < 1205679917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, without inlineing I see it is "search_in_bucket" private function of hash table that is slowest < 1205680205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :here a GC function is the one that takes most time < 1205680223 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what style of GC is the boehm one? generational, mark-and-sweep, what? < 1205680242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, mark-and-sweep iirc < 1205680260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or some variant of that < 1205680301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep mark-and-sweep < 1205680324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway that was a build without GC I tried to check what was going on in hash < 1205680341 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :looks like it does some generational collection as well < 1205680354 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the search_in_bucket takes 80% of the time of running when mycology starts with a @ < 1205680357 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205680368 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it already looks quite optimized < 1205680399 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :here gc.mark takes 30%, followed by input, followed by hashing, followed by input, followed by gc.fullCollect, followed by gc_calloc < 1205680411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, calloc, hrrm < 1205680419 0 :slereah_!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205680425 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I did LEAK_MODE to check without gc < 1205680431 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: D always initializes all variables < 1205680443 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :might cause slowdown somewhere with arrays, can't be bothered to find where < 1205680446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, aha, well I think boehm does too < 1205680494 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the difference is that where you do int[40] x; D also does memset(&x, 0, 40 * int.sizeof); or something :-) < 1205680494 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least you can safely do: #define calloc(x,y) GC_MALLOC(x) * (y)) < 1205680495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1205680503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah I see < 1205680519 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but I don't really use static arrays much anyway < 1205680534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :static arrays would not be initialized would they? < 1205680542 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that was a static array < 1205680545 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and yes, it would be. < 1205680546 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nor ones allocated on the stack, right? < 1205680550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205680552 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, they would be. < 1205680556 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :everything is initialized to something. < 1205680562 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they wouldn't in C I think < 1205680567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well static array might < 1205680568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :depends < 1205680569 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :correct, they wouldn't. < 1205680582 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :C initializes nothing implicitly. < 1205680616 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205680619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that still doesn't explain why an array on stack ended up as { 0, 0, 0, 0 } without initializing heh < 1205680631 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :dumb luck < 1205680640 0 :oklofok!unknown@unknown.invalid QUIT :No route to host < 1205680661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, probably, anyway I filled it just one line after so didn't matter, but gdb told me every time I hit it that it was that < 1205680758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thinks DESCRIPTION and RETURN VALUE of man memcmp are somewhat redundant, telling the same info < 1205680802 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha, gcc does a __builtin__ for memcmp, explains why that instruction took so much < 1205680879 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw kprof is very nice < 1205680923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and it turns out according to it, the real problem isn't loading when running without @, but getting from hash < 1205681038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, of the 0.8 seconds to run without the @, about 0.4 is spent searching in hash < 1205681039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205681045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so not really IO bound < 1205681053 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but hash table lookup bound < 1205681068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and of course insert on loading program needs to look up too < 1205681636 0 :slereah__!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205682031 0 :oklofok!i=oklofok@dsl-tkubrasgw1-fed8de00-153.dhcp.inet.fi JOIN :#esoteric < 1205682050 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205682290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for now I'm not going to try to optimize hash, but the way it is coded it should be easy to replace with another hash library later < 1205682833 0 :faxathisia!n=space@amcant.demon.co.uk JOIN :#esoteric < 1205682891 0 :marshmallows!unknown@unknown.invalid QUIT :Nick collision from services. < 1205682903 0 :faxathisia!unknown@unknown.invalid NICK :marshmallows < 1205683237 0 :Slereah!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205683410 0 :slereah__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205684008 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION curses his net connection < 1205684294 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Should I have whitespace separate type and var name the way C does? < 1205684320 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :Deformative in what context? < 1205684322 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :That is the only relevant whitespace in my whole language if I do. < 1205684335 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Function definition. < 1205684338 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205684346 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :what does the language look like < 1205684376 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :who are these two people? < 1205684389 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: how about a colon < 1205684403 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Uhm, there is no other languages that have the same syntax as the one I am designing. < 1205684413 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :It has the C typing system. < 1205684416 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But that's about it. < 1205684424 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :"var : type" is a common syntax for variable types < 1205684451 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :sigh, I still have no idea what the language looks like..... < 1205684467 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It is the formal one, as well as the one found in Haskell, Pascal, ML-likes, etc < 1205684496 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't think any of those languages does that.. < 1205684528 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :haskell uses ::, Pascal uses whitespace (sort of like C), and ML don't have explicit type annotation....? < 1205684544 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pascal uses : < 1205684549 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :var foo : integer; < 1205684551 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :functionName<..., type arg, type arg> continuation(..., arg, arg) < 1205684553 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :okt it does < 1205684556 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :things like "global foo : int" < 1205684566 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :That is the current syntax, and I don't really like it. < 1205684596 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ok yeah get rid of the <> and do it like pascal < 1205684626 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205684633 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205684652 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :and Haskell and ML-likes just took the two alternatives to the dilemma of : or :: for cons and : or :: for type-annotation < 1205684727 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I would rather use <> for arrays and [] for function definitions, but I figured it would be better to follow the conventions of C and such. < 1205685111 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :why not use -> for array indexing? < 1205685132 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or >>, or !!, or !, or } or some other symbol < 1205685144 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :All of those are from actual languages < 1205685155 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :where's }? < 1205685155 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :except the >> I think < 1205685157 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Uh. < 1205685167 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :They are ugly, heh. And i am using {} for structures/ < 1205685189 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :}, or maybe it is {, is in J and K < 1205685212 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh, J is fun. < 1205685215 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of esoteric languages and almost hit the mark ;-) < 1205685249 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :!! and ! are or course from Haskell, and I forget where -> is from < 1205685325 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1205685392 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe Euphoria < 1205685475 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :So yeah, <> looks somewhat ugly, but I think I will use it. < 1205685495 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Cannot decide for the types though. < 1205685786 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I remember < 1205685804 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :-> and --> as indexing operators are out of Inform < 1205685822 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :-> is byte indexing and --> is word indexing < 1205685917 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :there's plain brackets, table(idx), too < 1205685979 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, that is function call though. < 1205686299 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205686311 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I think I'm close to the limit of speed with current design yes < 1205686322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I'll concentrate on features instead < 1205686356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh and I do have some idea for loading faster, the problem is the actual IO part isn't the slow bit, it is the hash table lookup that is < 1205686382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw, anyone made some sort of coverage analysis for befunge? < 1205686382 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yep, same here < 1205686391 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :all time is basically dominated for hash table + GC < 1205686397 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean? < 1205686430 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, as in gcov style, shows how many time each line is executed, for befunge that would be instruction not line of course < 1205686468 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I could do that right now by just compiling with -cov and running :-P < 1205686474 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I plan to use gcov on my source to see how much of it mycology actually tests < 1205686488 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: the same syntax for function calls and array indexing is fine. < 1205686491 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think I did, too < 1205686494 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but I mean actual coverage on the befunge program itself < 1205686497 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but not gcov < 1205686516 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, as in see how much of mycology is executed in CCBI for example < 1205686522 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you mean not count how many times # is called, but how many times a particular # is called < 1205686530 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yep < 1205686547 0 :Tritonio_!n=Tritonio@150.140.229.38 JOIN :#esoteric < 1205686550 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :basically easy to do by running your trace mode, for instance < 1205686553 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :After all, an array is just a function from the index to a mutable cell < 1205686556 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and then just use a program which counts that < 1205686567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm indeed < 1205686632 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: have you run the Fungus Befunge IDE? < 1205686640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err no? < 1205686661 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it has a cool "show path that IP travelled" kind of feature < 1205686667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1205686675 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it draws lines on top of the befunge program to show where the IP went < 1205686683 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1205686686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :by the way it seems CRC32 hash is faster than one-at-a-time hash, hm.... < 1205686699 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :can it draw lines over all the boundaries that the IP didn't cross? < 1205686704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, very nice, except for mycology fingerprints it would look like a mess < 1205686707 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that is more comprehensible < 1205686709 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as you use common loading code < 1205686710 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of implementing something like that for CCBI, and was thinking even of a protocol so that you could map any GUI onto it < 1205686717 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :well, not a mess < 1205686727 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the same line is just drawn a bunch of times < 1205686734 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205686739 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :since it's always entered from the same direction etc. < 1205686747 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: I don't think so. < 1205686751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well yes should be useful for coverage analysis < 1205686763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however, how does it show the line over say: #v r < 1205686795 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I guess I could upload a screenie of what it does with the parts of Mycology that it can handle < 1205686798 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :when annotating Hunt The Wumpus, I found that lines between code to show where the IP didn't go were much easier to read than lines the showed where it did go < 1205686800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm fungus site gone? < 1205686803 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't look /that/ great but it's handy < 1205686818 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and only a windows binary on your site :( < 1205686820 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yeah, only the web archive page exists < 1205686826 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and only a windows binary was ever releaased < 1205686832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, closed source?! < 1205686840 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :like I say, The only closed-source Befunge interpreter I’ve come across. < 1205686841 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205686861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, upload screenshot somewhere, say omploader or such a picture pastebin < 1205686868 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1205686938 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway when do you plan to update your mycology results page? < 1205687005 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :as soon as I can bother :-P < 1205687019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you used some script to generate that table? < 1205687035 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, of course < 1205687051 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in what language? < 1205687055 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :haskell < 1205687074 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah, was going to ask you to send them over so I can have a look, but if it is haskell forget it < 1205687083 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1205687108 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://users.tkk.fi/~mniemenm/fungus_running.png and http://users.tkk.fi/~mniemenm/fungus_end.png < 1205687114 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, I don't know D, but if I read your D code I can often guess what it is trying to do, same for C++, but well with haskell it is just weird < 1205687117 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :like said, it's nothing special < 1205687134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh, I was hoping for some opengl stuff with arrows and such < 1205687143 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1205687157 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :hence why I was thinking of some kind of standard-ish protocol < 1205687183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes if you make one I'll be sure to implement it < 1205687199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, something over unix sockets maybe? < 1205687202 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :i.e. interpreter outputs "IP with ID foo and mode bar is at pos x,y with delta a,b and offset f,g" or whatever and then a frontend can draw stuff given that < 1205687204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or just stdout/stdin? < 1205687225 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :doesn't matter really, but ideally text-based < 1205687231 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205687233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'd prefer a more compact and easier to parse for a program format < 1205687236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like say: < 1205687242 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :well, of course not literally like that < 1205687245 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but I mean, not binary < 1205687270 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :foo bar x y a b f g < 1205687287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :IP=5;MODE=STR;POSX=5;POSY=7;DELTAX .... < 1205687294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would allow 3D too < 1205687300 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just add POSZ < 1205687301 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but not greater than 3D < 1205687302 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205687307 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ÅÄÖ ;P < 1205687309 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :which is why something like pos={5,7} would be better < 1205687315 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yep agreed < 1205687333 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :fscanf(sock, "%d %d %d %d %d %d %d %d", &id, &mode, etc etc etc < 1205687351 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but sloooooow < 1205687353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but please make it easy to parse with scanf or such, and single line for each to parse < 1205687357 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the trick is how to handle stuff like mode and fingerprints, and what kind of all info is needed < 1205687385 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :maybe indent following lines with whitespace? < 1205687392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for mode you could do some string constants, say CODE,STR for the two standard ones, and some more < 1205687407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, support for transmitting TRDS info would NOT be needed < 1205687412 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'd suggest not allowing that < 1205687417 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I was just about to say what about TRDS :-D < 1205687420 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :so you have an ID, pos, delta, and other fixed stuff, then an indented list of properties < 1205687431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it's horrible, and quite pointless < 1205687432 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: lol < 1205687437 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it seems like we're rapidly moving towards JSON/sexps ;-) < 1205687445 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s-expressions sure < 1205687445 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yaml? < 1205687450 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s-expressions < 1205687454 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :no, XML is the answer < 1205687454 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :whatever, but not XML ;-) < 1205687456 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205687461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a emacs user and is used to elisp < 1205687470 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I feel at home with S-Expressions < 1205687476 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :TRDS would be pretty easy to support actually < 1205687493 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I even wrote some code in C# to seralize .NET classes to S-Expressions < 1205687497 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :all that happens is all the IPs suddenly move to a different place < 1205687502 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and space is modified < 1205687503 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or rather I wrote a substantial part of that code < 1205687518 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the actual parser and tokenizer someone else coded < 1205687529 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :TODO: prolog in befunge via TRDS < 1205687531 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1205687547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, ERR_TRDS_TOO_STUPID_NOT_SUPPORTED < 1205687550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205687554 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually TRDS allows IPs to meet their younger selves < 1205687564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :weird name TRDS < 1205687564 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think < 1205687571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't get what TRDS stands for < 1205687574 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no, very mnuemonic < 1205687575 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: TARDIS < 1205687578 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/TARDIS < 1205687598 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah, never watched that TV series < 1205687624 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you missed out < 1205687694 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where is the TRDS spec? < 1205688223 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: in the RC/Funge-98 readme < 1205688317 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I find it odd some even fail at sainty.bf < 1205688337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://users.tkk.fi/~mniemenm/befunge/mycology-output/sanity/!Befunge.txt < 1205688338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err? < 1205688351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :output looks ok? < 1205688353 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205688360 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: "*** Exited normally" < 1205688363 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yet it is marked as bad < 1205688368 0 :Slereah!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205688372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah so it shows that at the end? < 1205688384 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :as you can see right there :-P < 1205688392 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :you can always compare to the expected < 1205688407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err but why is CCBI marked good, output doesn't match < 1205688411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :CCBI shows a warning message < 1205688415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://users.tkk.fi/~mniemenm/befunge/mycology-output/sanity/CCBI.txt < 1205688419 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because it can be removed < 1205688423 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :by not specifying -w < 1205688433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah for me it is "enable warnings by -W" < 1205688469 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that's why it says for !Befunge "irremovable exit code output" - it can't be removed < 1205688480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm does http://users.tkk.fi/~mniemenm/befunge/mycology-output/sanity/FBBI.txt contain something strange? I get a download box instead of it getting show inside firefox like the rest of the files < 1205688504 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, apparently firefox or the web server don't like txt files that contain null bytes < 1205688521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205688533 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or not null bytes, but control characters < 1205688563 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and hmm < 1205688583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, "# < jumps over <" in http://users.tkk.fi/~mniemenm/befunge/mycology-output/befunge93/BeQunge.txt why did that cause END? < 1205688590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or did it crash just after that? < 1205688604 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ask BeQunge what happened :-P < 1205688613 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no trace? < 1205688624 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's an IDE < 1205688637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah probably trace then < 1205688637 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and even if there were, I wouldn't bother to find out < 1205688662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah but for !Befunge you would bother to check I suspect? ;P < 1205688669 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but actually, no < 1205688673 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :# < is fatal < 1205688677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1205688680 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :as in, mycology quits afterward < 1205688692 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yeah, if the interpreter is interesting in its own right, sure < 1205688699 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but if it's just another crap implementation then no :-P < 1205688706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"BAD: 3k< takes more than two ticks" <-- hm is there no matching GOOD for that one? < 1205688731 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :expected.txt seems to have it < 1205688735 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 3k< takes two ticks < 1205688737 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION checks cfunge < 1205688750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh yes it's there < 1205688750 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION realises something important about befunge... < 1205688754 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, yes? < 1205688759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that it is a bloated language? < 1205688764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that it's hard to compile? < 1205688766 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :You can't add new operators that look like the built-in ones < 1205688790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, indeed, all chars between ASCII 32 and 127 are in use < 1205688803 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :127 isn't < 1205688804 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :In things like C, most stuff is in functions, and your functions look like the builtins < 1205688811 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :127 is a control char < 1205688815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, sure? isn't 127 == ~? < 1205688817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION checks < 1205688820 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :as SimonRC said < 1205688823 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :~ is 126 < 1205688850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1205688850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so what control char is 127 then? < 1205688855 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it's called DEL < 1205688859 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :On my ASCII chart, it's some sort of house shape < 1205688862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1205688865 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is often typed as Ctrl-? < 1205688885 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw, the limit on chars in input is a bit odd for befunge < 1205688903 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it is one of the two common bindings for backspadem, the other being ^H (BS) < 1205688909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"(and greater than 255 on systems where characters are stored in multiple bytes; but no greater < 1205688909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :than 2,147,483,647.)" < 1205688927 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :seems reasonab;e < 1205688928 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, does that mean I have to handle chars greater than 255? Ie, handle utf8 < 1205688935 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :currently I read files in assuming 8 bit chars < 1205688940 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :no, it doesn't < 1205688944 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I originally read that so that you do < 1205688953 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and made the mistake of assuming UTF-8 on input < 1205688962 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, on systems where there is a difference, are befunge files text or binary? < 1205688963 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but note that it talks about /systems/ where characters are stored in multiple bytes < 1205688972 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :not about text encodings or anything like that < 1205688974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what such systems exist? < 1205688978 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :it makes a difference if you have (e.g.) Chinese strings as UTF-8 < 1205688986 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I have no clue < 1205689006 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :if you read further it's clear what is meant < 1205689008 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That is to say, character #417 may look like a squiggle on system Foo and a happy face on system Bar, but the meaning is always the same to Funge, 'character #417', regardless of what it looks like. < 1205689052 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also utf8 should work fine, say a char consists of {125 123}, assuming it is loaded on stack that way and the terminal interpreters it as such an encoding, it will work fine < 1205689053 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :so if you get 0xeb 0xbb 0xbf on input you're not to read it as char #65534 < 1205689073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, however that will depend on if you travel > or < or other direction < 1205689077 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, just plain reading/writing in basic ways works if done correctly. < 1205689091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it may mess up columns < 1205689095 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: just as getting GOOD or DOOG depends on which dir you're moving in. :-) < 1205689113 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, if you assume your editor's display is correct in that sense < 1205689115 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and if you do say "ö" you would get different results depending on what way you travel < 1205689128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it would be a PITA to write in reverse < 1205689161 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :just do ;#"ö";# < < 1205689168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err what? < 1205689178 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :for reverse < 1205689178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh I get it < 1205689195 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, however it would break say, ip going down over line later on it < 1205689197 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :or, if you've got the luxury of a working j or x < 1205689200 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :use them < 1205689209 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :personally, I would store each unicode code point in one cell < 1205689209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : v < 1205689209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ö > < 1205689217 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that may not work as expected < 1205689218 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: like said, if you think your editor display is correct then you're mistaken. < 1205689226 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, heh < 1205689229 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1205689245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : or, if you've got the luxury of a working j or x <-- yes but what is wrong with ; ? < 1205689249 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yeah, such a mode could easily be implemented, but it'd depend on interpreter support. < 1205689252 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :; is very nice for comments < 1205689257 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if you've got more ;s < 1205689265 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :; astusaddrfasdfasdfa ;#"ö";# < asdfsadfasd a; < 1205689267 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work any more < 1205689270 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah true < 1205689280 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I almost only use ; for comments < 1205689295 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :waitamo... < 1205689300 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the few places where I comment I just put it next to the code :-) < 1205689301 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :how do # and space interact? < 1205689308 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw, does mycology test wrapping within ; mode? < 1205689311 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: we just talked about it above, # jumps over space < 1205689320 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, jump over, ie, doing nothing either way < 1205689330 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: many interpreters get that wrong and instead jump over the next instruction after spaces < 1205689331 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205689344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: probably not explicitly, but it uses it < 1205689354 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb phone < 1205690044 0 :RedDak!unknown@unknown.invalid QUIT :"Killed (NickServ (Comando GHOST usato da DIO))" < 1205690066 0 :RedDak!n=dak@host13-80-dynamic.20-87-r.retail.telecomitalia.it JOIN :#esoteric < 1205690453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :back < 1205690499 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205690527 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :brb nuclear war < 1205690547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1205690547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, it was just because I was in a discussion so it would seem odd if I just left < 1205690552 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1205690554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :otherwise I wouldn't mention it :P < 1205691089 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1205691461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw mycology fails at testing greatest point of y well, I had two errors in it, that, for mycology's case, canceled out each other < 1205691477 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :what kind < 1205691477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, 1) I pushed width and breath not absolute max point < 1205691482 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2) I had a off by one error < 1205691494 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and least point in mycology at that point is -1,-1 < 1205691507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :result: my error did not show up in mycology < 1205691561 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :well, if I make the least point -1,-2 somebody will have an off by one and off by two error ;-) < 1205691581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, better check once, write to a new negative value and check again < 1205691590 0 :slereah_!n=slereah@ANantes-252-1-53-134.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205691599 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, right, you fit that in there :-P < 1205691601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but at least in C off by one are rather common when working with array < 1205691602 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205691608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :arrays* < 1205691615 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I know < 1205691625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, brain thinks in 1-indexed, computer doesn't < 1205691638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :off by two or so is not as common < 1205691652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, as for fitting in: I prefer PIC befunge < 1205691654 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :much easier < 1205691662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :position independent code < 1205691676 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :like said, I would too < 1205691681 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but I started it out like that and hence it became that < 1205691686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205691688 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but I'm not going to rewrite it either :-P < 1205691707 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually is it harder to write PIC in befunge than absolute code? < 1205691710 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :like I said, test {}gp first and then use {} to keep stuff PIC < 1205691714 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, it is < 1205691725 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe some fingerprint to help that? < 1205691725 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but if you have a working { and }, not much < 1205691740 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :no need, { and } make it as easy as can be < 1205691742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SUBR is actually worse for PIC < 1205691774 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's not meant for PIC < 1205691778 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's meant for reusing code < 1205691805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah, but I would prefer a mode for finding such functions that was position independent < 1205691808 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205691825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe register function entry point, and then jump to that name or something? < 1205691863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually there is one thing I'd like to add in a fingerprint, just because it would so totally NOT fit with funge < 1205691869 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :REGS < 1205691874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :emulate CPU with registers < 1205691874 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1205691884 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that's REFC < 1205691913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm but REFC got a problem: you can't know what it returns < 1205691922 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205691927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so if you could register something under a given index < 1205691940 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :because then you could hard code what entries to look up < 1205691958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh you mean REFC = registers? < 1205691967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or REFC = register entry points? < 1205691979 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :REFC = variables, which is essentially equivalent to registers < 1205691998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205692078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I would prefer something like A = push into %bax, B = Push into %bbx, C = Push into %bcx, maybe 2-3 registers more, then have operations that multiply those and such < 1205692097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just to make it feel like registers :) < 1205692121 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as befunge is a stack based language it would feel so totally wrong :D < 1205692217 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :is there a goot way to do a goto in befunge? < 1205692235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, x, relative addressing to < 1205692245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or there is J from SUBR fingerprint < 1205692250 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1205692254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is jump to absolute coordinates < 1205692268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, x sets delta < 1205692273 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1205692276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you got to reset delta after you jump < 1205692278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it works well < 1205692281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as a goto < 1205692285 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :just about to say that myself < 1205692319 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, however, for "jump and go east", if you can depend on SUBR fingerprint, then I'd recommend J < 1205692322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but otherwise x < 1205692334 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :avoid depending on fingerprints if you can IMO < 1205692339 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205692356 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :there's also j < 1205692363 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well yes < 1205692363 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :darn, Forth rather relies on address = 1 cell < 1205692366 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :which is like x, but it moves once and doesn't change the delta < 1205692372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed < 1205692374 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1205692389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually it does, but then it changes it back again (in my implementation, or it breaks at wrapping) < 1205692412 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :only the semantics matter, not how it's implemented :-) < 1205692416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as I don't want to do like CCBI and run "one forward" 9999 or whatever times < 1205692446 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :optimizing CPU as I can't optimize hash more yet < 1205692447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1205692464 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw cachegrind looks nice < 1205692483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :part of valgrind < 1205692492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :looks for cache miss situations < 1205692494 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :go ahead < 1205692505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not using it is because it's output is hard to parse < 1205692510 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205692511 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe when everything else is doen < 1205692513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :done* < 1205692525 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :there are frontends for cachegrind as well, you know :-) < 1205692528 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I do run valgrind and mudflap every now and then < 1205692537 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yep, kachegrind or something like that < 1205692545 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or maybe they actually left the c in for once < 1205692609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw ever tried mudflap? < 1205692616 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1205692623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very nice pointer debugging thing, if you enabled the mudflap useflag for gcc < 1205692626 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :haven't programmed that much in C/C++ < 1205692638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging < 1205692646 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, I know what it is :-) < 1205692666 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, quite nice, at some things better than valgrind, at other things valgrind is better < 1205692687 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and I've seen boehm-gc in leak check mode catch leaks neither of those two catched < 1205692763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, btw I've been thinking of some kind of JIT for some things, but I think they may end up slower, ie. caching the matching ; for a ; and such < 1205692781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but likely to be slower as I would need to invalidate cache at p and so on < 1205692797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :another thing, concurrency, ; takes 0 ticks right? < 1205692809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but how long does this take: ; blah blah;;blah blah; < 1205692814 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :0 ticks < 1205692817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205692830 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;$ takes one tick < 1205692838 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :assuming the semicolons match < 1205692838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for $ yes < 1205692921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw, when cfunge is done I think I'll try to write a fast brainfuck compiler, ie, optimize and convert to speedy C < 1205692927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then compile that optimized < 1205692947 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm not that interested in brainfuck, it's too simple :-) < 1205692961 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so what other esoteric languages are you interested in? < 1205692978 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, I've been looking for something cool but haven't found anything that special < 1205692987 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Rail or whatever it was called looked nice < 1205693026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :looked? or was? < 1205693045 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :looked < 1205693055 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :haven't done anything with anything other than befunge, really < 1205693055 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so what was the problem with it? < 1205693058 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and a bit of whitespace once < 1205693061 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :beats me < 1205693064 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :don't remember :-P < 1205693080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, a rail -> befunge converter maybe? < 1205693104 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :maybe I've just had enough of esoterica for now ;-) < 1205693142 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, one thing you could do, change wrapping to allow user defined topologies, ie, load klein-funge file into CCBI < 1205693149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm not going to < 1205693156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but could be a nice experiment < 1205693172 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :can't really be done < 1205693175 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1205693178 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :since the wrapping function can be arbitrary < 1205693186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed it can < 1205693192 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so have a parser for it < 1205693217 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :something that can be JIT compiled or so < 1205693235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or compiled to a *.so/*.dll even < 1205693235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and loaded < 1205693235 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :would need to implement a whole language there < 1205693259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually you could just dlopen a file, with a few basic functions < 1205693259 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :might as well leave it to the dynamic language people < 1205693283 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :except that that doesn't work on windows < 1205693292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there are *.ddl on windows < 1205693295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that could work the same < 1205693304 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yes, there are dlls < 1205693308 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't remember functions names for windows though < 1205693313 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but it would require writing a lot of code to make it work < 1205693335 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :something like LoadLibraryExWeDidn'tGetAPIRightFirstTimeSoHereIsAnExtendedOne < 1205693335 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it's trickier in D than in C, with the garbage collection and all that < 1205693347 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :might be easier if only loading C code < 1205693359 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but still, too much trouble < 1205693365 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds all the *Ex API functions of Windows sad < 1205693375 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they can't even get their APIs right first time sigh < 1205693456 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :there's stuff like tmpfile in the C/POSIX APIs as well :-) < 1205693478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh yes tmpfile/tempfile/mktemp/mkstemp < 1205693499 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but hardly as common < 1205693506 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and when you've got a million customers you usually can't just say "stop using what you have because this new stuff is better", you're burdened with backwards compatibility < 1205693521 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :but yes, I admit, the design of windows could have been much better from the start. < 1205693548 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed, but windows got more *Ex functions than POSIX got updated functions < 1205693625 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :the windows stuff also supports a lot more stuff < 1205693634 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :not saying that it's a good thing to have all that built in < 1205693640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1205693649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :windowing routines belongs in X API < 1205693653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not in system API < 1205693665 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :from what I've heard the X API is absolutely horrid < 1205693693 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, very likely, xlib is < 1205693699 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/X11#Limitations_and_criticisms_of_X < 1205693700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think that new xlib replacement is better < 1205693702 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :forgot it's name < 1205693730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :libxcb < 1205693733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's the one < 1205693751 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :yeah, isn't that like a big *Ex for all of X? ;-) < 1205693871 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1205693872 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :X11 sucks. < 1205693877 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Regardless of api. < 1205693892 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :that's arguable, as well < 1205693928 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :It is just the 11th protocol revision, it is horrible, no matter what api they use to wrap it, it still sucks. < 1205693973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, so use motif or QT or something < 1205693982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but POSIX API is great < 1205693985 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :X API isn't < 1205693999 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :... < 1205694003 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The X API is sheer insanity. < 1205694012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, agreed < 1205694016 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Motif and qt still use the 11th protocol revision. < 1205694029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, is there any 12th? < 1205694034 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: *Everyone* uses X11. < 1205694039 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There's not an X12. < 1205694049 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(although X.org is tossing around ideas for it, actually) < 1205694050 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: freedesktop is considering it. < 1205694055 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1205694059 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Not really considering it, but they have a wiki with ideas about it. < 1205694061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hope they make the new API sane < 1205694070 0 :RedDak!n=dak@host13-80-dynamic.20-87-r.retail.telecomitalia.it JOIN :#esoteric < 1205694092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :really nice and sane, and provide backward compatiblity in some external library < 1205694112 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I already said this, the api is not the problem, the problem is the protocol that the server and clients must follow, the packets they must send. < 1205694152 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: No, the API is the problem. < 1205694159 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It is *fucking insane*. < 1205694162 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :You can wrap this protocol in an api to make it tolerable, but it still would suck internally. < 1205694166 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It makes Win32 look reasonable. < 1205694222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, nop, you could replace it with a 12th protocol revision < 1205694259 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :... < 1205694268 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :and it would still suck. < 1205694384 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :If graphics contexts, window borders, and all the other useless garbage was removed from the protocol, the api would inevitably become more sane. < 1205694469 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And I don't have a clue how they could fix the hell that is the icccm. < 1205694566 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Or any IPC for that matter. < 1205694574 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, maybe they could make a lib to handle that or such. < 1205694586 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hah, 1-bit icon pixmaps < 1205694631 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, *.xbm? < 1205694631 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, basically, "If the entirety of X11 were removed, then the API would become sane". < 1205694644 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what the ICCCM specifies < 1205694650 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1205694686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, even back a few years that was useful, think of transparency in gif, you could threat that as a 1-bit pixmap acting as a mask < 1205694691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :today we got alpha of course < 1205694709 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: sure, useful, but it's one hell of a limitation < 1205694740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but I can see 24-bit images or whatever it is on my screen, and I can see transparency, so I'm not sure I get the *current* problem < 1205694745 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps just an *alpha channel*? ;) < 1205694765 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, even they are 8-bit these days < 1205694773 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well aware. < 1205694774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't use composite but... < 1205694944 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Without using an extension to the protocol, the core protocol itself, the most colors that you can use for many things is two, for example, you can only use two colors to create a cursor using the core protocol. < 1205694977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, I see < 1205694987 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I got a 2-color cusor < 1205694988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so? < 1205694997 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Are you sure? < 1205694998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I like the standard X11 cursor < 1205695001 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Transparent is a color. < 1205695006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't trade it for anything < 1205695006 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :That is three. < 1205695023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm? so the standard cursor is 3-color? < 1205695029 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1205695034 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1205695043 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :only the bit's that arent the cursor are trasparent < 1205695054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, transparent and black as far as I can se? < 1205695055 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see* < 1205695063 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :White outline. < 1205695076 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm true < 1205695080 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Are you sure? < 1205695094 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :You may be right, now that I think of it. < 1205695096 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. < 1205695104 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1205695112 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however, wouldn't the cursor be a rectangular bitmap? < 1205695128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :logically I mena < 1205695130 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mean* < 1205695133 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Yar. < 1205695143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so yes 3 colors then < 1205695147 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It's probably stored interally as such... < 1205695156 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't think that's relevant to how many colors it's made o < 1205695174 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :in that case you could probably even say it's 256 colors < 1205695193 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Only if you use an extension. < 1205695307 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I remember i always needed to use the xcursor extension in order to get > 2 colors. < 1205695321 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :If I remember correctly xrender could be used as well. < 1205695503 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, you may be able to have 2 colors + a mask < 1205695505 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Whatever. < 1205695560 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to go. < 1205695562 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :o/ < 1205695961 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads up < 1205696017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there? why are some of the GOOD BAD boxes on the result page for the mycology tests not links? < 1205696033 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually mostly the GOOD ones < 1205696047 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because there's no point in linking to anything, they're the expected output < 1205696059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, still some GOOD are links? < 1205696060 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :it does say that right above the table you know :-) < 1205696067 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :because they have something UNDEF < 1205696070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1205696436 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :o < 1205696636 0 :Corun!unknown@unknown.invalid QUIT :"back later, with pizza" < 1205696644 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I recall there is a supposed X replacement called Y < 1205696650 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :It was on /. a few years back < 1205696654 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION searches < 1205696708 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Don't bother. < 1205696710 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :It is the suck. < 1205696713 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Written in sdl. < 1205696836 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1205696951 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1205698292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Written in sdl. < 1205698293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1205698296 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sdl uses X? < 1205698298 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1205698427 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205698630 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Not always. < 1205698646 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :It has other backends. < 1205698660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right, linux framebuffer < 1205698677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and wincrap < 1205698715 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Yep. < 1205698745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and aalib it seems < 1205698746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1205698752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Installed versions: 1.2.11-r2(02.57.23 2008-01-05)(X alsa arts fbcon opengl xv -aalib -custom-cflags -dga -directfb -esd -ggi -libcaca -nas -noaudio -nojoystick -novideo -oss -svga -xinerama) < 1205698912 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :aalib is awesome. < 1205699140 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1205699420 0 :oklofok!unknown@unknown.invalid QUIT :Connection timed out < 1205699946 0 :oklofok!n=oklofok@spark.turku.fi JOIN :#esoteric < 1205700019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :UNDEF: H outputs 40 as (28 < 1205700019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1205701268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how do you in C convert an integer to a string in the given base, for decimal, octal or hexdecimal it is easy with printf, but for other ones? say base 2 or base 31 < 1205701287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :printf seems to only do base 8 10 and 16 < 1205701292 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :nothing in std c does this < 1205701395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gah < 1205701414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, so how should one do it, it is for an befunge fingerprint < 1205701423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some kind of loop on the value? < 1205701443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or what is the best way to get arbitrary base in C? < 1205701452 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is there some "standard algorithm"? < 1205701480 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :void binary(int number) { if(number > 0) binary(number >> 1); < 1205701480 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric : putchar(number & 1 ? '1' : '0'); } < 1205701491 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :>> 1 just means divide by two < 1205701496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205701497 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :you can do similar for any base < 1205701509 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gotta do it by hand. < 1205701514 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, need a look for a number larger than say 1 ;P < 1205701516 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :s/number & 1 ? '1' : '0'/number["0123456789"]/ < 1205701521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1205701532 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :recursion is the loop < 1205701536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh right < 1205701544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders how to convert to a while loop < 1205701561 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1205701566 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why on earth would you do that < 1205701567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or such < 1205701577 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, recursion mean function can't be inlined < 1205701582 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1205701602 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :whatever :) < 1205701602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :prevents optimizing < 1205701619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, look I'm aiming to make the fastest befunge interpreter out < 1205701622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :out there* < 1205701661 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :you know what fast code is.. good algorithms < 1205701674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, I know < 1205701701 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :not ultra optimizing a proc that only works on numbers < 65536 < 1205701705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, an recursion is not a good algorithm < 1205701711 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :bullshit < 1205701714 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, err, it only does that? < 1205701727 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :fingerprint are bigger than four chars? < 1205701739 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :xFFFF=65535 < 1205701749 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, fingerprints names have to fit into four ASCII chars < 1205701760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but that doesn't affect the fingerprint routines themself < 1205701762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205701815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :xFFFF=65535 <-- yes but range is [A-Z0-9], or maybe even [A-Z0-9a-z], not [0-F] < 1205701836 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2^32 - 1 I think is the number of possible fingerprints that can exist < 1205701864 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :ok.. I said that.. < 1205701887 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, but that doesn't limit what the fingerprints can do < 1205701890 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :anyway you should stop thinking recursion is inefficient that's like poison < 1205701901 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It's false and will limit you severly < 1205701904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :0101000 leading 0 hm < 1205701909 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :(and yes I know C does not define TCO who cares) < 1205701920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :TCO? < 1205701932 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's for monitors? < 1205701945 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds what looks like an IPv6 propaganda comic < 1205701948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is confused < 1205701957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, heh? < 1205701964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :xkcd map of ipv4? < 1205701981 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"The adventures of Team ARIN" < 1205701982 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.arin.net/education/comic/index.html < 1205701993 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^_o < 1205702023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, that's weird, like very weird < 1205702055 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it sounds almost as bad as that "sorcefource" thing or of microsoft < 1205702077 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :At least I'm learning from this comic < 1205702199 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, your algorithm works for bases below 10, I can see that, but what about higher ones? I need to support up to 36 bases < 1205702213 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :up to base 36* < 1205702218 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :s/number & 1 ? '1' : '0'/number["0123456789ABCDEF"]/...then < 1205702224 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205702321 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Thank goodness I was able to ZING your hardware and stop your packets from moving and messing up the Internet!" < 1205702343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, spare us from this < 1205702580 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: "01223456789ABCDEF"[number] looks cleaner to me. . . < 1205702604 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I prefer it the other way, it's your code do you watn < 1205702947 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: heh < 1205704462 0 :slereah__!n=slereah@ANantes-252-1-47-244.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205704708 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1205704725 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1205704783 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Of course, we all know the real way is "mov eax, [hex_string + number]". < 1205704935 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1205705183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, doesn't handle 64-bit values < 1205705212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :%rax maybe on amd64, on 32-bit no idea < 1205705231 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :assuming bases above. say 2^32 < 1205705233 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205705298 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: i know about timecube, but colorforthray.info is possibly more insane < 1205705312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lament, what is timecube? < 1205705322 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: timecube.com < 1205705323 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1205705350 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the owner of colorforthray is actually on freenode. < 1205705361 0 :slereah__!unknown@unknown.invalid PRIVMSG #esoteric :-1x -1 = 1 IS STUPID AND EVIL >:| < 1205705531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :slereah__, err, lets see that can be simplified to -1x = 2, means x = 2/(-1) x =-1 < 1205705533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :er < 1205705535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :x = -2 < 1205705568 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :slereah__, how is it stupid an evil? < 1205705763 0 :slereah_!n=slereah@ANantes-252-1-47-244.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1205705780 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :"Read the time cube :o" < 1205705782 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Was, I sayng < 1205705806 0 :slereah__!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1205706256 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :lament: I will have to read that site < 1205706267 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ColorForth is great < 1205706298 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :but maybe only in the way unlambda is great < 1205706505 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :In the way that it is totally awesome? < 1205706525 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1205706559 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :?unlambda < 1205706601 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Unlambda! < 1205706601 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's pretty much the best known functional esoteric language! < 1205706606 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, then again, that's still not very known < 1205706616 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Heh\ < 1205706633 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I am trying to figure out if the language I am designing is "functional" or not. < 1205706650 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Is it full of functions? < 1205706660 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1205706673 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Define function. < 1205706763 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :are there first-class function-like things? < 1205706778 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Is lambda a keyword? < 1205706792 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I have lambda expressions. < 1205706802 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And I could have closures, but I do not think I will. < 1205706802 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Elaborate? < 1205706819 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Functions typically need to return a value. < 1205706823 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: Show me some code in it < 1205706826 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :And have no side effect. < 1205706843 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods... In a purely functional language, of course. . . < 1205706854 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just got a nice idea from a language due to a typo I made in C: < 1205706863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bool bool somefunction(...); < 1205706868 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: loop<...>loop() < 1205706873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ie, a language where stuff can return several values < 1205706875 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Erm < 1205706877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :using such a syntax < 1205706878 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: loop<...>loop(...) < 1205706882 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: My god. < 1205706885 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I mean a larger bit of code < 1205706889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what? < 1205706893 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Insane. < 1205706895 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Me like. < 1205706896 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :did you write nothing about 20 lines yet? < 1205706912 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster haha I like that < 1205706919 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(technically, those are no longer functions, but rather *relations*. . . :p) < 1205706922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, no time to write specs, but basically you wouldn't have to do say bool (bool * foo); to return several values < 1205706933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but instead could return any number of values < 1205706937 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: main<...>add(..., print, 3, 4) < 1205706948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, heh? they are what? < 1205706959 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Factorial is like 15 lines. < 1205706962 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: read it, it's fucked up. < 1205706963 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But it is on the old spec. < 1205706965 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Ignore, please. < 1205706965 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :cool show me that < 1205706966 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I have changed it since hten. < 1205706975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, no? what? < 1205707015 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: quickly, tell us! < 1205707023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wonder how assignment syntax from such a function should look < 1205707026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe something like < 1205707039 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :foo,bar,quux = somefunction(); ? < 1205707040 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: what does it mean here to retu multiple values? do you return multiple times to the return continuation, or just return a pair, or..? < 1205707060 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :don't wanna be a killjoy, but if it's the latter, it's not that crazy :P < 1205707071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, well not sure, you can return several values, any given amount of values < 1205707090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and variable amount of returns < 1205707093 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :well, tuple then < 1205707095 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :foo bar = f(); < 1205707103 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: http://pastebin.ca/945366 That is a snippet of the old spec. < 1205707110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, so: int ... myfunc(); < 1205707117 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :That is before anonymous functions and before the syntax changed. < 1205707117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :would return n number of integers < 1205707121 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :But same idea. < 1205707124 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :where n is unknown < 1205707139 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1205707180 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hi oerjie! < 1205707181 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :why are there so many ...? < 1205707182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, like variable argument count in C, but instead variable return arguments < 1205707194 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i know < 1205707200 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You could have some very interesting calling conventions with that. . . < 1205707201 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, would be a procedural language I think < 1205707201 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hi okly < 1205707212 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: oh, stop :) < 1205707226 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh yes, at least when you do variable both ways < 1205707235 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :Deformative: What does ... mean? < 1205707236 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Because, there are no return values. < 1205707237 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i feel all stoppy < 1205707243 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Ignored args. < 1205707245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, double ... floor(double ...) < 1205707246 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :For compatibility with the standard calling convention, have the first return value stuck in eax, and the rest get pushed on the stack. < 1205707269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, err not eax, would rather be rax right? < 1205707276 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :On AMD64, it would be rax. < 1205707281 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I don't understand the code enough to decide, sorry < 1205707302 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But most people don't have OSes that enable long mode, so the rax register won't exist for those people. ;) < 1205707312 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Basically, it has continuations only, no return values. < 1205707314 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway I could not code this heh, anyway I don't know ASM < 1205707321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, however an interpreter should work < 1205707330 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :So you pass a function to execute next to every function. < 1205707330 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I probably won't code this, just a crazy idea < 1205707336 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It'd be trivial to code up given a simple C compiler, actually. . . < 1205707343 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh? < 1205707353 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :I use the word "function" but I do not believe they can be called functions. < 1205707361 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Getting it to handle the syntax would be the pain. < 1205707377 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But the actual *semantics*? Trivial. < 1205707387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway if the first return value is larger than 32-bit it won't fit in %rax, or if it is floating point < 1205707403 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/rax/eax/ < 1205707411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, yeah eax < 1205707452 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The standard C calling convention returns the value in eax if it's 32-bit or less, and not a float. If it's a float, it's on the floating point stack instead. And, if it's just larger than 32-bit, then eax has a pointer to it. < 1205707471 0 :calamari!n=calamari@ip24-255-58-177.tc.ph.cox.net JOIN :#esoteric < 1205707473 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(IIRC) < 1205707480 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1205707482 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should look up cdecl again < 1205707492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, amd64 calling convention doesn't do that, it returns floating point in SSE registers iirc < 1205707500 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: What is the point? Why not just return a structure? < 1205707510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, it could be interesting < 1205707529 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and if you make this language has, first class functions < 1205707535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then it could be really interesting < 1205707540 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: The amd64 calling convention is different from the x86 calling convention. < 1205707541 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :rrreally < 1205707546 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :could you curry return values < 1205707552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :curry? < 1205707554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1205707596 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Are you talking about my language or your's? < 1205707602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, mine? < 1205707609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or rather my wild idea < 1205707618 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Why not just return a structure? < 1205707619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I probably won't implement it, or write a spec for it < 1205707623 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :What is the point of multiple return values? < 1205707624 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(x86's convention stores all arguments on the stack. x86_64 stores the first 6 arguments or so in registers.) < 1205707628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, would be cheating < 1205707643 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :Uh, mkay. < 1205707651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deformative, why not ask yourself: what is the point of any esoteric language then < 1205707663 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: Still trying to understand my code or should I leave? < 1205707675 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the prob is, what's the essential difference between returning multiple values and an n-tuple < 1205707723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, hm, also you could code this as returning multiple times, would need some kind of setjmp I suspect, but I suspect you would prefer such a way of doing it? < 1205707739 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i prefer to know what you mean :) < 1205707746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, I'm not sure yet < 1205707752 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Well, you *could* define the calling convention so that it's equivalent to a C program returning a struct. . . < 1205707771 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: stop being so hardware, i'm a pythonist nowadays! :D < 1205707778 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklofok, it all started as a typo I made when copy pasting a new prototype for a function into a header, and missed to remove the old bool < 1205707787 0 :oklofok!unknown@unknown.invalid NICK :oklopol < 1205707789 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: When discussing something C-esque, then you've got to be hardware. :p < 1205707800 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess, i guess < 1205707807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i know < 1205707810 0 :Deformative!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows: ? < 1205707813 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm fairly omniscient < 1205707843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, so I ended up with: extern bool bool input_getint(FUNGEDATATYPE * value, int base); < 1205707864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :however that would be even easier, as value is an out parameter here < 1205707875 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ACTION made an 8 instruction assembly language today.. 3 bits for the opcode, 5 bits for a single arg < 1205707888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that could be written as bool FUNGEDATATYPE input_getint(int base); < 1205707895 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wish I knew more about circuit design < 1205707918 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :me too < 1205707922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, also this should be supported: bool ... int ... somefunction(), that is several sets of varreturns < 1205707923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1205707929 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Could be even worse, though. < 1205707930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, same for varargs < 1205707938 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :extern bool static bool input_getint(...); < 1205707953 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :starting to sound fun again! now support regexes < 1205707955 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh why static in front of the second bool, what would that mean? < 1205707960 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bool+ int{7,10} < 1205707974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rofls < 1205707974 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That it would return different values depending upon the linakge. < 1205707981 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/linakge/linkage/ < 1205707982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, XD < 1205707987 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very nice < 1205708001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how, if I may ask, would the return statement look? < 1205708016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or would it be implemented as some sort of co-routine? < 1205708023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :extern bool static bool linked_p() {return 0, 1;} < 1205708065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1205708082 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, but for say extern bool ... static bool ... int ... then? < 1205708084 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No *idea* how you'd make that calling convention work, though. < 1205708110 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Except *maybe* by making the linker understand this language's conventions? < 1205708112 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: No clue. < 1205708120 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1205708126 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what about oklopol's regexes? < 1205708130 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that could be nice < 1205708149 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :return(0,1,0,0,1)(1,0,1,1,0)(5,6,7,8,9,10); < 1205708149 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :? < 1205708164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ok and assignment from this function? < 1205708188 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :say /* what here*/ = linked_p() < 1205708198 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bool foo,bool bar, bool baz, int qux, int quux = this_insane_function(); < 1205708215 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, for linked_p, it'd be easy. < 1205708220 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bool foo = linked_p(); < 1205708227 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, err I mean for the "extern bool ... static bool ... int ..." one < 1205708231 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It returns 1 value; that value is different based upon linkage. < 1205708232 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1205708259 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ie, to an array? < 1205708274 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or discard values not fitting into number of return variables? < 1205708291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I still think oklopol's regex for return value looks cool < 1205708297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh and same for arguments :D < 1205708463 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(oklotalk does regex-like pattern matching, you can set an assert on lambdas to return a certain type pattern) < 1205708481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(all this done in such an unclean fashion you'll want to cry <3) < 1205708481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1205708492 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, mine at least is quite clean idea < 1205708502 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with all the pointer hell of C too < 1205708565 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is in shock < 1205708572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ? < 1205708576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1205708580 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Window's calling convention does not allow variadic functions. < 1205708589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, stdcall is crap yes < 1205708606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw what do you call "varadic return"? < 1205708615 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The more I know about Windows, the more I hate it. < 1205708619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :varun? < 1205708626 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :varurn even < 1205708629 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe. < 1205708630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1205708636 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :var urn < 1205708677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, windows "falls back" to cdecl for varadic functions I think < 1205708882 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION becomes obsessed with ViolaWWW < 1205708889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is that? < 1205708901 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, old web browser, from before Mosaic < 1205708909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, ah I forked mosaic btw < 1205708912 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.xcf.berkeley.edu/~wei/viola/violaCentral.html < 1205708922 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :make it be able to show xhml pages < 1205708935 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1205708944 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :even tried adding garbage collector but didn't get that work finished < 1205708957 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :seems like ViolaWWW had AJAX-like features way before everyone else oO < 1205708959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you got bzr 0.92 or later installed, you could check it out from *looks for url* < 1205709016 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, yes... "http://www.xcf.berkeley.edu/~wei/viola/vw/inset_chess.v" <-- wow < 1205709039 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :.v ? :S < 1205709057 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Think ".js for ViolaWWW" < 1205709059 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, viola script it seems < 1205709068 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :WAAAAAAAAAY before JS ofc < 1205709100 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :does not really work < 1205709105 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :http://www.xcf.berkeley.edu/~wei/viola/vw/chessDemo.html < 1205709110 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I guess I miss plugins. < 1205709115 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, -_- < 1205709119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you didn't read anything? < 1205709125 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's for some really old browser < 1205709134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course it doesn't work in modern ones < 1205709158 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AJAX(like) in 1994! http://www.xcf.berkeley.edu/~wei/viola/vw/monitor2.v < 1205709160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, it looks very weird, parts of it look like C code < 1205709181 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes C code with some \latexstyle commands in it < 1205709270 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If the Viola code was adopted for the WWW, how much more advanced would we be right now? < 1205709302 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(I mean, if we made that decision way back when, not saying we should do that now) < 1205709328 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :3D < 1205709332 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wha? < 1205709341 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :it would have support for 3D < 1205709375 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, odd question < 1205709380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and one I can't answer < 1205709386 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, where do you see that? < 1205709393 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric : If the Viola code was adopted for the WWW, how much more advanced would we be right now? < 1205709399 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :I am answering this question < 1205709404 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1205709522 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if he can download ViolaWWW from somewhere and play with it < 1205709640 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"All objects can be individually programmed using the scripting language. Each object is essentially its own interpretive environment, and each object is its own variable scope. So, an object only affects its own variable values and can not directly affect other objects' variables, thus minimizing side effects. < 1205709640 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Having an encapsulated mini environment is useful not only for organizational purposes, but is also useful for enforcing security. This is particularly relevant in the Internet scaled World Wide Web context. " < 1205709652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/include/gentoo-multilib/amd64/ctype.h:#define __isctype(c, type) \ < 1205709652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :/usr/include/gentoo-multilib/amd64/ctype.h- ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) < 1205709653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1205709661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is how isalpha and such are done it seems < 1205709682 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I don't see how stopping one object on a page from interacting with others on the page improves security < 1205709695 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :It's OO < 1205709697 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :all hype :P < 1205709734 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, it does a lot < 1205709748 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, say bank login object < 1205709762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and simple game object < 1205709792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bank login object should not be reachable from either simple game object, nor trojan object < 1205709847 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :does not give you proof that it's not reachable though < 1205709862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, ? < 1205709877 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :! < 1205709881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1205709900 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what doesn't give proof? < 1205709955 0 :marshmallows!unknown@unknown.invalid PRIVMSG #esoteric :objects < 1205710012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :marshmallows, true but other security features exist I assume < 1205710017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or didn't but should < 1205710017 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if there are people who fans of ViolaWWW < 1205710021 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I mean, today < 1205710027 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I didn't fan mosaic < 1205710034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just wanted to get it to work and try it < 1205710054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then I noted how much faster than, say, firefox it was < 1205710133 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Historical Web Browsers < 1205710133 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Active Worlds < 1205710138 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.livinginternet.com/w/wi_browse.htm < 1205710142 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :**facepalm** < 1205710196 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, btw I also forked original gopher client < 1205710198 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1205710367 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just wants to download VioletWWW right now