< 1195862786 0 :Alvin^!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1195863787 0 :bsmnt_bot!unknown@unknown.invalid QUIT :kubrick.freenode.net irc.freenode.net < 1195863798 0 :wolfy!n=lonewolf@fedora/wolfy JOIN :#esoteric < 1195863852 0 :bsmnt_bot!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1195864390 0 :ehird`!unknown@unknown.invalid QUIT :Remote closed the connection < 1195864870 0 :wolfy!unknown@unknown.invalid QUIT :Remote closed the connection < 1195868451 0 :immibis!n=immibis@125-236-168-115.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1195869196 0 :immibis!unknown@unknown.invalid QUIT :"Hi Im a qit msg virus. Pls rplce ur old qit msg wit tis 1 & hlp me tk ovr th wrld of IRC. OUCH!!!" < 1195871599 0 :Slereah!n=Slereah@ANantes-252-1-78-189.w86-195.abo.wanadoo.fr JOIN :#esoteric < 1195873372 0 :Slereah-!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1195880236 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1195880237 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195880553 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195880910 0 :puzzlet__!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195881226 0 :puzzlet_1!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195881272 0 :puzzlet!unknown@unknown.invalid QUIT :Connection timed out < 1195881616 0 :Sgeo!unknown@unknown.invalid QUIT :Connection timed out < 1195881650 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195881781 0 :puzzlet_!unknown@unknown.invalid QUIT :Connection timed out < 1195881906 0 :puzzlet_1!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1195881960 0 :puzzlet__!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1195881976 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195882335 0 :puzzlet__!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195882750 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1195883040 0 :puzzlet_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1195883911 0 :puzzlet__!unknown@unknown.invalid QUIT :Remote closed the connection < 1195883913 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195885269 0 :immibis!n=immibis@125-236-168-115.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1195885331 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was asked by google "Did you mean: Interfering with wikipedia?" < 1195885668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1195885735 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :ACTION searched for "interfacing with wikipedia" < 1195885753 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1195885865 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :まちがった、ね。 < 1195885929 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's client does not display characters as UTF-8 < 1195885950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to learn some japans < 1195885962 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION almost assumed pikhq was being confused, with all those question marks < 1195885981 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: it was a string of characters encoded as UTF-8 < 1195885990 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: there's only one japan < 1195885991 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i know that < 1195886007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but sometimes i forget < 1195886026 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is annoyed that the creator of rubicon won't release its source code < 1195886835 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION declares that the lack of source code denies it from being an esolang < 1195886883 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, RUBE is the esolang. < 1195886911 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which just means that I should go bow before my shrine to cpressy for a bit. < 1195886930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :picture! < 1195886963 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's nonexistent. < 1195886967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Although I should make one. < 1195886978 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets the Befunge source code printed out < 1195887286 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I intend to sleep. This is an unregulated action. < 1195887291 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I cause the AFO to do the same. < 1195887973 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1195887974 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195888223 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :weeeeeeeel < 1195888242 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :SUP BITCHES < 1195888577 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1195888579 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195889196 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195889613 0 :puzzlet!unknown@unknown.invalid QUIT :Connection timed out < 1195889904 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's browser tried to display a backup as a webpage. < 1195890144 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :[20:42] ->> #esoteric :No such nick/channel < 1195890174 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :LIES < 1195890180 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :no not a lie < 1195890188 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :i said /invite #esoteric #hadjin < 1195890200 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :so the server said #esoteric: No such nick/channel < 1195890247 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sounds like a lie to me < 1195890330 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :no one could vote for kucinich! < 1195890334 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :his wife is too hot! < 1195890368 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: /invite #something #something_else < 1195890791 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... why is there about a _page_ of invites to #hadjin in my status window... < 1195890877 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :because i wanted to find out how long it would take you to notice? < 1195890936 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah, even you cannot be _that_ annoying *ducks* < 1195891199 0 :clog!unknown@unknown.invalid QUIT :ended < 1195891200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1195891590 0 :immibis!unknown@unknown.invalid QUIT :Remote closed the connection < 1195892073 0 :asiekierka!n=asiekier@nat-1.elb.vectranet.pl JOIN :#esoteric < 1195892164 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1195893827 0 :jix!n=jix@dyndsl-080-228-180-173.ewe-ip-backbone.de JOIN :#esoteric < 1195898726 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1195898727 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195899484 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1195899978 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195903497 0 :SEO_DUDE!unknown@unknown.invalid QUIT :Remote closed the connection < 1195904515 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1195904525 0 :jix!n=jix@dyndsl-085-016-233-204.ewe-ip-backbone.de JOIN :#esoteric < 1195906447 0 :SEO_DUDE!i=Deee@gateway/tor/x-fc7f8c20f1025fb1 JOIN :#esoteric < 1195906723 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1195906724 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195911200 0 :SEO_DUDE!unknown@unknown.invalid QUIT :Remote closed the connection < 1195912023 0 :SEO_DUDE!i=Deee@gateway/tor/x-aa114c8cce2b836e JOIN :#esoteric < 1195915754 0 :ehird`!n=ehird@user-5440bd6b.wfd77a.dsl.pol.co.uk JOIN :#esoteric < 1195916049 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :osht < 1195916051 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :not ehird` < 1195916059 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :rolleyes < 1195916065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm here every day, in case you didn't notice < 1195919872 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :But you hate me. < 1195921184 0 :Figs4!n=figs@acs-cseb240-01.ucsd.edu JOIN :#esoteric < 1195921215 0 :Figs4!unknown@unknown.invalid NICK :Figs < 1195921244 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Hello < 1195921274 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Hello3 < 1195921300 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Is "multiple dispatch" really any different than overloading on C-style functions? < 1195921317 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(ie, not owned by an object) < 1195921343 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :or am I missing the concept? :P < 1195921350 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :{I assume I am} < 1195921427 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Oh... I think I see it < 1195921452 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :You are missing the concept < 1195921455 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1195921483 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I think I just got it < 1195921576 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :if I have a collide(collidable x, collidable y) where collidable is abstract... then in Java/C++-like languages it won't actually go ahead and automatically call say collide(spaceship x,asteroid y)... < 1195921614 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's the difference, right? < 1195921647 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(or as nearly as I can explain it in my crappy thought->writing attempt) < 1195921664 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :um, kind of < 1195921666 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yay for mangled language terms :D < 1195921667 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wikipedia :P < 1195921673 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :wikipedia confused me :P < 1195921683 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but I think I got it < 1195921686 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :now < 1195921687 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195921719 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yay. < 1195921721 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1195921735 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I've been thinking about a lot of weird shit this morning. < 1195921746 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Data representation. < 1195921787 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Hi. < 1195921793 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Howdy < 1195921795 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Hi Slereah, ehird` and Figs. < 1195921827 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I feel crazy. :D < 1195921832 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :whee. < 1195921875 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :type systems, object orientation, constraints, logic, generics, functional programing, etc... @_@ < 1195921985 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i really want an esolang like befunge but with no data storage apart from the code field < 1195921985 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195922001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and no control structures except conditional ways to shift about stuff in the code field < 1195922005 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :It would be interesting if we had a proper Type data type in regular programming that we could later instantiate... < 1195922024 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :We do. < 1195922041 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :in some languages :) < 1195922047 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :It's called 'Class'. You'll find it in Smalltalk, Ruby, and several others. < 1195922052 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :In Io, it's called Object. < 1195922063 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Because there are no classes. You just clone objects, modify them, and later clone them to create 'instances' < 1195922087 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :prototype OO? :) < 1195922156 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1195922156 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195922161 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Io is very nice < 1195922164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it has no keywords < 1195922166 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :zilch < 1195922173 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :do you read Squidi? < 1195922182 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :take a look at the sample code: http://www.iolanguage.com/about/samplecode/ < 1195922245 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :he's been posting for a while about a procedural generation concept for games that he's been thinking about for a while, and I think he's basically reinvented generics and inheritance in a different context < 1195922287 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :which got me thinking about how we represent data in general < 1195922386 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :IO isn't supposed to be esoteric, is it? < 1195922446 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, it isn't < 1195922452 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it is certainly esoteric in parts < 1195922454 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all good languages are :) < 1195922462 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195922487 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION points to the mathematicians and logicians < 1195922596 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I've been thinking that there's a second way to classify types other than inheritance: any type that matches some constrains (ex, has a property P, does ___, etc.) < 1195922596 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Phew, I'm off the hook. < 1195922610 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hardly a new idea, of course :) < 1195922629 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but it's got my head running around again, I guess. < 1195922666 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yes < 1195922668 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's ducktyping < 1195922689 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of something slightly different from ducktyping, I think < 1195922705 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ie, creation of new types later that effectively act as parents explicitly < 1195922714 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :without having inheritance hierarchies < 1195922722 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(in the traditional sense) < 1195922807 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :object Foo { property A,B,C... }; type Foo-Like {has A,B,C...} < 1195922898 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1195922900 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ducktyping < 1195922906 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :except "has" and "property" are implicit < 1195922976 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I guess you could think of it as an explicit version of ducktyping < 1195922990 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's probably the best way to talk about it, I guess. < 1195922996 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's bad, though < 1195923010 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ducktyping is all about implicitness in semantics, why add explicitness in syntax? < 1195923052 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :object Cat {...} type Mammal {...} myFunction(Mammal xyz) {...}? < 1195923091 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :class cat { ... } < 1195923095 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :class mammal { ... } < 1195923119 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :object and type were just the words that came to mind, how you do it doesn't matter :P < 1195923121 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :myFunction(xyz with-method make_sound) { xyz.make_sound(); } < 1195923133 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :myFunction(new cat) # meow < 1195923143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :myFunction(new mammal) # not-implemented-error < 1195923150 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :myFunction(new object) # no matching function found < 1195923173 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to type xyz with-method make_sound over and over though, no? < 1195923212 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(if you have a bunch of functions that operated on things that make sounds) < 1195923243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :class mytype = with-method make_sound; < 1195923249 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :myFunction(mytype xyz) { ... } < 1195923261 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :there you go, that's exactly what I'm talking about :) < 1195923276 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :just different syntax from what I wrote above < 1195923292 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but that's what I was trying to say < 1195923311 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :my ability to express things today has just been shitty :P < 1195923336 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1195923338 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because class cat < 1195923340 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and class mammal < 1195923343 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't have "has" < 1195923344 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or "property" < 1195923355 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, Foo-Like is similar < 1195923359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but there is no "property a,b,c" < 1195923361 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's implicit < 1195923365 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :with-method is just the same as "has" as far as I'm thinking < 1195923382 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm not really thinking about a specific syntax, just a general idea of relating things < 1195923423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its duck typing < 1195923436 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1195923456 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what language uses "class mytype = with-method make_sound;"? I'd like to take a better look at it < 1195923941 0 :ehird`_!n=ehird@user-5440bd6b.wfd77a.dsl.pol.co.uk JOIN :#esoteric < 1195923965 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1195923973 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1195924047 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1195924051 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yay! < 1195924057 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and what language? < 1195924061 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :? < 1195924063 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :none! it was pseudocode :-) < 1195924067 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1195924074 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i can make a language for it if you want < 1195924074 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195924081 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195924097 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what I mean, I guess is that a lot of what I understand of duck typing would basically be like < 1195924117 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :function Foo(a) { a.quack(); a.walkLikeDuck(); } < 1195924150 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that is duck typing < 1195924156 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :mine just has checks. < 1195924164 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but it is basically equiv to your example < 1195924166 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :eh, < 1195924168 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what I mean is < 1195924186 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to look in the method for the quack() and the walkLikeDuck() < 1195924231 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :instead of seeing Foo(Duck a) {...now I know that 'a' must quack() and walkLikeDuck() without actually looking through the function...} < 1195924277 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but my class DonaldDuck doesn't ever have to declare that it is-a duck [through inheritance, etc] < 1195924319 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :this is a syntax issue < 1195924330 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :mostly < 1195924412 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm just sort of poking at the border between generics and duck typing, I guess < 1195924418 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :+ length [1 2 3] sum map lambda [x] [* x 2] [4 5 6] <-- pretty esoteric looking, isn't it? < 1195924433 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what is it? Haskell? < 1195924457 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and yes < 1195924496 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :nah, i cooked it up just now < 1195924503 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ah :P < 1195924506 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it's just "func args", where args is a fixed number < 1195924511 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and, of course [...] for a list < 1195924518 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :since the code is just a list in essence that works well < 1195924526 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and also makes it homonononomorphic, like lisp and factor < 1195924528 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :however < 1195924532 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :even more esoteric? < 1195924536 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :+ length . 1 . 2 . 3 nil sum map lambda . x nil . * . x . 2 nil . 4 . 5 . 6 nil < 1195924545 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :got rid of [...] in favour of lisp-style cons' < 1195924634 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but the final esotericness? < 1195924636 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :+l.1.2.3;S_\.x;.*.x.2;.4.5.6; < 1195924641 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :made everything single-character. < 1195924653 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think you can make it worse still :) < 1195924655 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Figs: implement the above. yes/no < 1195924694 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :make it so operations like +, l, etc must be called by table ID in a list of all functions in the program... < 1195924700 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hahahah < 1195924708 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :no i have a better idea < 1195924712 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :remove named arguments from lambdas < 1195924724 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :just have function composition (+ lambdas are curried) < 1195924728 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :remove constants < 1195924733 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :no :P < 1195924735 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :well < 1195924736 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :mayb < 1195924736 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :e < 1195924738 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but first: < 1195924741 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :make it so you have to generate them by function composition < 1195924763 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :from 1 and -1 as functions in the table... < 1195924768 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :+?.1.2.3;S_.*.2;.4.5.6; < 1195924780 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(renamed length to ?, removed lambda since with just composition you can just use lists) < 1195924790 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :actually, if we have currying: < 1195924806 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :wait, no < 1195924810 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :can't have currying < 1195924812 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :fixed number of arguments. < 1195924882 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :+?.1.2.3;S_\.*.2;.4.5.6; < 1195924884 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :there < 1195925011 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Figs: that's a pretty esoteric way of saying < 1195925014 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :33 don't you agree? < 1195925029 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :so say you had like @3 is add, @5 is multiply, @6 is one @9 is -1... then making the number 20 is: @5 (@3 @6 (@3 @6 (@3 @6 (@3 @6 @6)))) (@3 @6 (@3 @6 (@3 @6 @6))) assuming I didn't fuck up < 1195925078 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you could make it worse by using weird numbers instead of 1 and -1... like, 13 and -47 < 1195925117 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I feel evil < 1195925150 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ok, now remove the parens < 1195925155 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and make @x one character somehow < 1195925158 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and remove the spaces < 1195925177 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ok, let's say this < 1195925182 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1195925185 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :how do we do: < 1195925210 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ohh < 1195925212 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195925213 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :"if first bit is 0, read the rest as a number then move onto the next byte and continue reading as binary" < 1195925214 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and < 1195925224 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :"if first bit is 1, read rest as number and we're done with this number" < 1195925233 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and keep it in the range of displayable ascii chars < 1195925240 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and have the numbers be lookups < 1195925244 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1195925245 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :its still TC since they can be bignums < 1195925257 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195925279 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you'd get code like < 1195925287 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :"~{£P"£+_C)+WA:R~£:$G_)£I_)|@~>W~@$F?£~@R>ASD(AW)(E"KJFpL~@Sld[aslkd09AEJ-0k-w039i90opak@:LASD8 < 1195925289 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :or someting < 1195925291 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :A3huiol32*()#52#*90klVF#@#{-345____#$u980#@&$(*)@!$#*(HJ&*VVH*(#O@U%LL@#%>,../.2.3*%(# < 1195925294 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195925332 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :better yet, just restrict it to the top row symbols on the keyboard and every other one is "done with this number" < 1195925340 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ie, ~@$^*)+ < 1195925345 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :would be continuables < 1195925347 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and < 1195925349 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1195925354 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :!#%&(_ < 1195925356 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :are ending < 1195925357 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Huh? < 1195925368 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :even EgoBot is confused now :D < 1195925403 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but... < 1195925409 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :don't make it so obvious :) < 1195925410 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :like < 1195925415 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :~#$&() are continue < 1195925420 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and the rest aren't < 1195925424 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(so not every other one) < 1195925430 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(but some bizare set) < 1195925441 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1195925445 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195925455 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and restrict the number of characters per action to 5 < 1195925460 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :but < 1195925473 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ok, so now that we have the syntax < 1195925475 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :make one of the functions a function that replaces a function < 1195925477 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :let's define the standard table! < 1195925486 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(not your top-row syntax, mine :P) < 1195925491 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195925534 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :like, make kfC set the next value given to it to the function behavior described by a lambda given after it < 1195925546 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :nononono < 1195925550 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :totally wrong < 1195925553 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :more like < 1195925571 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :0 takes two arguments, a lambda and a list, and returns a list with all elements applied to the lambda < 1195925575 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you deal in numbers < 1195925581 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the syntax just specifies numbers < 1195925609 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you could make it complicated by rotating the list in sets of 13 < 1195925634 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :no < 1195925636 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that's just dumb < 1195925642 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195925658 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1195925704 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you could make it shift by the # of functions called in the program so far... < 1195925788 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :or xor each byte returned with the #F called mod 31 < 1195925814 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION stops. < 1195925828 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I'm just getting silly now < 1195926067 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1195926080 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1195926081 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think the term for I was talking about is "structural typing" < 1195926089 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : you could make it shift by the # of functions called in the program so far... < 1195926091 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :at least, reading about it, it sounds similar < 1195926092 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that's brilliant < 1195926098 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yay! :D < 1195926113 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1195926115 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :shift which way? < 1195926124 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :alternate in sets of three < 1195926129 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :also, < 1195926133 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :not #funcalls < 1195926139 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but #funcalls-in-source < 1195926141 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :because < 1195926143 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :if you GOTO < 1195926143 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :< < >, < > <, < > <, repeat? < 1195926144 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :or LOOP < 1195926149 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :nondeterministically < 1195926157 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then -- it changes < 1195926159 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah :) < 1195926161 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so, not TC < 1195926168 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so, number of funcs seen in source code < 1195926168 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :k? < 1195926173 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1195926196 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's so complicated already, you'd probably have to program a computer to program in it to program anything significant in it < 1195926221 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1195926222 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :naw < 1195926263 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1195926267 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :interesting ... < 1195926276 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i am going to write a compiler for it < 1195926281 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yay! :D < 1195926282 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :compiling to C, using continuation-passing-style < 1195926285 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1195926286 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so: no stack < 1195926287 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195926292 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :continuation-passing? < 1195926302 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :let me explain < 1195926303 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :kk < 1195926310 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(Don't wikipedia it, it's technical there) < 1195926319 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :when you see < 1195926326 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(+ (f 1 2) (g 3 4)) < 1195926333 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the compiler goes to + < 1195926338 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then pushes the current state < 1195926340 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then runs f < 1195926343 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then pops back to that state < 1195926343 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1195926347 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you know this. < 1195926349 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :in CPS < 1195926352 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :there is no stack < 1195926355 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it gets transformed to: < 1195926390 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(f 1 2 (LAMBDA-WITH-RESULT-AS-X (g 3 4 (LWRA-Y (+ X Y)))) < 1195926392 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :see? < 1195926395 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :no stack < 1195926405 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you can just push the arguments and that function (the continuation) to the stack < 1195926407 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and GOTO < 1195926419 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then, when it's done, it continues executing from the lambda, called with the result < 1195926433 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it's not an interpretation strategy although you could use it that way < 1195926435 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I don't see yet, but let me think for a minute < 1195926438 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :more of a compiling strategy < 1195926472 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :f and g taking 3 params? < 1195926479 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :with the third as the function called? < 1195926483 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :err, wait < 1195926484 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :I'm wrong < 1195926490 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(f 1 2 (LAMBDA-WITH-RESULT-AS-X (g 3 4 (LWRA-Y (+ X Y NIL-LAMBDA)))) < 1195926490 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1195926494 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :there, with NIL-LAMBDA you can see < 1195926501 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think so < 1195926510 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :then it becomes basically like tail-recursion? < 1195926512 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :every F taking arguments N now takes N+1 arguments, and its first N arguments must be simple atoms < 1195926514 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :"hello world" < 1195926514 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :2 < 1195926517 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but not function calls, etc < 1195926525 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you execute the innermost function < 1195926530 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :which then tailcalls the Nth argument < 1195926534 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :which executes one less < 1195926534 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1195926537 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :until you get to the toplevel < 1195926548 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you never need to push to a callstack < 1195926552 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :every call is a tail call < 1195926558 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's nifty < 1195926576 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :indeed! < 1195926582 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I have to remember that one :D < 1195926614 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :here's one way to think about it, Figs. < 1195926624 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the new extra parameter < 1195926625 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :is "return" < 1195926686 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I think I get it :) < 1195926726 0 :Slereah-!n=Slereah@ANantes-252-1-78-189.w86-195.abo.wanadoo.fr JOIN :#esoteric < 1195926738 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what are the limits of it? < 1195926770 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :none < 1195926778 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :any expression can be converted to it < 1195926796 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1195926812 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1195926813 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Continuation-passing_style has a factorial and other examples < 1195926829 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the return parameter in them is called 'k' < 1195926832 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it's convention < 1195926920 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1195926921 0 :puzzlet_!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195927257 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what exactly is a "normal form"? O.o < 1195927266 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is reading about ANF now < 1195927341 0 :Slereah!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1195927353 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BNF, you mean? < 1195927360 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :no < 1195927365 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Administrative Normal Form < 1195927366 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION go boom < 1195927423 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :is it just the "standard way" to represent a particular type of information? or does it mean more than just the regular meaning of "normal"? < 1195927623 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hrm. well there's also CNF (Chomsky Normal Form) which is a context free grammar without epsilon except optionally for the start rule, afaict. < 1195928838 0 :Jontte!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1195928921 0 :Jontte!n=joonas@dsl-hkibras1-ff0ac300-216.dhcp.inet.fi JOIN :#esoteric < 1195929314 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195929314 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1195929410 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1195929412 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :back < 1195929431 0 :Slereah-!unknown@unknown.invalid PRIVMSG #esoteric :Welcome back. < 1195929955 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :howdy! < 1195930270 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1195930323 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1195930721 0 :bsmnt_bot!unknown@unknown.invalid QUIT :kubrick.freenode.net irc.freenode.net < 1195930802 0 :bsmnt_bot!i=gavin@rrcs-67-52-47-67.west.biz.rr.com JOIN :#esoteric < 1195931330 0 :asiekierka!unknown@unknown.invalid QUIT : < 1195931456 0 :SEO_DUDE!unknown@unknown.invalid QUIT :Remote closed the connection < 1195932043 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :oh fuck. < 1195932064 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :int foo,*bar; < 1195932066 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :... < 1195932087 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :foo = 3/*bar;/*comment or division by deref?*/ < 1195932087 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you idiot < 1195932088 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1195932095 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and heh < 1195932101 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :where did i see that again < 1195932103 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :reddit? < 1195932108 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1195932119 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that just killed my happy place. :( < 1195932169 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1195932172 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :trivially, it's a comment < 1195932180 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :because /* out of a string ALWAYS means comment < 1195932196 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yeah, but it still makes me sad :P < 1195932256 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :no syntax highlighter (or improperly working one) and lack of obvious */ might make you think it's supposed to be the other... :P < 1195932273 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :reminds me of the \ in a comment... < 1195932342 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :someone should make a c program with loads of stuff like that < 1195932347 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :looking pretty trivial as if it does something < 1195932351 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but it really does something entirely different; < 1195932358 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1195932487 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1195932493 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I just had a really fucked up idea < 1195932532 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :what < 1195932534 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :we should figure out how to write a compile-time "lambda" in C++ templates... < 1195932548 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1195932564 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it's technically turing complete... < 1195932566 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1195932570 0 :SEO_DUDE!i=Deee@gateway/tor/x-d8891f987d61cca5 JOIN :#esoteric < 1195932591 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :people have done it < 1195932597 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :link? < 1195932601 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :people have written factorials in it, people have solved the Queens problem in it < 1195932606 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it's not interesting any more < 1195932610 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that's not what I meant though < 1195932628 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.boost.org/libs/lambda/ does it < 1195932633 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and its widely used < 1195932669 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's totally not what I meant :) < 1195932894 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1195932895 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1195932896 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1195932901 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://wiki.answers.com/Q/Does_the_UNIX_has_GUI this is some kind of abstract poetry < 1195932922 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : object Foo { property A,B,C... }; type Foo-Like {has A,B,C...} < 1195932943 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :reinventing haskell type classes? < 1195932963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or perhaps Ocaml object types < 1195933156 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or would that be ocaml polymorphic records < 1195933227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway that's probably "structural typing", assuming it's static < 1195933720 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um, you already found out < 1195933814 0 :SEO_DUDE!unknown@unknown.invalid QUIT :Remote closed the connection < 1195933833 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :whee < 1195933844 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I already found it, but thanks :D < 1195933859 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: no, hang on a second... < 1195933884 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/oVaoH683.html < 1195933972 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :there you go :D < 1195933979 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :think like that, only much worse... < 1195934046 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1195934049 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Boost's lambda < 1195934057 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :"normal form" usually means some kind of reduced representation, after you've done a set of simplifications or calculations < 1195934078 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: e.g. 2 + 2's normal form is 4 < 1195934106 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: I thought Boost's lambda was rather different, ie, the function gets called at runtime < 1195934112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but exactly what normal form means depends on what simplifications you are talking about < 1195934124 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :whereas everything I'm talking about never gets past compiling < 1195934143 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :thanks oerjan < 1195934150 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1195934212 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i could add Cantor normal form which is a normal form for transfinite ordinals, disjunctive and conjuctive normal forms which are normal forms for boolean expressions, etc. < 1195934286 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Figs: basically you want what you linked but with arbitary arguments < 1195934287 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1195934298 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :& results < 1195934312 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :sort of < 1195934734 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :damn i wish i could breathe fire < 1195935135 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : foo = 3/*bar;/*comment or division by deref?*/ < 1195935154 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :thus haskell's decision to avoid unary operators < 1195935190 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :other than unary minus, no two operators can follow each other < 1195935212 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although sadly {- starts a comment < 1195935225 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(-) = deref < 1195935229 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :wait no < 1195935230 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that's < 1195935233 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :- x = deref < 1195935234 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :mwahahahaa < 1195935297 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :otoh { - is probably not legal haskell unless you write a very weird Num instance < 1195935328 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait... < 1195935390 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn, case -2 of { -2 -> "alas"; _ -> "nope" } is possible < 1195935460 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan's dreams of sensible haskell syntax are shattered! < 1195935498 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if they had chosen {* or something it would not have been a problem, since * is only infix :( < 1195935517 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1195935519 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, there are much worse things in haskell syntax < 1195935520 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1195935661 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the report is not sensible on precedence resolution for example - mixing it in with general parsing. although every compiler ignores the corner cases and resolves separately anyway < 1195935722 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :afk < 1195936329 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ergh < 1195936335 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :all this metaprogramming is breaking my mind :D < 1195937646 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i never metapr*OUCH, STOP IT!* < 1195938086 0 :oerjan!unknown@unknown.invalid QUIT :"Out to meta food" < 1195938203 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i never metaclass that didn't talk about itself < 1195938212 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :*GROAN* < 1195938662 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :T foo; < 1195939183 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: oh my god. < 1195939184 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::O < 1195939303 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :foo = 5; foo = false; < 1195939309 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION laughs maniacally < 1195939376 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oh my fucking god < 1195939376 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :die < 1195940346 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :rofl? < 1195940392 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(_._) < 1195940427 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm actually starting to like Java < 1195940434 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's a bit more sane than C++ < 1195940469 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand, it's kinda verbose < 1195940489 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I do like the fact that I can set just about everything to null and return null all over the place < 1195940501 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :makes life that much simpler < 1195940585 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Figs: use a real language for a bit < 1195940585 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1195940593 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :hehe :P < 1195940610 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION starts trying to get work coding in Brainfuck... < 1195940622 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :j/k < 1195940631 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I'm learning Java for my CS class < 1195940641 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :earmuffs. use them < 1195940647 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In C++, you can return null. < 1195940650 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :on any account do not let yourself be lost! < 1195940660 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Make every function a void *. < 1195940662 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :;p < 1195940672 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's the obnoxious way though :) < 1195940831 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :return (MyRetVal)null; < 1195940894 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :return nix_ObjectFromState(state, NIX_NIL); < 1195941103 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1195941162 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :typeof( T) < 1195941179 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :head, it's exploded < 1195941185 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1195941251 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :... < 1195941253 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :what does that return < 1195941282 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : T < 1195941361 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :T foo foobar.top)> = 5; < 1195941365 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What type is foo? < 1195941383 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is an evil bastard < 1195941385 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1195941387 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :your mother < 1195941391 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I don't think that's valid C++ < 1195941398 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Figs: it is, i know that much < 1195941409 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :typeof isn't a C++ keyword. < 1195941417 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a GNU C++ keyword, however. < 1195941431 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :what are you assigning 5 to? < 1195941451 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :foo, obviously. < 1195941481 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :I don't think that's a valid way to write that. < 1195941488 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :lemme play with it < 1195941507 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fine, fine. < 1195941511 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :stack foobar; < 1195941515 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :foobar.push(5); < 1195941524 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(usually, vector foo, no? not vector foo and you don't put the before declaring a variable like that in normal use. < 1195941531 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: isn't top a function returning a int() < 1195941538 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :uh int& < 1195941557 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :T foo = 5; < 1195941560 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :jix: Might be. < 1195941561 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is suprised nobody asked wtf "return nix_ObjectFromState(state, NIX_NIL);" was < 1195941591 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Figs: The template on vector is on the class, not on the *variable*. ;) < 1195941604 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :that's my point. < 1195941623 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :T foo ... < 1195941639 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric : T foo shouldn't happen like that < 1195941654 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :unless you're doing something else that I'm not thinking of < 1195941681 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :you might get away with it by specializing a function or something, but then you wouldn't be assigning 5 < 1195941687 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :and you'd need () < 1195941693 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION brain-splodes < 1195941705 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :so < 1195941712 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :in other news, Malibu is on fire again... < 1195942019 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION declares C++ pure insanity < 1195942032 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Seriously: int &foo? WTF? < 1195942673 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1195944095 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :what's int &foo? < 1195944124 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :int& foo < 1195944126 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A reference to foo. < 1195944137 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :whee. < 1195944149 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1195944150 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not a pointer, mind. < 1195944164 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :void add(int &x){x++;} < 1195944171 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :int foo = 5; < 1195944175 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :add(foo) < 1195944181 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :it's basically the same thing as a pointer, just you can't change what it points to, and it can't be null... < 1195944181 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :foo is now 6. < 1195944191 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :(and the syntax is sometimes more prettyful) < 1195944207 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :yay prettyful! < 1195944213 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :butterflies and prettyful flowers. < 1195944216 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :Achoo! < 1195944224 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION = braintoast. < 1195944229 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :good night. < 1195944232 0 :Figs!unknown@unknown.invalid PRIVMSG #esoteric :ACTION disappears < 1195944235 0 :Figs!unknown@unknown.invalid QUIT :"Java user signed off" < 1195944238 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cuts a chunk out of a penny < 1195944266 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :c++ is shtupppid < 1195945051 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fashions the penny into a legal-tender blade < 1195945085 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :not legal tender if it's cut up < 1195945113 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If greater than 51% of it is still in one piece, it remains legal tender. < 1195947707 0 :immibis!n=immibis@125-236-168-115.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1195947901 0 :ehird`_!unknown@unknown.invalid QUIT :Remote closed the connection < 1195947910 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric