< 1184112657 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :http://img170.imageshack.us/img170/2310/hownottoteachrecursionyu0.png < 1184112806 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :fax: I was reading a slideshow on it < 1184112807 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :. < 1184113005 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how can you "teach recursion" < 1184113009 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's stupid < 1184113086 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: my computing teacher in high school fears recursion < 1184113093 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lol wtf < 1184113098 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :but he taught really well < 1184113109 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and what's a computing teacher? < 1184113118 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :recursion is a fairly difficult concept < 1184113148 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :actually recursion is a logical and simple consequence of the behaviour of functions, which is a fairly difficult concept that many don't teach properly. < 1184113172 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :nobody ever "taught" me recursion < 1184113183 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: me neither... < 1184113186 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :most high school students have a rather vague understanding of even functions in math < 1184113197 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and those never recurse < 1184113200 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't mean that most kids in HS will be able to use it to their advantage < 1184113229 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :recursion makes most things so elegant < 1184113417 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :doesn't mean it's easy to teach or to learn < 1184113508 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i don't see what's hard about it < 1184113523 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that's okay, just don't assume that it's easy for others as well < 1184113547 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i don't see what's hard about singing in tune, but some people just can't do it < 1184113568 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :signing is an actual physical skill < 1184113593 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :some peoples brain are conditioned in certain ways.. < 1184113606 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i think people are just stupid < 1184113618 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I guess so < 1184113640 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :or dont care enough to bother < 1184113664 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION indicates _The Perils Of Java Schools_. < 1184113686 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :good essay, there < 1184113764 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Recursion is slow and detrimental, which is why they don't learn it. < 1184113765 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :[/joke] < 1184113785 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1184113788 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :they do learn THAT though < 1184113793 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1184113802 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :"use a stack, not recursion" < 1184113814 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I tend to use much more iterative code than recursive code, but I'm comfortable enough in both. < 1184113815 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that makes me go )F(*)(S*DF)(*$#JN)(*)(*)# every time i see it < 1184113819 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1184113825 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, a Stack *is* faster. < 1184113832 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I like languages in which all the loop constructs are implemented as recursion < 1184113834 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION beats Sukoshi  < 1184113844 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: no, people are not stupid < 1184113845 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :recursion is a fucking stack < 1184113853 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: yes they are < 1184113858 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: everybody has difficulty learning new things < 1184113865 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: and many people have difficulty teaching new things < 1184113870 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :lament: He's having difficulty learning that. < 1184113871 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: and many of those are teachers :) < 1184113905 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :conventional schooling is broken < 1184113927 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Hippies are too. < 1184113955 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Ever heard of balance bsmntbombdood ? People can like both. < 1184113958 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :These _are_ difficult concepts. They require a fairly big solid foundation of other concepts. Unfortunately, that foundation is often incomplete. < 1184113979 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :You're as uncomprimising as your hard-line counterparts on the iteration side. < 1184113991 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: iteration is only tail recursion < 1184113999 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*Sigh* < 1184114005 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :seems like you don't understand iteration, bsmntbombdood < 1184114017 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1184114021 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :conventional schooling on the low levels is broken in that it targets only those in the class who do not listen. < 1184114025 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :low < 1184114026 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, young < 1184114028 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1184114064 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: how's that? < 1184114076 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, that's my experience, perhaps finland just sucks < 1184114098 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1184114160 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: iteration refers to repeating a command or a sequence of commands several times. < 1184114185 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: why are you trying to explain it in terms of much more complex concepts? < 1184114271 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :iteration is a subset of recursion < 1184114276 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :no, it's not. < 1184114280 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes it is < 1184114306 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I do not agree with that bsmntbombdood < 1184114313 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i do! < 1184114313 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: no, it's not. < 1184114320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but what do i know < 1184114320 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how is it not? < 1184114357 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: When you recurse, you execute a function multiple times, within the function's definition. < 1184114364 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: "recursion" is a behavior of recursive functions. < 1184114382 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :iteration is a behavior of some recursive functions < 1184114383 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: When you iterate, you execute a statement many times, not executing the function you are in. < 1184114386 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: no. < 1184114394 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1184114397 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: iteration is a behavior of commands. Functions are never involved. < 1184114403 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you can have some iterative process, which has zero to do with recursion < 1184114411 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :for example while(1) { .... } < 1184114411 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :everything is a function < 1184114418 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Ugh. < 1184114424 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :(let f () ... (f)) < 1184114428 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :thats not true in general bsmntbombdood < 1184114429 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: There's a world outside of Scheme. < 1184114447 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Is he attempting to be obtuse on purpose? < 1184114448 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :all iteration is reducable to recursion < 1184114461 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :yes and all men are reducable to tears < 1184114464 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Yes, and? < 1184114465 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :but it doesn't mean they *are* < 1184114475 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: no < 1184114477 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: not "reducible" < 1184114484 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, abstractable to. < 1184114487 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: it's not "reduction" when you actually introduce a new, alien concept to explain it. < 1184114515 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :if iteration isn't recursion, you need two different concepts < 1184114519 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :why not only have one? < 1184114532 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: because there're two different concepts. Such is life. < 1184114533 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Because the *are* different < 1184114535 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :consider < 1184114536 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :FOO: < 1184114538 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :they aren't different < 1184114539 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric : < 1184114543 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric : GOTO FOO; < 1184114564 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: er, of course they're different. < 1184114567 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :there is nothing actually recursive about it, just because you can imagine some brackets around that < 1184114568 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :fax: (let foo () (foo)), recursion < 1184114578 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, it's nice to think iteration is a subset of recursion, since iterative -> recursive is trivial, thile recursive -> iterative is not < 1184114583 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: for example, if i tell you "shut up", there're no functions involved. < 1184114592 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it's just a command. < 1184114619 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :And if i tell you "Go bang your head on the wall ten times", that's iteration, and again there're no functions involved. < 1184114622 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :*Squeak* Everything's a function. < 1184114644 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I don't like laments examples :p < 1184114653 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, he's true. < 1184114670 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Recursion must occur *in the body of a function*, whereas iteration does not care about the function definition. < 1184114680 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :all computation is recursion < 1184114687 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no need to introduce other concepts < 1184114689 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: have you heard of wave-particle duality? < 1184114695 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no < 1184114698 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: I don't agree that recusion has to be a functional thing < 1184114699 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :O_O < 1184114721 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :fax: I would say that the majority (if not all) iterative processes are generalizable to recursive processes. < 1184114724 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fax: then you're wrong. It has. < 1184114736 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: yes, all < 1184114741 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gone for some time < 1184114747 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lament: You fail to give any reasonable argument so your statement is useless < 1184114756 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :"Im right" does not hold < 1184114769 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood has obviously never encountered something called ``speed''. < 1184114769 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: yeah, I mean they are < 1184114773 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Or ``usefulness''. < 1184114782 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :He's just being a weenie. < 1184114783 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fax: in this case, the argument is simply "consult any definition of recursion" < 1184114791 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :speed and usefulness is not relevant < 1184114802 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lament: Maybe that definition is flawed... < 1184114833 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, his argument is flawed to begin with. < 1184114835 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :for example there are many mathematical terms which have been Redefined for the purposes of computing < 1184114835 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :e.g. Natural numbers < 1184114852 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, hmm. Not flawed. < 1184114856 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :He's just being an idiot. < 1184114869 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: no need for that :( < 1184114871 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fax: sure < 1184114876 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :fax: He is. < 1184114880 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hes got an urge to reduce everything to axioms < 1184114886 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :dont we all? :) < 1184114898 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :It doesen't take a person with much brains to realize that recursion is a super-process of iteration. < 1184114913 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :fax: but i've never seen any disagreement about the meaning of recursion. The concept is actually central to computer science (since it forms part of the church-turing thesis) < 1184114940 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: Now you are agreeing with bsmntbombdood :p < 1184114953 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what's a superprocess? < 1184114955 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(oklopol also agrees!) < 1184114962 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(but silently.) < 1184114981 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :The problem is not with recursion vs. iteration < 1184114988 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the problem is with functions vs. commands < 1184115016 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the distinction between functions and commands is very much like the wave-particle duality < 1184115021 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you need both concepts < 1184115027 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, I assumed almost everyone understood that it's possible to generalize most iterative behavior into recursivity. < 1184115029 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :even though often they're mostly equivalent < 1184115048 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :But he's saying that there should be one and only one, and that's stupid. < 1184115072 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i also agree with lament and Sukoshi < 1184115103 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :zzzzzz < 1184115112 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what's important in this case, as we were talking about _teaching_ recursion, is that commands are much more easily understood by many people < 1184115122 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :for this reason, iteration is easier to teach < 1184115151 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and trying to shoehorn it into recursion removes that advantage < 1184115203 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a command is a very human concept. Many *human* languages have special syntax for commands. What human language has functions? < 1184115222 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders < 1184115237 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Many things are a little like functions. < 1184115257 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :well, you could say that words are < 1184115261 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :human language should not cloud computation < 1184115266 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"the front of" is like a function from a thing to its front. < 1184115277 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ihope: hehehe < 1184115281 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1184115312 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The fixed point: "that which is its own front" < 1184115324 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was jsut thinking that :D < 1184115327 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*just < 1184115333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :though i didn't have that cool term. < 1184115341 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: the key reason for not treating everything as functions is that side effects are MUCH easier to express in the imperative world < 1184115345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :in mine it was infinite recursion. < 1184115353 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you only need two concepts for computation: creation of functions, and calling of functions < 1184115394 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :there's no need to cloud the issue with unnecessary junk < 1184115418 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: there's a reason SICP introduces side effects late in the book < 1184115422 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :No, you only need an infinite tape and modifications to this tape. < 1184115440 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: i was just going to say that :) < 1184115445 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :lament: Heh. < 1184115453 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :equivelant but very different basises for computation < 1184115476 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If you enjoy Church's point of view more than Turing's point of view, have fun. But don't go all One True Path. < 1184115476 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :all you need is λ < 1184115486 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :~ λ λ λ all you need is λ ~ < 1184115540 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: lambda calculus is very clumsy at expressing certain concepts that the imperative model expresses very easily. < 1184115553 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and the same the other way < 1184115566 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lament: can you show an example? < 1184115573 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: Do you know about spherical and cartesian coordinate systems? < 1184115580 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: sure. PRINT "HELLO WORLD" < 1184115593 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh, you're right :P < 1184115648 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: You only need one coordinate system. They're all equivalent. Yet for each problem, we pick whichever coordinate system makes the problem easier to solve. < 1184115654 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Restricting ourselves to one would be pointless, since we already know they're equivalent. < 1184115772 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :For the same reason we have more than one programming language. < 1184115783 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(going home, back in 20 minutes) < 1184116499 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That's quite crazy lament. < 1184116502 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I never could have thought of that. < 1184116536 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: what do you mean by that? < 1184116567 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: Sarcasm. < 1184116584 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, what is the purpose of your sarcasm :\ < 1184116613 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :To rub it in. < 1184116617 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :just define a function which prints... < 1184116621 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :and strings < 1184116622 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1184116756 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: that doesn't mean iteration is a different concept thatn recursion < 1184116762 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: is that a childish way to try to explain to someone why there's need for multiple concepts? < 1184116771 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or what exactly are you rubbing :| < 1184116873 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :god, page 550 and still it seems like this guy's never heard of turing completeness < 1184116946 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1184116952 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That's Wolfram for ya. < 1184116972 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"And one might therefore suppose that an alien intelligence vould exist which would be able to look at our pictures and immediately tell that they were produced by a very simple procedure. But in fact I very much doubt that this will ever be the case. For I suspect that there are fundamental limitations on what perception and analysis can ever be expected to do." < 1184116977 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :longish quote < 1184117012 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i got that expression, at least < 1184117035 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: i don't understand what you're trying to say. < 1184117199 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :polar and cartesion coordinates are exactly the same < 1184117220 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :polar = cartesian < 1184117225 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :theres an infinite number of ways to express the origin in polar < 1184117225 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :recursion > iteration < 1184117232 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :only one way in carteasian < 1184117257 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I wasn't talking about recursion vs. iteration. I was talking about functions vs. commands. < 1184117269 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's a command? < 1184117275 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Go fuck yourself. < 1184117300 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :how is that not a function? < 1184117319 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lament loses the ability to discuss :p < 1184117351 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :and fucking is hardly computational < 1184117354 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: a function takes an argument and returns a result (unless it fails to halt) < 1184117369 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: where does any of that happen in, say, PRINT "HELLO WORLD"? < 1184117384 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :that's not compuation < 1184117409 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :what about X=X+1 ? < 1184117414 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :set_reg_a 1 < 1184117417 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :inc_reg_a < 1184117436 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :nice, JIT compilation provided by oklopol :D < 1184117443 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::DD < 1184117447 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that was an accident < 1184117636 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: the imperative model includes the concept of "world state". The functional model doesn't (there's no world state in lambda calculus) unless you explicitly introduce it (or arbitrarily declare some value to be the "world state"). For this reason, the imperative model is so convenient for describing processes which change the world state. < 1184117880 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :thank you, wolfram, "it turns out in general to be impossible to determine in any finite way whether any particular thing can ever be generated from a short description." < 1184117894 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :554 pages, and finally i know he knows the basics :) < 1184117905 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :teh basix. < 1184117985 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you're reminding me of my roommate. He was reading a really long book and constantly complaining about it (usually, about how long it was). It took him forever to get through it. < 1184118003 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1184118030 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i guess i should stop that and read. < 1184118038 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(i kept telling him to stop reading him, and he said "No, it's awesome") < 1184118041 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :*stop reading it < 1184118079 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll say the same < 1184118096 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :because i'm stupid like that < 1184118109 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or whatever adjective i shoudl've put there < 1184118113 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*should < 1184118170 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: i never said assignment was bad < 1184118207 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: kolgomorov complexity, anyone? < 1184118215 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: I never implied you have... < 1184118228 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: that's teh basix. < 1184118234 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lament: yes you did < 1184118244 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :show me where. < 1184118245 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :your message 10 minutes ago < 1184118263 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I like the proofs relating to kolgomorov complexity < 1184118276 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: hm, i don't see it :( < 1184119996 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Isn't PRINT "HELLO WORLD" in lambda calculus comparable to the same thing in BF-without-IO? < 1184120338 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And isn't it really easy in Haskell? :-P < 1184120916 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ihope: BF-without-IO is not "the imperative model", and Haskell is not "the functional model". < 1184121155 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :haskell gives a mechanism for dealing with the world state < 1184121173 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1184121181 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :someone should teach me how to write Monads :p < 1184121183 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but this mechanism is haskell-specific and is an _extension_ of the underlying lambda calculus stuff. < 1184121220 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(and other mechanisms are possible) < 1184122491 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: your idea about playing ca is considered in the book < 1184122493 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at about 600 < 1184122518 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i love it how the human perception is constantly put down here :P < 1184122615 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's considered very briefly though < 1184122654 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :he just says the human ear cannot notice squat. < 1184122943 0 :peterius!n=peterius@ool-4576aca2.dyn.optonline.net JOIN :#esoteric < 1184123418 0 :peterius!unknown@unknown.invalid QUIT :"Leaving" < 1184123956 0 :GreaseMonkey!n=ihavdeb4@222-154-161-215.jetstream.xtra.co.nz JOIN :#esoteric < 1184130478 0 :kwertii!n=kwertii@c-24-5-40-52.hsd1.ca.comcast.net JOIN :#esoteric < 1184130616 0 :RodgerTheGreat!unknown@unknown.invalid QUIT : < 1184130863 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1184131815 0 :fax!unknown@unknown.invalid QUIT :" " < 1184136263 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1184136390 0 :kwertii!unknown@unknown.invalid QUIT : < 1184136518 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1184136613 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: Wow. How much do you read at a time? < 1184136624 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :That book is not interesting to warrant more than an hour of reading, I find. < 1184136741 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, the beginning was interesting, but now it becomes like Wow-OMG-CELLAHLUHR-OTTOMATTA-IS-SO-COOLZ!!! < 1184137193 0 :ihope!unknown@unknown.invalid QUIT :Connection timed out < 1184138219 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1184140799 0 :clog!unknown@unknown.invalid QUIT :ended < 1184140800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1184144327 0 :ihope_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1184145509 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1184145569 0 :bsmntbombdood!n=gavin@71-208-219-119.hlrn.qwest.net JOIN :#esoteric < 1184147412 0 :RedDak!n=dak@host193-88-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1184150129 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :hoffman encoding is legendary, and so is shift-LZ < 1184150219 0 :ehird!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1184150606 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :O rly? < 1184150682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not rly. < 1184151368 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Once upon a time there was a kingdom where people didn't know of a way to store data other than in full size. Also most people were poor and had little memory. < 1184151431 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :In a small village there lived three poor computer scientists named Huffman, Lempel and Ziv. < 1184151514 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1184151530 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(The evil king Bill had decreed that noone needed more than 640K) < 1184151832 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SPAM, SPAM, WONDERFUL SPAM < 1184151843 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(wrong channel) < 1184152020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/forum/kareha.pl/1184146786/l50 comments wanted < 1184153164 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :gnight everyone < 1184153175 0 :GreaseMonkey!unknown@unknown.invalid QUIT :Connection reset by peer < 1184155271 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1184156877 0 :ttm!n=daniel@130-94-161-238-dsl.hevanet.com JOIN :#esoteric < 1184156882 0 :RedDak!n=dak@host193-88-dynamic.6-87-r.retail.telecomitalia.it JOIN :#esoteric < 1184157033 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :testing something < 1184157157 0 :ttm!unknown@unknown.invalid PART #esoteric :? < 1184162114 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... point-free lambda calculus < 1184162200 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :,xy is (x y), \x is (lambda some-internal-name. x), . pops off the argument stack (and makes the current argument the argument of the enclosing function), o changes argument stack "x y z" to "x z y", s changes argument stack "x y" to "y x", a returns the top element on the argument stack < 1184162294 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :\\\s,a,,s..x should be SUCC, i.e. (lambda n. (lambda f. (lambda x. f ((n f) x)))) < 1184162321 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :,\\\s,a,,s..x\\.. is two by way of SUCC 1 < 1184162347 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: if it weren't for sleeping i could easily read the book in one go < 1184162381 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's just once i wake up i rarely feel like reading, since my eyes hurt like hell < 1184162462 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :"easily" < 1184162463 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1184162678 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :there is a 100 page period where very little is said and ca is idolized, but it gets more interesting < 1184162894 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm... are s, o, . and a enough to manipulate any argument list? i don't think so < 1184163170 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: hard to get below the third element without dropping something < 1184163548 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1184164657 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :maybe s = sN < 1184164663 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s1 is a b -> b a < 1184164669 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s2 is a b c -> c b a < 1184164670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1184164677 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and o is oN < 1184164685 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o1 is a b c -> a c b < 1184164692 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :o2 is a b c d -> a b d c < 1184164695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1184164868 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so succ is ,\\\s1,a,,s1... < 1184164872 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :err, \\\s1,a,,s1... < 1184164902 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s and o don't actually count as values, they just perform an action then defer to the next value < 1184164907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but , . and a do < 1184164913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is why the above works < 1184167658 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1184167984 0 :jix!n=jix@dyndsl-091-096-045-135.ewe-ip-backbone.de JOIN :#esoteric < 1184168623 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: Is smalltalk between Squeak and GST different? I'm getting fairly frustrated at inspecting sample codes and then trying my own in both Squeak and GST and getting nothing. < 1184169069 0 :ehird!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1184170844 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1184170857 0 :jix__!n=jix@dyndsl-091-096-046-196.ewe-ip-backbone.de JOIN :#esoteric < 1184171818 0 :sebbu!n=sebbu@ADijon-152-1-72-52.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1184171863 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :suifur: Somewhat. < 1184171892 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :GST is a bit closer to ST-80, IIRC. < 1184173294 0 :oerjan!unknown@unknown.invalid QUIT :"Dinner" < 1184173300 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: thats annoying. < 1184173311 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :morning < 1184173323 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :good day lament < 1184174808 0 :tokigun_!unknown@unknown.invalid QUIT :anthony.freenode.net irc.freenode.net < 1184175109 0 :tokigun_!n=tokigun@haje8.kaist.ac.kr JOIN :#esoteric < 1184176695 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :suifur: Well then, stop Squeaking so much :P < 1184176806 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: lol < 1184176992 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: so we're for sure settling on GST then < 1184176993 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :? < 1184177436 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: http://pastey.net/70658-19km <--- Any ideas whats wrong with the last line? < 1184179259 0 :sebbu2!n=sebbu@ADijon-152-1-72-52.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1184180207 0 :Sukoshi!unknown@unknown.invalid QUIT :Read error: 105 (No buffer space available) < 1184180550 0 :Sukoshi!n=Sukoshi@user-11fab8o.dsl.mindspring.com JOIN :#esoteric < 1184180555 0 :sebbu!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1184180556 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1184181266 0 :tokigun_!unknown@unknown.invalid QUIT :anthony.freenode.net irc.freenode.net < 1184181595 0 :tokigun_!n=tokigun@haje8.kaist.ac.kr JOIN :#esoteric < 1184183098 0 :ehird!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1184183315 0 :bsmnt_bot!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1184183445 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :point-free lambda calculus, is that the same as pointless lambda calculus? < 1184183707 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yes, but the latter is a joke on the first < 1184184134 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :so something is a joke on itself? < 1184184139 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :since the two are the same... < 1184184153 0 :suifur!unknown@unknown.invalid PRIVMSG #esoteric :lament: pointless as in meaningless perhaps? < 1184184332 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lament: it's a joke term for the first, is what i've understood. < 1184186986 0 :kwertii!n=kwertii@c-24-5-40-52.hsd1.ca.comcast.net JOIN :#esoteric < 1184189052 0 :jix__!unknown@unknown.invalid QUIT :"CommandQ" < 1184189916 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood, yes < 1184189936 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but it's nicely esoteric =) < 1184191082 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :errrr < 1184191090 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :seems i wrote an unlambda interpreter :D < 1184191096 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :gimme something to interpret < 1184191107 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :just started writing something random < 1184191239 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :somebody should make a programming language resembling interactive fiction responses < 1184191240 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like < 1184191260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :say Hello, world! to the console. < 1184191315 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i might've heard that before. < 1184191356 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I have seen that before < 1184191381 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :suifur: Well, I don't want to be dependent on a huge image. < 1184191438 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://www.corknut.org/code/transcript/ < 1184191443 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC, that's different < 1184191450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the instructions don't relate to what happens < 1184191467 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :OMFG IT ACTUALLY WORKS?!?!?!!? < 1184191468 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :... < 1184191469 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i'm thinking of metaphors like "Write a todo list and title it 'factorial': ..." < 1184191482 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Like ORK ? < 1184191495 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kinda < 1184191500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :except less ... restrained < 1184191511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :today's IF parsers are very fluid and accept a wide range of english text < 1184191538 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: have you looked at inform? < 1184191542 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i've made a lang called angle, which was an oo language that was pretty much english < 1184191553 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament, of course I know about inform - are you specifically referring to inform 7? < 1184191559 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1184191559 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because inform 7 is horrible, IMO < 1184191572 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well - it's also not what i'm aiming for < 1184191582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it talks about programming concepts in direct forms, instead of using silly real-world metaphors < 1184191585 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :(people don't normally say "of course i know about inform") :) < 1184191612 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :preferably, the program should consist of instructions which relate to a character following them, instead of a machine < 1184191656 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :there's several languages using "silly metaphors", none of them very interesting. < 1184191668 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it just doesn't seem a very productive idea < 1184191676 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :esoteric languages are not productive ideas < 1184191690 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :see for example [[Taxi]] < 1184191693 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Tell Lost Kingdoms that. < 1184191721 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :in fact, {{Thematic}} < 1184191722 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :sooner or later, CS will get a major and fundamental breakthrough via esoteric language research... < 1184191730 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah right =) < 1184191747 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Yes, when everyone begins hailing ORK as the new Language Of Choice. < 1184191763 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :cs, heck. Logic itself will be transformed... < 1184191793 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: by productive i mean "in terms of producing interesting esolangs" < 1184191797 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :another silly idea: an ADHD language, where you can't program about the same thing for too long, otherwise the interpreter complains < 1184191818 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you have to do everything in chunks and make sure each peice of code is not too similar to the last. heh < 1184191850 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes, that's silly. < 1184191858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but fun. < 1184191869 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :not sure of that :) < 1184191892 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :how about a neurotic programming language that randomly refuses to execute? < 1184191895 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1184191927 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i think something like that was proposed already. < 1184191989 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how about a language where the only two certain things are that you can access the current probability for the next instruction to execute and change it to a certain degree? < 1184192004 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that sounds interesting < 1184192027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :any program would, of course, consist of hellish amounts of those two instructions to make sure everything works right < 1184192036 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1184192075 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the probability change specifiers would be written in a language of their own, like a crazed numeric system =) < 1184192077 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*numeral < 1184192084 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"Admittedly, while it is not hard to string Sartre statements together to create a Sartre-compilable text file, it can be quite hard to program in the Sartre paradigm. To wit, one may keep creating programs, one after another, like soldiers marching into the sea, but each one may seem empty, hollow, like stone. One may want to create a program that expresses the meaninglessness of existence, and instead they average two numbers." < 1184192100 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1184192138 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"Unlike the integers in most programming languages, Sartre integers all have a value of zero" < 1184192155 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, probabilistic programming... < 1184192171 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :how about a 2d language based on a car with a not-entirely-sober driver < 1184192181 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have to go to great measures to keep it on the right program path < 1184192206 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric : MAXINT This is the maximum integer value allowed by the particular Sartre implementation: zero. < 1184192213 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric : MININT This is the minimum integer value allowed by the < 1184192214 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric : particular Sartre implementation. If using the Dada < 1184192214 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric : extensions, MININT is duck sauce; if not, it is zero. < 1184192214 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the only form of branching is to allow the car to swerve based on a condition < 1184192217 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :All possible jump targets are arrayed with the condition evaluated numerically between 0 and 1, plus a random factor. < 1184192230 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :by making builders build barriers on one direction conditionally < 1184192244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you have to start the building of them a while before the car arrives so they're built in time. < 1184192256 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :would it be possible to actually produce useful calculation in a language with random jump influence? could you work around that in your program? < 1184192283 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :kwertii: yes. < 1184192290 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it would just be a lot of pain and no fun. < 1184192305 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :lament: how would you do that? because your test conditions would also be randomly affected... < 1184192370 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a bunch of locks < 1184192378 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :there's a language where lines are executed in a random order < 1184192388 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :thue! < 1184192400 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :an imperative language :) < 1184192413 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :but.. wouldn't your lock changing code also be nondeterministic? < 1184192449 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :I'm missing something .. < 1184192452 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes, but you would have a meta language where you could write infinitely long pieces of code to get around that. < 1184192460 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kwertii, you could check if it's safe to do a conditional by doing something like "if true; ok all good; else nope not ready" < 1184192492 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the problem is all that could fail as well < 1184192498 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :ehird: it spins until the desired jump happens? < 1184192500 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the code must be infinite! < 1184192518 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kwertii, well - more like it sits there waiting until logic is all working < 1184192536 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird: why would 'if' be deterministic? < 1184192544 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it wouldn't < 1184192568 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... how would that loop help? < 1184192690 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hmm, wait, it would rely on the loop directly after the condition to work as well < 1184192703 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Can GCJ support generics? < 1184192707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"while not true; end if cond; blah end" except, of course, that won't work < 1184192715 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi, no - gcj sucks anyway, give it up < 1184192731 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'm hearing it's becoming pretty full featured these days. < 1184192737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :omg! a bfwait program JUST PRINTED SOME OUTPUT THAT WASN'T \0! < 1184192741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's unheard of < 1184192745 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :what if your jump *usually* worked.... just not always < 1184192754 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :how could you tell? < 1184192758 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes away < 1184192759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :kwertii, you couldn't < 1184192774 0 :kwertii!unknown@unknown.invalid PRIVMSG #esoteric :you could repeat your test 1000 times and let them vote < 1184192872 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ehird: You lie. It *does* support Generics. < 1184192880 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it does? < 1184192883 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well it still sucks < 1184192907 0 :RodgerTheGreat!n=Rodger@wads-5-232-125.resnet.mtu.edu JOIN :#esoteric < 1184192986 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :ehird: ... Good argument :P < 1184193189 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i hereby declare that not enough esoteric languages look like line noise < 1184193214 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or what infinite monkeys could plausibly type in a small amount of time, given a high bias to alphabet and parentheses keys < 1184193315 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: How goes the Smalltalking? < 1184193323 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hi, sukoshi < 1184193366 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I've been continuing my research. I tried doing some of my crypto programming with it, but I'm running out of time, so I think I'll have to switch back to C to finish tonight. :[ < 1184193384 0 :lament!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1184193423 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1184193573 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I haven't started hating the language by learning more about it, which is generally a good sign. I'm still in the process of wrapping my head around the syntax. < 1184193642 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :New developments: We'll probably be using Kawa to implement it. < 1184193661 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Since Kawa has done most of the heavy lifting for us, if we hook into Kawa, we can compile straight to JVM bytecodes. < 1184193692 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm. looks interesting < 1184193723 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :If you read more, you'll find out that Smalltalk is extremely similar to Java in ways. < 1184193744 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :(Minus the static typing, batch compilation, and other annoying static behavior.) < 1184193757 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :The stdlibs are, for example, almost the same. < 1184194101 0 :penma!n=penma@p508DA96C.dip0.t-ipconnect.de JOIN :#esoteric < 1184195950 0 :penma!unknown@unknown.invalid QUIT :"gn8" < 1184196221 0 :sebbu2!n=sebbu@ADijon-152-1-6-40.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1184197322 0 :Max92!n=Max@c83-181-11-170.cust.tele2.se JOIN :#esoteric < 1184197369 0 :Max92!unknown@unknown.invalid QUIT :Client Quit < 1184197375 0 :sebbu!unknown@unknown.invalid QUIT :Connection timed out < 1184197593 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: I've made a fair amount of progress with smalltalk, just getting things down < 1184197603 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :now that I've settled down with GNU Smalltalk, its gone much faster < 1184197723 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :What'cha implementin' ? < 1184197758 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I think I'm going to try to implement my classic practical language test (my esolang test is a BF implementation) -- a BSD Robots implementation. < 1184197792 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :And how far have you gotten in Smalltalk by Example? < 1184197849 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: I'm about half way through it, though most of it is a review of Java concepts with SmallTalk syntax < 1184197874 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :zbrown: Yeah, except I never learned Java concepts (but knew these already from my prior experience). < 1184197967 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: I think I know enough to hack out the rest, its now more of a matter of learning all the diff libs < 1184198004 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :zbrown: :) < 1184198016 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: I'm gonna start implementing one of my computational models in it < 1184198044 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :I figure its easier to try and ipmlement what I know, and if I know anything (mostly), its writing models < 1184198067 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1184198263 0 :ehird!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1184198399 0 :zbrown!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi: the biggest hurdle currently is time, I just haven't had the time to sit and hack with it