< 1174609710 0 :nazgjunk!unknown@unknown.invalid QUIT :"Leaving" < 1174610026 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I don't think humans function in a non-axiomatic way, we're just orders of magnitude more complex than any AI ever constructed < 1174610612 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :humans function in a non-axiomatic way, unless you consider the laws of physics to be axioms. < 1174610631 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :humans, after all, are physical objects, and not mathematical abstractions like computer programs. < 1174611543 0 :sebbu2!unknown@unknown.invalid QUIT :Client Quit < 1174611982 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I would say... equating human behavior to algorithmic processes is... dangerous < 1174612001 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :but... highly common in this kind of area. < 1174612796 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :http://rendell-attic.org/gol/tm.htm < 1174613569 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1174613976 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I don't see anything particularly problematic with saying that humans are axiomatic machines- we're complicated enough to make reliable modeling difficult, but it doesn't make us magical. < 1174614012 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :but we are < 1174614017 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :our axoims change < 1174614054 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :any complex ordered system appears random when viewed without enough context < 1174614228 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :things like intuition are simply algorithms that function below our level of consciousness. Just because we can do things without "thinking in algorithms" (at a high level) doesn't mean they don't exist. < 1174614330 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :and I tend to write off the things that human brains are good at that conventional software fails at as a function of a dramatically different approach to the problem. Computers and brains do some of the same things, but they do so in completely different ways. < 1174615118 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: you can fuck with human brain in arbitrary ways and it still works. < 1174615122 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: it's a physical object. < 1174615792 0 :wooby!unknown@unknown.invalid QUIT : < 1174617592 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :One huge difference is the way signals are processed... < 1174617688 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Brains reconfigure their physical properties at frequent intervals... use electricity and chemicals to form reactions... and have totally different methods of operation. < 1174617717 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :At a higher level these differences become less signifigant - however they are still there. < 1174619226 0 :Sgeo!n=sgeo@ool-18bf6ca9.dyn.optonline.net JOIN :#esoteric < 1174619844 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :SII(S(KK)(SII)) < 1174622447 0 :SevenInchBread!unknown@unknown.invalid QUIT :"haaaaaaaaaa" < 1174626700 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :good night everyone < 1174626724 0 :wooby!n=alan@cpe-66-67-60-51.rochester.res.rr.com JOIN :#esoteric < 1174627144 0 :anonfunc!n=dholman@ppp-67-121-238-228.dsl.chic01.pacbell.net JOIN :#esoteric < 1174628080 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1174629357 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1174630096 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes to point out that the book "Maths made difficult", which started a discussion of how the word "maths" is ridiculous, actually is named "Mathematics made difficult". < 1174630300 0 :GreaseMonkey!n=Greasemo@222-154-157-108.jetstream.xtra.co.nz JOIN :#esoteric < 1174630772 0 :thematrixeatsyou!n=Greasemo@222-154-178-202.jetstream.xtra.co.nz JOIN :#esoteric < 1174630810 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Nick collision from services. < 1174630844 0 :thematrixeatsyou!unknown@unknown.invalid NICK :GreaseMonkey < 1174630875 0 :RoboMonkey!n=RoboMonk@222-154-178-202.jetstream.xtra.co.nz JOIN :#esoteric < 1174630948 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~bf ,[.,]!Test < 1174630974 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :what bot is that for? < 1174630978 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~exec execfile("/bot/scripts/bf.py") < 1174630983 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :~bf ,[.,]!Test < 1174630983 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :Test < 1174630986 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :k < 1174631766 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn it's annoying reading the logs when you want to comment on everything people said while you were asleep. And now they are. < 1174632086 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :uhuh < 1174632876 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :your mom's asleep. < 1174633889 0 :anonfunc!unknown@unknown.invalid QUIT : < 1174633923 0 :Sgeo!unknown@unknown.invalid QUIT :Remote closed the connection < 1174635059 0 :GregorR!n=GregorR@c-24-22-56-63.hsd1.mn.comcast.net JOIN :#esoteric < 1174636682 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :afk, food < 1174636799 0 :clog!unknown@unknown.invalid QUIT :ended < 1174636800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1174636864 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :atk, coffee < 1174637287 0 :ShadowHntr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1174637320 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :back < 1174637376 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :front < 1174637559 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :up < 1174637751 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :vinn < 1174637961 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :asdf < 1174638058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :jkl < 1174638142 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :you forgot the semicolon < 1174638155 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :jklø < 1174638167 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :;;;;;;;;;;;;;;;;;;;; < 1174638171 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my keyboard isn't English :) < 1174638177 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1174638188 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :yuiop < 1174638201 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :what keymap is it? < 1174638205 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :mine's qwerty < 1174638213 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :norwegian qwerty < 1174638220 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :oh ok < 1174638247 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the numbers and english letters are in the same place < 1174638378 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :ok, i'm learning C++. any suggestions on what to do with it? < 1174638403 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't know C++ < 1174638460 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but the obvious answer is to create an esoteric language interpreter :) < 1174638532 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or a compiler into C++ < 1174638703 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :C++ is esoteric enough < 1174638752 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm not so sadistic as to suggest you write a C++ compiler < 1174638850 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a cellular automaton perhaps? < 1174639742 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... < 1174642567 0 :RoboMonkey!unknown@unknown.invalid QUIT :Client Quit < 1174642593 0 :RoboMonkey!n=RoboMonk@222-154-178-202.jetstream.xtra.co.nz JOIN :#esoteric < 1174643778 0 :ShadowHntr!i=sentinel@wikipedia/Shadowhntr JOIN :#esoteric < 1174643931 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :meh, i'm bored < 1174643933 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :\viagra < 1174643934 0 :RoboMonkey!unknown@unknown.invalid PRIVMSG #esoteric :GAY SEX BIG COCKS HORSE FUCK GOATSE.CX CHEAP XANAX HOT PR0N GAY SEX HORSE FUCK BRITNEY SPEARS POOOOOOOOORN RUB GAY BOYS POOOOORN FLIRT TAPE ERRECT1ON HORSE FUCK GOATSE < 1174643952 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bored and perverted :) < 1174643973 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :it's me taking the mick out of spammers < 1174644055 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :there's 20 different messages < 1174645255 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :gonna go sleep, gnight < 1174645429 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"ext2 > ntfs" < 1174645437 0 :RoboMonkey!unknown@unknown.invalid QUIT :Remote closed the connection < 1174645490 0 :sebbu!n=sebbu@ADijon-152-1-52-136.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1174645759 0 :ShadowHntr!unknown@unknown.invalid QUIT :Client Quit < 1174653660 0 :sebbu!unknown@unknown.invalid QUIT :"reboot" < 1174654657 0 :sebbu!n=sebbu@ADijon-152-1-52-136.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1174658160 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1174658244 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1174659786 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :\help < 1174659794 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's gone < 1174660271 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was thinking about the rubik's cube... and invented A TOTALLY NEW WAY OF PROGRAMMING WHERE YOU DESCRIBE A PROBLEM AND LET THE COMPUTER SOLVE IT ON IT'S OWN! then i come home and pick a fucking random book, and it's about prolog............ < 1174660285 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what are the odds :< < 1174660287 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really < 1174660290 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :what are they? < 1174660350 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1174660411 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't say that humans had any more power than Turing machines. < 1174660427 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure i had a cooler way of describing problems of that nature... a rubik's cube is hell to describe to a computer in most languages < 1174660437 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Just look how long it took for us to solve Fermat's Last Theorem. < 1174660463 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is where oerjan comes in and shows me a haskell 2-liner making my language redundant < 1174660479 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1174660488 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :hmm, rubik's cube... < 1174660528 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"the haskell puzzle game library" < 1174660561 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :rubik's cube is hard to represent as linked lists (probably because i suck though) < 1174660577 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because you get confused because there is no "up" < 1174660585 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you get my meaning < 1174660587 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually... < 1174660599 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :consider the bit of plastic in the middle... < 1174660614 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you can do any move while keeping that piece of plastic in the same position < 1174660657 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :this suggest that a 3*3*3 array is a good representation < 1174660676 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :clever < 1174660703 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, no language i know of makes let's you define rules that understand the symmetry < 1174660724 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, you have to do some manual abstractioning to be able to use all rotates the same way < 1174660725 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1174660730 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i dunno if i make any sence :) < 1174660766 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1174660778 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually, no... < 1174660821 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I think you can write a function in Haskell that re-arranges the meaning of the axes for another function < 1174660830 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :that helps a lot < 1174660904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true, i like making new languages more than using the old ones though, even though it's rarely necessary :) < 1174660961 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: don't learn C++ < 1174660972 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oops, that was for greasemonkey < 1174660975 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :guess he's not here < 1174663664 0 :jix!n=jix@dyndsl-080-228-176-007.ewe-ip-backbone.de JOIN :#esoteric < 1174664548 0 :jix__!n=jix@dyndsl-091-096-033-244.ewe-ip-backbone.de JOIN :#esoteric < 1174665057 0 :jix!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1174665131 0 :RodgerTheGreat!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1174666174 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm pretty sure i could get prolog easier to program in... but even more sure it's already been done :) < 1174666201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since i don't really know any other lang like this but i hear there are such < 1174669135 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1174671352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how short can quicksort be made if one can use any lang? < 1174671365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can't find a K version < 1174671379 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :qs=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#) < 1174671384 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :J sucked ass ^^^^^^ < 1174671388 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in being short < 1174671490 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i managed to get it in 36 chars in oklotalk, i'm wondering if i have to improve that < 1174671948 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :28 now < 1174672120 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :qs(x:s)=(\(y,z)->y++x:z)$partition( can someone show me as short a haskell quicksort < 1174672164 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[18:36:22] oklopol: qsort (x:xs) = qsort (filter (x) xs); qsort [] = [] < 1174672164 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :[18:37:36] oklopol: well, that was probably about as short as it gets < 1174672169 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :#haskell < 1174672182 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1174672188 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :indeed a lot of whitespace < 1174672213 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :plus mine iterates through the input only once before recursing < 1174672219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i assumed they'd've understood what i meant by as short as possible (whoops cut the line in copy paste) < 1174672236 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually... < 1174672295 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't think yours works :\ < 1174672296 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :q(x:s)=(\(y,z)->q y++x:q z)$partition([];x:s->{._+$x:.__}`{x>}PS} < 1174672823 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with your code + haskell -> oklotalk < 1174672896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :whoops, {[]->[];x:s->{'_+$x:'__}`{x>}PS} actually < 1174672897 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1174672901 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :' == outer lambda < 1174672908 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :. == this lambda :) < 1174672927 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :bah < 1174672928 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1174672952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you mother! < 1174672955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*your < 1174672970 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*it is < 1174673046 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :A friend of mine invented the evil smiley < 1174673047 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::> < 1174673064 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If you want to know why it is evil, give it a filename: < 1174673071 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::> /dev/kmem < 1174673081 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok, maybe not that < 1174673097 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::> /vmlinuz < 1174673104 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has :> windows < 1174673318 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :another quicksort, oklotalk style {_~/*/`{!-_ means value < 1174674053 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, since i specified how regex lists worked just now, they might be changed radically... for example i might make explicit lambdas are xorred (in case of more lambdas) < 1174674061 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*make it explicit < 1174674116 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :You know what would be cool. < 1174674119 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Lambada calculus. < 1174674145 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but, a feature i know how to implement, list comprehensions, '1 1{!-_+!--_}' is the fibonacci series < 1174674160 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(okay, i might die making infinite lists possible :)) < 1174674283 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(\0, not \1) < 1174674292 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since it's applied as the first argument < 1174675282 0 :asiekierka!n=asiekier@nat-1.elb.vectranet.pl JOIN :#esoteric < 1174675283 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Hi! < 1174675305 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i thought of doing a "Sexy esoteric language" < 1174675308 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :with 2 words: < 1174675315 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :"naked" "female" < 1174675317 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but i doubt < 1174675319 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'm 10 yrs old < 1174675336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true, your mom might dislike it < 1174675352 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :my dad wouldn't < 1174675356 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :he likes that stuff < 1174675369 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :a "Quit" will look like this: -nakedfemale < 1174675378 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :"begin" = +nakedfemale < 1174675380 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1174675404 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"naked men" as commands might be a way to get more young women interested in esoteric programming < 1174675426 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :while naked woman - naked mens < 1174675435 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :more like < 1174675437 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :young man < 1174675443 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i wouldn't do it < 1174675445 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :just giving out < 1174675447 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :ideas for you < 1174675449 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :guys to do < 1174675450 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :it. < 1174675485 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thank you < 1174675490 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we'll promise to think about it < 1174675499 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :... tell me when done < 1174675508 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :...will do < 1174675518 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :It will be capable of writing only some words: naked, unnaked, female, male, idiot. < 1174675538 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :so, to type: nake "naked male" < 1174675541 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :will type naked male < 1174675550 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :so it's working actually < 1174675554 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but 15+ < 1174675576 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think all esolangs have a recommended age of 15+ < 1174675593 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :not all < 1174675600 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Brainf**k? < 1174675605 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Cat? < 1174675628 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :what about PS2lang? < 1174675630 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :asiekierka: what's the recommended age of brainfuck? < 1174675633 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :it wouldn't be esoteric < 1174675642 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :... except "brainfuck" word it is 7+ i think < 1174675649 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not because of profanity < 1174675656 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :??? < 1174675658 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'm from poland < 1174675667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'm from finland < 1174675674 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm from blahland < 1174675677 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bad words < 1174675678 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'm from Mars < 1174675679 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :== < 1174675681 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :who cares? < 1174675681 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :profanity < 1174675691 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1174675692 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :12+ < 1174675737 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :http://tunes.org/~nef/logs/esoteric/06.08.10 - log when i was here. < 1174675872 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :who cares? < 1174677260 0 :helios24!unknown@unknown.invalid QUIT :Read error: 148 (No route to host) < 1174678621 0 :crathman!n=chatzill@209.11.151.115 JOIN :#esoteric < 1174679047 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1174680250 0 :helios24!i=helios@gaia.quasar-net.de JOIN :#esoteric < 1174680989 0 :crathman_!n=chatzill@216.140.54.104 JOIN :#esoteric < 1174680996 0 :crathman_!unknown@unknown.invalid QUIT :Remote closed the connection < 1174681597 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1174681667 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can someone tell me a nice regex way to change all occurrances of more than one whitespace in a row into " "+(" "*(occurrances-1)) in php < 1174682052 0 :crathman!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1174682079 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes away < 1174682591 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't know php but in perl you could do s/ ( +)/" "." "x length($1)/e; < 1174682647 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*/eg; < 1174682762 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*; < 1174682799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(that last one after nbsp < 1174682803 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*) < 1174683203 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, someone in #php almost solved my problem, but it was close enough :) < 1174683234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i thought perl must have variables created for \1 etc < 1174683245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since it seems to like regexes < 1174683298 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1174683316 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hehe, they banned me on ircnet because of my nick :P < 1174683320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was ^__^ though < 1174683336 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bastards < 1174684637 0 :SevenInchBread!n=CakeProp@wikipedia/The-Prophet-Wizard-of-the-Crayon-Cake JOIN :#esoteric < 1174685495 0 :asiekierka!unknown@unknown.invalid QUIT : < 1174689339 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...hmmm... I haven't figured out the difference between lexical scope and dynamic scope. < 1174689370 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :anyone want to explain? < 1174689383 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well.. < 1174689396 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well.. < 1174689408 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :lexical scope: makes sense. < 1174689412 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1174689414 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :dynamic scope: doesn't < 1174689417 0 :RodgerTheGreat!n=Rodger@wads-5-232-13.resnet.mtu.edu JOIN :#esoteric < 1174689424 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :do you need a more in-depth explanation? :) < 1174689429 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :oh - all is revealed to me now - thanks lament. < 1174689434 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hi guys < 1174689449 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :lament, preferably. :) < 1174689459 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there are situations when dynamical scope is useful. < 1174689477 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION doesn't know the distinction either < 1174689508 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :let's say you have a nested function like < 1174689536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :f x = let g y = x + y in g < 1174689616 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and consider the expression let x = 3 in f 1 x < 1174689721 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with lexical scope, the x in the g definition will refer to the x parameter of f, whose definition contains the definition of g < 1174689737 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :..i'm sure there's an easier way to explain this :) < 1174689745 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :... < 1174689791 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :alright. I think I follow. < 1174689802 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so f 1 x == f 1 3 == g 3 == 1+3 == 4 < 1174689815 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ok... < 1174689850 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with dynamical scope, however, the x in the g definition will refer to whatever is x's value at the point g is _called_ < 1174689871 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1174689875 0 :crathman!n=chatzill@209.11.151.115 JOIN :#esoteric < 1174689875 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't make much sense < 1174689876 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which will be 3 < 1174689880 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what language uses that? < 1174689890 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :old style LISP < 1174689891 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm.... I could see that being useful. < 1174689918 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :for example. in places where you don't have closures. < 1174689925 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is a Haskell extension for dynamically scoped variables < 1174689927 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :even C isn't like that < 1174689952 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :and you want to do something like a for loop as a function... but there isn't a closure construct. < 1174689956 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eh, lexical scoping essentially _is_ closures < 1174689999 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... IO has blocks (dynamical scope) and methods (lexical scope) < 1174690044 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ALSO < 1174690070 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I found a nifty way to simulate lines without using lines in my Sophia language. < 1174690149 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :functions that don't return values will simply return the calling context (the "self" variable from the calling scope) < 1174690187 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :so any messages sent after that will be treated like a new line. < 1174690284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :another way to look at dynamical scoping is that all variables are global, but are saved and restored on function calls < 1174690311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(this shows why they are very simple to implement) < 1174690324 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... kind of messy for functional languages... but it makes sense for procedural languages. < 1174690341 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no it doesn't. < 1174690342 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :or "stackless" languages.. < 1174690361 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it only 'makes sense' in that it's practically trivial to implement. < 1174690371 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it makes sense for languages with absolutely no nesting, i suppose < 1174690406 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sighs and shakes head at lament.... :/ < 1174690464 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...reminds me of myself back when I thought pointers were evil. < 1174690514 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh, i'm not saying it's evil < 1174690521 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it is.... esoteric < 1174690528 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but as said, it makes sense to have the option of having a variable dynamic < 1174690549 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it goes against the way people normally think of programs. < 1174690558 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :thus, it makes programming harder. < 1174690567 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :same with pointers by the way. < 1174690571 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-snicker- I blame that on the programmer then. < 1174690726 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :anything is alien until you get used to it. < 1174690732 0 :_0xff!n=illusion@201.88.114.159 JOIN :#esoteric < 1174690756 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pointers are fun < 1174690819 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: spaghetti techniques are not "alien", they're just impossible to organize nicely < 1174690819 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: dynamic scoping is a spaghetti technique < 1174690834 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :One of the restrictions that I find with Python is that you can't alter anything beyond your scope... because there's nothing like a pointer. < 1174690857 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: globals, mutable objects < 1174690889 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-shrug- mutable objects are the exception... but globals are still "in scope". < 1174690900 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :um. < 1174690906 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you are confused. < 1174690915 0 :_0xff!unknown@unknown.invalid PART #esoteric :? < 1174690919 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in C, you can only 'alter' something on the end of a pointer if you get passed the pointer. < 1174690926 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in Python, it's the same. < 1174690939 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can only alter something on the end of an object if you get passed the object. < 1174690971 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking about references... there's no way to say "make all references that point to this object now point to this object"... that's sometimes useful. < 1174691000 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: in C, you can't do that to pointers either. < 1174691020 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but i see what you mean. < 1174691034 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I'm actually playing around with that a little... using ID numbers. < 1174691035 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and Python doesn't have that for a very good reason. < 1174691044 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :because Python is uber-conservative... < 1174691059 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no, because python is well-designed. < 1174691126 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-chuckle- it's well-designed if you like everything child-proof. < 1174691130 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no < 1174691134 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm not talking about child-proof < 1174691140 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :? < 1174691156 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's well-designed conceptually < 1174691183 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :1) everything is an object < 1174691189 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :2) names are labels given to objects < 1174691213 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....other languages don't do number 2? < 1174691223 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :not usually < 1174691225 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Scheme does < 1174691240 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...how else would it work? < 1174691244 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well < 1174691266 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if you could say 'have all references to this object now point to that object' < 1174691280 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ah... < 1174691282 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that would be a more complex model < 1174691296 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :for one, you had to use the word 'reference' < 1174691318 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i am lament < 1174691324 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you could potentially have another irc user named lament < 1174691331 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but you can't just go and have ME be NOT ME < 1174691332 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1174691359 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :the way I've considered doing it... is to have an array of objects... with names being "symbols" that points to an index on the array. So swapping out objects is a matter of reassigning an index of this array. It's similar in certain regards to pointers - but less grounded in computerism. < 1174691384 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's exactly what pointers are < 1174691533 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-nod- different analogy... and different mode of operation on the end (instead of referencing and dereferencing addresses and the like you're assigning symbols or objects) < 1174691577 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :say in python, "a = 3" - it's better to think of it not as "a is pointing to 3", but as "a MEANS 3" < 1174691631 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :|x| := 2 --assign the symbol x to 2 < 1174691632 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :x := 2 --assigns the object represented by x to 2 < 1174691728 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :|x| := "This is the text of the universe" < 1174691730 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :|y| := x < 1174691732 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :x := "There is a paradigm shift" ---both and |x| and |y| are changed.--- < 1174691811 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's ugly < 1174691848 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :terribly so < 1174691864 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i have considered a different model for Reaper and Forte. < 1174691892 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm... it makes sense to me... if you think := being the method of an object. < 1174691955 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with anything able to be redirected. < 1174691962 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :and if you think of |x| as "the symbol x" and x as "the object represented by x" < 1174691976 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...it makes perfect sense to me. < 1174691986 0 :sebbu2!n=sebbu@ADijon-152-1-32-140.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1174691996 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's scoping problems too < 1174692078 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, what kind? < 1174692168 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :a variable means different objects in different scopes < 1174692259 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :scopes are just objects... all variables pointing to "This is the text of the universe" are redirected to "There is a paradigm shift"... it's an absolute change in an objects identity - rather than a relative change in a names references. < 1174692313 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :an "absolute change in an objects identity" is a rather counter-intuitive operation, don't you think? < 1174692330 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the whole point of OOP was that it was supposed to follow human intuition of "objects" < 1174692350 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :no... pretty straight foreward. You have this entity that exists beyond all names, and it can be altered. < 1174692361 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"an absolute change in an object's identity" only happens in fairy tales < 1174692375 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and in Reaper and Forte. < 1174692376 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :when something gets turned into something completely different :) < 1174692420 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I see it being useful... where you have stuff that gets distributed around quite a bit and you don't wish to keep track of all the names. < 1174692450 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: give an example. < 1174692452 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"make all references that point to this object now point to this object" << is there any language that provides this feature? < 1174692461 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Reaper and Forte. < 1174692461 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i had this idea of a reverse-pointer esolang < 1174692470 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :*whew* < 1174692475 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you can do some neat stuff with that... though only some < 1174692479 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...well, the concept of Sophia has it... but I haven't implemented Sophia yet < 1174692494 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: give an example of "object identity replacement" being useful < 1174692615 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Processor/1 -- how is that remotely esoteric? < 1174692632 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i almost read about reaper... but the lesson ended < 1174692687 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that page (Processor/1) is the only contribution by its creator... < 1174692705 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :lament, a GUI.. where you store text in a string. A function that you want to redefine. If you have a listing of default values that are copied at multiple places - and you'd like to totally shift every variable that points to this default value. < 1174692705 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well reaper remains vaporware alas... < 1174692732 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but ais523 implemented Forte. < 1174692772 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: so? < 1174692776 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh forte looks cool, i didn't quite understand reaper from the definition on esolangs.org < 1174692824 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: i think he might be confused over what's considered esoteric < 1174692843 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: i don't understand that. < 1174692857 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :lament, it was three examples. < 1174692867 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...just in case they semantically blurred together. < 1174692868 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: give one. :) < 1174692880 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....but I did. o.o < 1174692881 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"A function that you want to redefine." < 1174692887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :this is kinda obvious < 1174692890 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :why would you want to redefine a function? < 1174692909 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :to make it faster and sexier < 1174692931 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-shrug- I've had situations where I'd want to alter a function in runtime. Not all applications are statically defined in source. < 1174692969 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, functions are inherently a bit tricky < 1174692970 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :mmm yeah i didn't fail, you often want to make a function faster at runtime :) < 1174692981 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :allll the time < 1174692984 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because there's an issue of how are they represented as objects < 1174692998 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if the function is a _method_, you can just change the method. < 1174693007 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :if it's an _object_, then that's a bit weird < 1174693009 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :especially in programs who have the task of being programmable by themselves.... < 1174693011 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(python is a bit weird) < 1174693057 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure if it makes sense for functions to be objects. < 1174693059 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :but see... a function can be dispersed across multiple names... not just the one you defined it as... thus it's handy to have an -identity replacement- ;) < 1174693117 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1174693125 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think in this case our design is broken < 1174693136 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it should still be the same function, but with a different behavior < 1174693137 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...I don't really see too many uses for it... it simply arose naturally out of my attempt to objectitize the variable. :) < 1174693147 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ie the function's _code_ should be a property of the function _object_ < 1174693169 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :because otherwise hte operation of 'changing the function' doesn't make sense < 1174693195 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :basically... it's similar to an in-place operation... < 1174693210 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :just... with an entirely new object. < 1174693214 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :are you replying to me? < 1174693216 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i guess not :) < 1174693222 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think it'd be rude if pointers did not follow an object moving around in the memory :| < 1174693245 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it'd be all alone < 1174693279 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :dangling pointer < 1174693327 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Perverse) < 1174693341 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :lament, sure... there's a flaw in your design... if the language you're using to make the design isn't capable of doing things like that. < 1174693351 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm not using any language < 1174693361 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-nod- it was an "example you". < 1174693364 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :as in "one" < 1174693404 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :THE HYPOTHETICAL IDENTITY. :o < 1174693411 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :I still can't think of any case where it makes sense to change the identity of an object < 1174693427 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :as opposed to a property < 1174693429 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :-shrug- me neither... not usually anyways. I just like it conceptually. < 1174693449 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :I don't, because it's unnaturaly. < 1174693450 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :-y < 1174693494 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think it's counterintuitive and not something my brain expects of everyday objects. < 1174693519 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"Suddenly, the toaster in my kitchen becomes a shark swimming in the pacific ocean!" < 1174693530 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :REALITY IS A CRUX < 1174693535 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :WE ARE IN THE SURREAL WORLD < 1174693545 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :WHERE THE IDENTITY IS MALLEABLE. < 1174693557 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, sure < 1174693570 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ABANDON ALL COHERANCY. < 1174693579 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :like i said, the best example of objects actually changing identity i can think of is fairy tales and magic :) < 1174693591 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :....order is for chumps anyways. and magic makes for a fun afternoon. < 1174693601 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :ACTION enjoys some good programming voodoo. < 1174693631 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: changing object identity also leads to horrible, horrible things such as changing 2 to 3 < 1174693653 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :http://www.esolangs.org/wiki/Forte this is so cool <3 < 1174693681 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :lament, we should change 4 to 5... because 4 is a terrible number. < 1174693683 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :SevenInchBread: either you allow changing 2 to 3, or you place arbitrary restrictions on what can be changed and what can't < 1174693685 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I see nothing wrong with this. < 1174693730 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :I'm something of a programmer liberal.... no restrictions on what's possible. < 1174693733 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you might be able to change 2 to 3, then again in some languages you are allowed to segfault < 1174693737 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, it's not any more wrong than changing object identity in general :) < 1174693773 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"I change 'hello' to be 'world'. World world!" < 1174693782 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :Here's another use... if you represent string concatenations as objects in their own right. < 1174693791 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i suppose that's exactly what forte does? heh < 1174693882 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wow, forte IS cool. < 1174693891 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :|x| = "o" < 1174693892 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :|y| = "Hell" + x + "o, World!" < 1174693893 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yep :P < 1174693894 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :x = "p" < 1174693895 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :y print ---Hellp, World!--- < 1174693902 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :er... without the o in "o, world!" < 1174693946 0 :SevenInchBread!unknown@unknown.invalid PRIVMSG #esoteric :...it kind of goes away from the traditional programmers concept of "operations return values"... now things become a matter of identity - and the parts it takes to construct the whole. < 1174693986 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oh holy crap forte is awesome < 1174694003 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1174694012 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh, forte look fun < 1174694122 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :where can you get the interpreter? < 1174694129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and has anything been done with that? < 1174694367 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait...