< 1174780968 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to bed < 1174781916 0 :nazgjunk!unknown@unknown.invalid QUIT :"sleep, gah" < 1174782020 0 :sebbu2!unknown@unknown.invalid QUIT :"@+" < 1174783640 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1174783645 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lemme type this up < 1174783748 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :DO SO < 1174783905 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.ca/408613 < 1174784080 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :wassat? < 1174784094 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a language < 1174784109 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :functional object oriented and stack based < 1174784151 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... I think it's silly to say "only some people are capable of programming"... < 1174784227 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :it could be a. the teacher, b. the language, c. the alignment of the planets < 1174784294 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :and if there are certain aptitudes that make it possible to learn how to program - I certaintly have none of the stereotypical programming qualities. < 1174784366 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :neat, detail-oriented, good concentration, organized. ....I'm the polar opposite of that. < 1174784384 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :um, no. < 1174784644 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://bsmntbombdood.mooo.com/FOOS.txt < 1174785033 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, your explainations fall too much into the trap of describing the implementation. < 1174785042 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...too formal < 1174785043 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Those are so utterly not the qualities of a programmer. < 1174785058 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I didn't think so. < 1174785077 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :The one quality you need to be a good programmer is the ability to grasp abstraction without losing perspective of the concrete. < 1174785090 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, that's the one quality you need to be capable of programming at all. < 1174785106 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I won't say that's all that's necessary to be a "good" programmer :P < 1174785567 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so you need to be able to fly while looking at the pavement? < 1174785784 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...sounds like THE POWER TO MAKE AWESOME METAPHORS. < 1174785787 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...as I have just done. < 1174785797 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is now the most coincidental emperor of hackerdom. < 1174785961 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's just too bad that you have not an effing clue what "abstraction" means. < 1174786023 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :pfft, oh no you didn't. < 1174786081 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :abstraction - the process of putting buttons on machines? < 1174786371 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: i have no other way of describing it... < 1174786384 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :abstraction? < 1174786416 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :so, do you think my concept is workable? < 1174786467 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :It works... your explainations are just confusing for someone trying to understand how it works. < 1174786525 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's an object where the builtin methods are stored < 1174786550 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's an inheritance mechanism < 1174786566 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's a code/function object < 1174786578 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :classes and objects are built on top of these < 1174786740 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...well, it's workable I suppose. < 1174786749 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :kinda smalltalkish < 1174786806 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :considered going prototype? < 1174786828 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :I still have to figure out a lot of stuff < 1174786832 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :a distinction between classes and objects might not be a good idea for something like this. < 1174786861 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :you could just have "objects that you can make copies of and add shit too" < 1174786881 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there is no distinction < 1174786980 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... there are classes and objects... even if thoses classes are objects, there's still a distinction - unless I'm misunderstanding how this works. < 1174786990 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you are misunderstanding < 1174786992 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :SmallTalk has a distinction. < 1174787045 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :In Smalltalk, all classes are objects - but not all objects are classes. < 1174787070 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a "class" is just an object that has a method that creates another object < 1174787079 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :from the %inherit method < 1174787137 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :This is called "prototype-based object orientation" < 1174787138 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :FYI < 1174787189 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :%inherit might be a bad name < 1174787205 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ah okay... yeah, then that's prototype. < 1174787247 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :@'foo [foo code] @object %inherit add-method done < 1174787249 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...using a slightly different way to creating new objects than most prototype languages... but the basic idea is still the same. < 1174787257 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :@ pushes the builtins object < 1174787272 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :' sends the builtin object the ' message < 1174787332 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... ah... I think I got it. < 1174787390 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :this puts the "quoter" object on the stack < 1174787403 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that gets sent a "foo" message < 1174787419 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the quoter object responds by putting the symbol foo on the stack < 1174787453 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... < 1174787461 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :[foo code] pushes a code object on < 1174787472 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :@ pushes the builtins object < 1174787494 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :object is sent to it, builtins object responds by pushing the base object < 1174787514 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :the base object is sent %inherit < 1174787533 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :responds by pushing an object that accepts and stores message handlers (methods) < 1174787556 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits quietly. < 1174787570 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :add-method is sent to that object, adding a message for the symbol "foo" handled by the code [foo code] < 1174787583 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :done is sent the the object, turning it into a class < 1174787594 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :s/the the/to the/ < 1174787638 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :|foo| := (object conceived |foo| := (code)) -- in Sophia < 1174787687 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :@'foo [foo code] @object %inherit add-method done init foo < 1174787704 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :would be a long winded way of executing [foo code] < 1174787747 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :from there that previous line you would add "foo foo" < 1174787808 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...there are semantic differences though... the () represent functions... < 1174787816 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so it's lazy... < 1174788146 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ideas, people! < 1174790736 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1174793388 0 :Mica69!n=mica@cust-148-48.dsl.versateladsl.be JOIN :#esoteric < 1174793409 0 :Mica69!unknown@unknown.invalid PART #esoteric :? < 1174794314 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... I'm making a weird Orkish concurrent language. < 1174794784 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1174802288 0 :LeaLeaLea!n=chatzill@12.178.87.91 JOIN :#esoteric < 1174802308 0 :LeaLeaLea!unknown@unknown.invalid PRIVMSG #esoteric :Seveninchbread < 1174802326 0 :LeaLeaLea!unknown@unknown.invalid PRIVMSG #esoteric :SEVENINCHBREAD ?? < 1174802334 0 :LeaLeaLea!unknown@unknown.invalid PRIVMSG #esoteric :hdcbaifgweyfrgygf < 1174802335 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1174802338 0 :LeaLeaLea!unknown@unknown.invalid PRIVMSG #esoteric :Good day, sirs. < 1174802340 0 :LeaLeaLea!unknown@unknown.invalid QUIT :Client Quit < 1174803638 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1174809383 0 :maverickbna!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1174809404 0 :maverickbna!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1174809599 0 :clog!unknown@unknown.invalid QUIT :ended < 1174809600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1174810393 0 :ShadowHntr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1174811132 0 :sekhmet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1174811433 0 :sekhmet!n=pez@76.201.149.124 JOIN :#esoteric < 1174811804 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1174815883 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...hmmm... you know... Perl isn't all that bad. < 1174815885 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :It's kind of fun. < 1174817738 0 :sebbu!n=sebbu@ADijon-152-1-56-29.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1174822506 0 :jix!n=jix@dyndsl-080-228-190-069.ewe-ip-backbone.de JOIN :#esoteric < 1174823054 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1174825971 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1174828109 0 :sekhmet!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1174828109 0 :oklopol!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1174828109 0 :SimonRC!unknown@unknown.invalid QUIT :zelazny.freenode.net irc.freenode.net < 1174828118 0 :sekhmet!n=pez@76.201.149.124 JOIN :#esoteric < 1174828118 0 :oklopol!n=villsalo@194.251.102.88 JOIN :#esoteric < 1174828118 0 :SimonRC!n=sc@bylands.dur.ac.uk JOIN :#esoteric < 1174829259 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmf < 1174833846 0 :ivan`!n=ludios@unaffiliated/ivan/x-000001 JOIN :#esoteric < 1174833999 0 :ivan`!unknown@unknown.invalid NICK :ludios < 1174834825 0 :ludios!unknown@unknown.invalid QUIT :"Coyote finally caught me" < 1174839724 0 :RodgerTheGreat!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1174839779 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :'morning, everyone < 1174839808 0 :jix__!n=jix@dyndsl-080-228-189-062.ewe-ip-backbone.de JOIN :#esoteric < 1174840374 0 :jix!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1174841654 0 :SevenInchBread!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1174841901 0 :jix__!unknown@unknown.invalid NICK :jix < 1174842352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mrng < 1174842378 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hws t gng? < 1174842505 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :plng btz www.bts2.nt... addktv fr sch a trvl gm < 1174842516 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whooops i forgot vowels! < 1174844383 0 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1174845305 0 :sebbu2!n=sebbu@ADijon-152-1-41-44.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1174846411 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1174851687 0 :UnrelatedToQaz!n=chatzill@host86-148-61-2.range86-148.btcentralplus.com JOIN :#esoteric < 1174851745 0 :UnrelatedToQaz!unknown@unknown.invalid PART #esoteric :? < 1174852653 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...alright. < 1174852691 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I need to compile a list of all Unicode characters... and sort out the ones that are "symbolic" and those are "alphabetic". < 1174852711 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...basically, the ones that work like !@#$%^&*() and the ones that work like letters. < 1174852720 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...including all the combined forms. < 1174853020 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that sounds like a rather nontrivial task < 1174853048 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a list of 256X256 characters, some of which don't exits... < 1174853064 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :*exist < 1174853246 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it indeed does. < 1174854448 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1174854485 0 :nazgjunk!unknown@unknown.invalid QUIT :Client Quit < 1174854503 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1174855064 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...believe it or not... I've not included ideas that I like from PERL into Sophia. Yes... the apocalypse is nigh. < 1174855092 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: actually, the unicode people have already decided for you and any library that supports unicode properly should have a function to find out. < 1174855191 0 :wooby!unknown@unknown.invalid QUIT : < 1174855205 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :oh... well cool... < 1174855232 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :later I'll need a way to distinguish punctuation-type glyphs from letter-like glyphs... < 1174855238 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :and spaces. < 1174855583 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that also exists < 1174855588 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hey, feesh: http://www.nonlogic.org/dump/images/1174851872-chainbrain.png < 1174855594 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :finally got around to inking it < 1174855785 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :whoops, wrong window < 1174855903 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's an idea for a CD cover for a band a friend of mine is in called "Chainsaw Brainsaw", if anyone's wondering < 1174855953 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...typical keyboards need more unicode symbols on them... < 1174855978 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :we could use a lot of them in programming... there's only so many funny-looking characters you can use in ASCII before you run out. < 1174856052 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I don't really want any more unicode symbols unless I get more *keys*. It's time consuming enough coding in languages with excessive punctuation like perl < 1174856183 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well, that's what I meant. < 1174856187 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :more... keys. < 1174856219 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh. Then in that case, I wholeheartedly agree. < 1174856235 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :you could even digitize the whole labelling of symbols... using lights to label each key. So then you could set up your own keyboard layout. < 1174856238 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :plus, more keys = more interesting emoticons < 1174856259 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: sounds like the fabled "optimus" keyboard < 1174856269 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...plus, I want a huge organ-sized keyboard... so I look more technical. < 1174856303 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I like the idea of two "tiers" of keyboards, like they show operators using in "The Matrix" < 1174856334 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :or... if you just had like... switched. You could switch out certain layouts. < 1174856339 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :these additions might make coding with a laptop suck < 1174856339 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :switched - switches < 1174856374 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I wonder where you could some of these weird keyboards. < 1174856426 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I have a German keyboard a friend of mine got for me when he was on vacation, but it's PS2, and I have a mac. < 1174856443 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :macintosh: EVERYTHING, and I mean everything is USB < 1174856445 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :more types of brackets would be good < 1174856458 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: monitor? :-P < 1174856481 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :actually, my monitor plugs into my USB port... < 1174856494 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it *also* plugs into DVI and Firewire < 1174856504 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :There are the << and >> unicode symbols... although those kinds of brackets can be done with just double angle brackets < 1174856506 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the cable coming out of this thing is a beast < 1174856520 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1174856558 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... inverted question marks and exclaimation points could be used for brackets. < 1174856567 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I've zip-tied together the six cables that I have to plug into my laptop to "dock" it at my desk into a huge umbilical < 1174856586 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :power, ethernet, mini-DVI, usb, firewire, audio < 1174856592 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :The proper symbols for and, or, not, xor, union, intersection, exponent, etc would be good too. < 1174856601 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :alas, it is time for me to go again. < 1174856604 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and then USB and firewire go directly to various hubs and such < 1174856627 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: like ¬ for not and so on? < 1174856709 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION demands a huge multi-tiered, digitally-labeled keyboard. < 1174856713 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...with pedals. < 1174856752 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ooh, that would be fun < 1174856763 0 :nazgjunk!unknown@unknown.invalid QUIT :"switching to kde" < 1174856770 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pedals for alt, shift, control and so on would be fun < 1174856787 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah, there's a whole slew of Unicode math operators that could be put on keyboards... it would take forever before you exhaussted your repetoir of single-character operators. < 1174856802 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... I'm sitting on my bed... so my feet aren't in a position for pedal-mashing. < 1174856830 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is sitting at a desk < 1174857067 0 :nazgjunk!n=htitan@wikipedia/Nazgjunk JOIN :#esoteric < 1174857236 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wtf... php's serialize("osososo") returns s:7:"osososo"; < 1174857477 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what i'd like even more than more keys in a keyboard would be to lose the "ergonomic" fact that keys are not directly on top of each other < 1174857488 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes not diagonally positioned either < 1174857496 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the are pretty randomly dispersed there... < 1174857508 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but then again, if you ask me, everything sucks < 1174857825 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the pattern for a keyboard actually does make a fair amount of sense considering where the joints are in your hands < 1174857888 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have different joints in my left and right hand? < 1174857898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm not a mutant you know < 1174857923 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :your hands are mirror images of one another < 1174857928 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1174857941 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now why isn't the keyboard symmetric then? < 1174858005 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :because not having any keys vertically aligned makes it easier to create mechanical linkages that swing a type-block into position on an ink-impregnated tape, and re-learning typing sucks < 1174858021 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it is just that simple < 1174858035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can type on this keyboard, though it doesn't feel natural... but when playing the beepiano... oh the pain < 1174858075 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the what? < 1174858078 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't agree to either of those but i understand many would < 1174858097 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :www.vjn.fi/s/beepiano.py < 1174858106 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh, that thing < 1174858118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ya < 1174858174 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is getting pretty good at it < 1174858216 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I never learned to play a normal piano, so it doesn't seem that unnatural when I use something like "Musical Typing" < 1174858234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :musical typing? < 1174858266 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's what they call it when you map the keyboard to musical notes in software like Garageband or FLStudio < 1174858283 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oki < 1174858317 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've only seen that done in 2 ways, one is note name -> tone, the other is the piano keyboard emulated on the keyboard < 1174858324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they are both idiotic < 1174858331 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and make it impossible to enjoy playing < 1174858331 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I really want to learn how to use a proper tracker application < 1174858341 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in windows it's easy < 1174858347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1174858347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :use? < 1174858350 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :then you can type musical notes in hex < 1174858354 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1174858382 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :beepiano uses the layout of the accordion... quite natural since it is the exact same layout < 1174858406 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except of course the layout of the keyboard is, as i said, pretty random < 1174858419 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the accordion of course has a more natural alignment of keys < 1174858468 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :plus, rather than having more keys i'd like to have a better key layout... qwerty makes no sence < 1174858481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*sense < 1174858541 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i asked whether there are any better layouts than qwerty for sale in the shop where i bought my laptop... the salesman had no idea what i meant < 1174858558 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I fail to see how "making sense" matters in a keyboard layout. Any layout is ultimately arbitrary, and using the keyboard is simply a factor of memorizing the finger movements for each character and groups of characters < 1174858561 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :when i explained he said he'd never heard there could be anything else < 1174858643 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :Qwerty is superior to any alternative purely because it is an accepted standard and by learning it you can type on over 99% of keyboards in existence. Using an alternative renders your typing skills useless when faced with an unknown layout or somebody else's keyboard. < 1174858658 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :not to mention that alternatives are usually harder to find... < 1174858697 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, once again that's something i don't care about, i'd just like to have a better keyboard :\ < 1174858747 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm a great deal more interested in the feel of the keyboard- firmness, key travel, etc, than the letters on the keys < 1174858762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :plus the human brain can adapt more than one keyboard layout easily < 1174858772 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*to < 1174858810 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :typing on a keyboard from the 70's is awesome, because the keys are big, have cupped surfaces, and they move like half an inch < 1174858885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's another thing i must disagree :P everybody always says "this keyboard sucks... my keyboard is soooo much better" or something... i can feel the difference of course... but you get used to a new feel in 5 secs :\ < 1174858895 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*with < 1174858974 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :a good feel is determined by something you want to be using for 8 hours at a time, not five seconds < 1174859006 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :do you feel a two-by-four is as comfortable to sit on for that period as an overstuffed couch? < 1174859067 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... i sleep on 2 mattresses... but i feel just as good sleeping on the floor... maybe it's just me < 1174859085 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1174859120 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, i'll rephrase my initial opinion: i hate qwerty because i'm different. < 1174859152 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1174859159 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that is a significantly more valid criticism < 1174859167 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1174859222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i used to sleep on the floor actually, since it's easier to get up that way, but my mother told me repeatedly i should sleep on a bed, so it's become a habit < 1174859229 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i've never seen any use for beds < 1174859306 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll continue programming now, though php sucks real bad :< < 1174859321 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I dislike sleeping on the floor less because it's hard and more because it provides inadequate lumbar support. My back always hurts afterwards < 1174859340 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it does if you're not used to it < 1174859344 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :perhaps if it was curved properly, it'd be comfortable < 1174859365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but people who've started sleeping on the floor say they feel much better < 1174859400 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i've got to agree, since after a few nights it does feel a lot more natural < 1174859444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat was it you who said php is useful of smth? < 1174859449 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have a lot of problems :) < 1174859466 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I use PHP occasionally. I might be able to help < 1174859497 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :my main languages are Java, PHP, and BASIC, actually (which doesn't make me too popular here sometimes. ;)) < 1174859516 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm getting pretty handy with Javascript, though < 1174859523 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... < 1174859530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :those are the 3 most hated languages probably :P < 1174859535 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1174859541 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so.... here's an idea for parallel computations... like... < 1174859550 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :among people who haven't used them at least < 1174859551 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :say you have a function like.... < 1174859571 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but I hate C/C++ with a unique passion, so it all fits in < 1174859603 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :my three least favorite languages are, in order, ruby, C, and C++ < 1174859613 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :func(x, y, z) := (2 + x) - (y +( z-2)) < 1174859623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :javascript also... i once tried something with javascript... this guy saw me open a javascript page and literally started screaming javascript is evil < 1174859631 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1174859632 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :couldn't you split off a few quick threads and chomp away at this function in non-linear bits? < 1174859648 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: seems like that could work < 1174859651 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :clever < 1174859664 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is weird, since i hear it's a pretty decent language, java with classes made optional (right?) < 1174859688 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :even if parts at the beginning of the function are required before later parts can be computed... you can use the concept of message queues and futures to represent data dependences. < 1174859689 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: the interesting thing is, most people that honestly try those languages either don't mind them or at least find some aspects they like < 1174859695 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: that's pretty much it < 1174859709 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread i think oerjan or someone told you that a few days ago < 1174859725 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-snicker- must have missed it then. < 1174859743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that things in parens can be split into different threads with thread per paren basically < 1174859751 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....I'm just... now sure how the interpreter would logically split the threads... < 1174859756 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :aah. < 1174859762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's how < 1174859797 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :though of course not literally parens, but pieces that parens and precedence separate from the whole < 1174859822 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :the "parens" of the parse tree. ;) < 1174859831 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :anyway, what was this PHP thing you were having difficulty with? < 1174859835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... yes :P < 1174859851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat i'm trying to use serialize < 1174859859 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it sucks, for one, but that's not the problem < 1174859867 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so... each expression could pre-emptively evaluate to liek a future thing to the surrounding threads... which will collect computations for when its thread finishes... sounds fun. < 1174859869 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i can convert to my own good function later < 1174859889 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, i like the idcea < 1174859899 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now when you make that explicit somehow < 1174859914 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and... somehow allow the programmer to do... something with it < 1174859916 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...should incorporate it into Sophia somehow... along with the Actor model. < 1174859946 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat the problem is it does not work yet... i can show you the non working part < 1174859957 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :message-passing makes it somewhat simple... you just use futures that collect message names. < 1174860029 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh, since we're on the topic of language semantics, this is a partially finished language specification for a creation of mine. I call it "bullet" for now, and it's intended to be an alternative for C. http://www.nonlogic.org/dump/text/1174856252.html < 1174860041 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p626232154.txt <<< < 1174860051 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :It's more of a "serious" language than an esolang, but this channel seems like a good place to talk about it < 1174860054 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :$compiled_program is an array < 1174860059 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the parsed program < 1174860060 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads oklopol's PHP... < 1174860070 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION reads RodgerTheGreats link < 1174860081 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :oh, god. flat-file I/O sucks in PHP < 1174860105 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I literally spent 6 hours debugging a 30 line program yesterday < 1174860158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah... the fact files are flat makes it suck in a lot of places < 1174860185 0 :sebbu!n=sebbu@ADijon-152-1-82-27.w81-49.abo.wanadoo.fr JOIN :#esoteric < 1174860217 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, serialize seems to create an alphanumeric string with " and : in it (which sucks), and that should be easy to output in a flie < 1174860219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*file < 1174860263 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is quite a beautiful language i must admit < 1174860264 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1174860274 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :really? It looks nice? < 1174860284 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah :) < 1174860289 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :thanks! < 1174860308 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :there are still a lot of things to be done, like control structures and the like < 1174860313 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somehow seems a consistent language layout on the first glance < 1174860344 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do subdiv[val1:a val2:b] to [subresult:sub divresult:div] < 1174860347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :explain, please < 1174860359 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1174860365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i got it < 1174860366 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :the design philosophy is creating a language that can be compiled pretty easily and that is designed so that programming errors are either hard to make or easy for the compiler to catch < 1174860391 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah, the to [] block specifies what variables to "unload" a function's returned values to < 1174860411 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :subfunctions, lambdas? < 1174860433 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :you mean function calls on a function's return values? < 1174860445 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mm no < 1174860462 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure what you mean, then < 1174860499 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, def a[][def b[]returns[double:c][c=0.0];print:stdio[b[]]] < 1174860521 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in case ';' can be used like that and nl's are optional < 1174860597 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure what that's useful for aside from adding some form of function scoping. newlines or : act as an expression terminator like ; does in a normal curly-bracket language < 1174860633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :_list_=[1 2 3 4 5]; _doubled_=map[def[double:a]returns[double:ret][ret=a*2] _list_] < 1174860635 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :however, I don't see any reason that would otherwise be invalid < 1174860666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :functions sans names, lambdas, exist? < 1174860687 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(that's probable not a good explanation of a lambda though :)) < 1174860692 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*probably < 1174860701 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :this isn't an object-oriented language, however, so a function can't be manipulated as a list element < 1174860701 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :s/explanation/definition < 1174860717 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and functions must be assigned a name, so no lambdas < 1174860723 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay, pointers? < 1174860728 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :both of those can make compilation quite complex < 1174860754 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :_list_=[1 2 3 4 5]; def dbl[double:a]returns[double:ret][ret=a*2]; _doubled_=map[&dbl _list_]; < 1174860773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that is very easy to compile < 1174860778 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pointers will probably exist, but I don't want to make their use a main feature of the language- they have a tendency to create unreadable code < 1174860803 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i love list operations with lambdas :) < 1174860807 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1174860814 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, indeed i don't know whether it's that readable < 1174860825 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :what do you think about the structure of strings and arrays? < 1174860837 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i just like to do everything creatively... so... maybe i use that as an obfuscation feature more like :P < 1174860853 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I think 1-indexed arrays make algorithms a lot clearer and might help avoid off-by-one errors < 1174860908 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do you have def dbl[double:x]returns[double:ret][ret=2*x] main[][print:stdio dbl 5.0] ? because [] kinda seems like a list everywhere < 1174860917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah but yeah, a value is not [value] < 1174860923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... forget what i asked < 1174860961 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... well, indexing is often errorprone anyway < 1174860967 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i don't like 1-indexing < 1174860994 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :in most cases, a [] set indicates a series of elements or expressions of unknown length, but since this is a compiled language the "lists" cannot be manipulated at runtime < 1174861002 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :any particular reason? < 1174861011 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually, can't think of any < 1174861013 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1174861017 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :maybe habit then < 1174861048 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but for god's sake don't make dim smth(-3 to 50) as integer :P < 1174861062 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(if that's the basic array syntax) < 1174861096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :strings and arrays, hmm, i gotta read a bit < 1174861115 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :my main project at the moment is the creation of something that can do what structs do, and fleshing out a vague idea I had for "algorithm prefabs" that you can plug code into like parameters to save coding time < 1174861132 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1174861139 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm a bit dense, can you elaborate? < 1174861162 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you have structs in the lang? < 1174861182 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :not yet < 1174861198 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :arrays are 1-indexed. for example, an array of size 10 has cells 1 through 10. < 1174861198 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cell 0 always contains the size of the array, not counting cell 0. < 1174861206 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was actually going to suggest you do that < 1174861211 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if using 1-indexing < 1174861217 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :but I need something *like* them to discourage rampant use of pointers and to make manipulating data easier < 1174861222 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1174861274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you might do pass by pointer like most "clean" langs < 1174861282 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :java for one < 1174861283 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :possibly < 1174861306 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :java's "references" are a lot safer than pointers, because you can't do math on them < 1174861309 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or then... you could make it default to copy... but not really copy, just ensure no mutation is done < 1174861339 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :somehow make pass by pointer, but make the programmer tell if he really wants to use the same object < 1174861343 0 :sebbu2!unknown@unknown.invalid QUIT :Connection timed out < 1174861345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not object... but thing < 1174861353 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'm still thinking about it < 1174861370 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :pointers are very powerful and very destructive. I need to fit them carefully into the language < 1174861394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you want them to be verrry explicit when used if aiming for usability < 1174861432 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1174861444 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"\"algorithm prefabs\" that you can plug code into like parameters to save coding time" something like a macro? < 1174861452 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or something completely different? < 1174861472 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I don't know yet < 1174861479 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it's still a subject of thought < 1174861494 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw did you see my problem in the code? unserializing doesn't work, since i don't think i mentioned what the problem is :D < 1174861528 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.vjn.fi/pb/p626232154.txt < 1174861533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the first echo prints Array < 1174861541 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the last one does not < 1174861549 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1174861552 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1174861583 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the last one should try to echo a data structure... i don't think that code makes sence : ) < 1174861589 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I'll take another look at it in a bit- I need to grab some food < 1174861594 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :kay < 1174861790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :okay... as i well know, fgets() does not read the whole file but until the first nl < 1174861835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's my problem, unserialize fails because it is given a broken string to unserialize < 1174861867 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... now how do i read a whole file? < 1174861870 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1174861889 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm using file_get_contents on the line above... i think my problem's solved :P < 1174861983 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :workz. < 1174862079 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :you could use a higher level version of a pointerisms. < 1174862098 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :www.bots2.net is a nice game, but something i really dislike about it is that it discourages using scripts, so i'm making my own game in which you MUST use a script < 1174862148 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's an online game where you can create a bot by submitting a piece of code that determines how your bot fights and what kind of stuff it like to use < 1174862178 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :well... if everything is a pointer to its data... the only other reason I could think of using pointers is to alter out-of-scope variables. < 1174862193 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :which you could do with a symbol construct. < 1174862198 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the bots automatically fight according to the tactics you code for them, tactics including both the actual fighting situation tactics and off-fight equipment buying etc < 1174862220 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :symbol construct? < 1174862270 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :have a datatype that literally represents a variable. < 1174862280 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the only thing you can do in the game is check how well your bot is doing and read details about it's fights... and if you find something you can improve, you either code a new bot or change the code for the old one < 1174862292 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1174862310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so pretty much a java-style pointer only made explicit < 1174862323 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :OR a c++ reference < 1174862331 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so... if you wanted a swap function that swaps the values of two variables... you could pass it symbols. swap(, ) --assuming <> is the syntax for denoting a symbol. < 1174862437 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :but... Java/C-like semantics are a little weird to me... so my ideas might not match up with the model of computation there. I mostly familiar with "scripting" languages and how they work. < 1174862478 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah, and you might have template[];def swap[symbol[]:a symbol[]:b][ temp=a;a=b;b=temp] < 1174862541 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"yeah, and you might have" might be a bit out of place, i wrote that code for too long :) < 1174862559 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it's not that much < 1174862598 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :except, i use <> for use of templates and the symbol thingie quite mixedly :P < 1174862605 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... it kinda suxxored < 1174862731 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so... basically my concept of a variable is something like an entry in a hash table... < 1174862745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1174862749 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :exept... in this case... you have a way to conceptually refer to "that name in the hash table"... so you can pass it around as data and alter it. < 1174862766 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you find it obvious you can access the name of a variable, probable < 1174862769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*probably < 1174862785 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've just recently adapted to that < 1174862845 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and duck typing... was very hard to understand the logic first < 1174862851 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :in most languages I've delt with... it's hard to directly pass an out-of-scope variable to a function for it to alter... mainly because it's not terribly useful. < 1174862866 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-snicker- static typing still confounds me to this day. < 1174862874 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :duck typing just... makes sense to me. < 1174862876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i did not understand why two variables with the same name should have anything in common in separate scopes < 1174862890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, when you thing in hash tables, it does make sence < 1174862907 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I have no clue how compilers represent variables... < 1174862931 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :and a lot of restrictions brought about by static typing make no sense to me... < 1174862934 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, assign a number for each variable < 1174862948 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the name of a variable is not an essential part of it < 1174862956 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it is in scripting langs < 1174862976 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but it's certainly not in a theoretical sence < 1174862979 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*sense < 1174862993 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... does the number contain information about its type? < 1174863010 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it might < 1174863030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :to enable dynamic typing you have to < 1174863084 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, the name is just a mnemonic for the programmer, which is why there is no similarity between two 'a' variables if in different contexts < 1174863085 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :makes sense... the only purpose compilation serves is to make things quicker... and a common trend is that using the properties of binary to do calculations gives you tremendous speed ups. < 1174863158 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, not just compilation in it's normal meaning < 1174863192 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :with duck typing, the name is pretty much everything... < 1174863195 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd not save the name of a var anywhere even if just making a parse tree < 1174863223 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :computations are blind to any concept of type... unless they specifically go about plundering the data structure to find its type. < 1174863310 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, duck typing can be done without names in the parsed form, you just have to ensure vars with the same name get the same index number if you represent an object as a list of it's fields < 1174863343 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :most of the safety static typing gives you seems.... unessecary. < 1174863353 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unnecessary < 1174863357 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but you're getting closer :) < 1174863370 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :... < 1174863380 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah, TYPO LOL < 1174863381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've seen you say nessicary many times :D < 1174863390 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-nod- habits. < 1174863391 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nessecary is in-between < 1174863395 0 :nazgjunk!unknown@unknown.invalid PRIVMSG #esoteric :"unessecary" is one beautiful piece of typo < 1174863401 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I've been catching myself more with that one... < 1174863429 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have caught you 2 times with nessicary, so i don't have that much proof :) < 1174863529 0 :GregorR!unknown@unknown.invalid NICK :_D6Gregor1RFeZi < 1174863539 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I have a hard time seeing myself using a static typed language soon... maybe Haskell - I like its type system. < 1174863542 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...but to reply to what you actually said, static typing is not the exact opposite of duck typing :P < 1174863562 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :it's... half the opposite of it. :) < 1174863563 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well < 1174863570 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my terminology might be wrong < 1174863574 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's often wrong :< < 1174863580 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :duck typing basically means dynamic typing and strong typing. < 1174863585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1174863595 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so... it's half the opposite. < 1174863598 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1174863609 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm, why strong typing? < 1174863633 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd say it's a bit different from any of those concepts < 1174863667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... i'm actually not exactly sure what's what < 1174863678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :curse this brain of mine < 1174863751 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :duck typing determines what can happen solely what something can do. < 1174863757 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Duck_test < 1174863767 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :*on < 1174863846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, i liked your analogy of a hash table better < 1174863874 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, i know what duck typing is, but i confused weak/strong and static/dynamic typing < 1174863902 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :duck typing however i think is something different < 1174863945 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can have weak typing with duck typing, and you can have strong typing with duck typing < 1174863947 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I think weak typing means the type is based mostly on how its stored in the computer. So, in weak typing, an ASCII character and a short integer are effectively the same thing. < 1174863982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1174864004 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :or at least, something similar to that. < 1174864007 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in weak typing you store the type, since the same var can carry any value < 1174864017 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at different parts of the program < 1174864029 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*any type of a value < 1174864107 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ah... basically the type system is... heh... strong. < 1174864122 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't impose artifical restrictions? < 1174864130 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :bah *isn't < 1174864152 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, you might describe it like that < 1174864224 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :strong typing usually just means you type 'MY VARIABLE is an integer and it's value is 5' instead of 'MY VARIABLE has the integer value 5' < 1174864287 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :the difference between static and dynamic typing is generally more straightforeward. < 1174864395 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, it's whether you resolve types at runtime or not < 1174864453 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :static typing disables function a {return 0 if (param==0) else return "non zero :<<"} < 1174864466 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...my biases exposure to scripting languages makes it seem weird that anything should trip an error before being ran - aside from syntax errors. :P < 1174864503 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :*biased < 1174864533 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... you might wanna redefine 'syntax error' in the dict in your head then :) < 1174864625 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... would incompatable types constitute as a syntax error in static typing? < 1174864649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you mean can there be implicit conversions? < 1174864658 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"4"+1 < 1174864662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and the like < 1174864663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :? < 1174864671 0 :nazgjunk!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1174864705 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... no they wouldn't, i said wrong there :) < 1174864743 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :syntax error of course can't be anything that depends on something defined 500 lines above in the code < 1174864756 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ah... alright. < 1174864772 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah, there can be implicit conversions. < 1174864776 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I think. < 1174864778 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1174864827 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :string s = get_string(); int i = get_int(); print s + i; even would be perfectly legal < 1174864834 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*might < 1174864862 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :BUT, it's known at compile-time whether an integer can be added to a string < 1174865043 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Perl is pretty liberal about type conversitions... < 1174865080 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :but that's a result of very little operator overloading - most operators do a very specific thing. < 1174865174 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :all i know about perl is that it's pretty awesome :) < 1174865402 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Perl is... humble. < 1174865425 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't push an ideology on you. < 1174865490 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :from what i've heard it's a language where you can expect someone who knows it not to know the whole language, but only a subset of it < 1174865504 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :which is nice, because you can... suprise people :) < 1174865626 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I can't think of any uniform idea that Perl has about itself... Scheme is EVERYTHING IS DATA AND ALL SHALL BE THE LIST AND ALL SHALL BE CONSISTENT, Smalltalk is EVERYTHING IS AN OBJECT AND ALL THE LANGUAGE FEATURES SHALL BE EXPRESSED ENTIRELY IN THIS WAY WITH NO EXCEPTIONS, Python is THERE IS ONLY ONE WAY TO DO THINGS AND THAT WAY SHOULD MAKE SENSE AND EVERYHING SHALL BE EASY TO READ. < 1174865629 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...lots of caps. < 1174865703 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I guess Perl's unifying creed is that nothing is unified. < 1174865708 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :some dislike them, i don't see any need to have two different caps < 1174865714 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe :) < 1174865730 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I wish there were three cases. < 1174865739 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :..and one of them was really squiggly. < 1174865768 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :python actually isn't exactly "one way to do things" < 1174865784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but "there is always the one obvious way to do things" < 1174865807 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i make about 10 redundant lambdas per function < 1174865839 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they make the code less readable, but whaddyagonnado when they feel so good :\ < 1174865855 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mmmmmh i gotta make a few lambdas right now < 1174865888 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :although Python is my most heavily used language... I rarely agree with any of the scripture. < 1174865922 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :There's rarely one obvious way to do things, otherwise we'd all use the same language, and there would be no such thing as "new ideas". < 1174865943 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :pretty sexy, lambda a,b,c:lambda i:a(b(c(i))) < 1174865957 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-nod- I like munging up Python just because I can.. < 1174866031 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's one of the few languages i can just have fun with... create random functions full of lambdas and... see them do what i meant them to do :D < 1174866050 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with type safety you have to know what you're doing.... so you can decide that on the fly < 1174866079 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah... duck typing has tons of uses in my experience. I use it all the time to play around with the basics. < 1174866118 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :like... overriding the basic semantics - file-like objects, iterators and the like. < 1174866153 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my python version does not allow a lot of the fun stuff... i couldn't get 2.4 or 2.5 to work < 1174866170 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but... maybe someone installs me linux some sunny day :) < 1174866187 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... right now I need a language that's faster than Python, fun to play with, and easy to set up on Windows. < 1174866196 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :as I want to make some serious language implementations... < 1174866218 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :usually the answer is C for language implementations... but I don't really want to deal with C. < 1174866233 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, if you compile, you can use anything < 1174866239 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but i suppose you won't < 1174866254 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :doubt it... < 1174866269 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Sohpia is far too... dynamic to be static. :P < 1174866273 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so... a script language running a script language... quite ridiculous < 1174866274 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :*ph < 1174866289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :compilation does not mean static typing < 1174866296 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know what you meant < 1174866299 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :yeah... that's why I don't want a "serious" language that I plan on using to be in something like Python. < 1174866329 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ah... bleh - I sort of associate compilation with static typing... heh, habits. < 1174866347 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Lisp is compiled (for the most part) but is dynamic < 1174866353 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Common Lisp anyways. < 1174866353 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, they have a sort of a connection < 1174866359 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but < 1174866375 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1174866389 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :heh... I'm nowhere near familiar enough with C to attempt transforming a language into it. < 1174866391 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you know the connection. < 1174866430 0 :Figs!n=Figs@pool-71-126-177-130.washdc.fios.verizon.net JOIN :#esoteric < 1174866431 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...or I could go with a C-read VM or something... but it just seems pointlessly convuluted. < 1174866448 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Wow, this exists :P < 1174866465 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :GOOD DAY SIR < 1174866471 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :do it in python, without inner functions or lambdas, and give it to me for python -> c conversion < 1174866475 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :AND WELCOME TO THE LAND OF MOST CURIOUSITY. < 1174866481 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've done a lot of vb -> c at least :) < 1174866494 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Hello. < 1174866498 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Hello. < 1174866547 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I could use a decently fast compiled language that suits my likings and write an interpreter in it... < 1174866569 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :maybe... Common Lisp? I plan on making use of concurrency so maybe Erlang. < 1174866587 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what's going on? < 1174866599 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :toiling with language implementations... < 1174866613 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :same here < 1174866623 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what type of language ;) < 1174866637 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... kind of OO-ish... but not annoyingly so. < 1174866645 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you go first, Figs < 1174866696 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm working on a language that will be very easy to extend by adding, for example, new qualifiers to object types, etc. using meta programming < 1174866730 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :input code will be output in C++ < 1174866743 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm working on parsers right now < 1174866754 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(got bored and hit StumbleUpon and found this ;p) < 1174866759 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :http://esoteric.voxelperfect.net/wiki/IRP < 1174866762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1174866995 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we had #irp for that for a while but it died quite quickly :D < 1174867018 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ah :P < 1174867030 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :"With his beard in the mailbox" O_o < 1174867041 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :stumbleupon gives me some weird shit sometimes