< 1267315245 0 :mach!~Bodhy-Dha@187.77.21.235 JOIN :#esoteric < 1267316055 0 :mach!unknown@unknown.invalid QUIT :Quit: Saindo < 1267316342 0 :daef!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267317129 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1267320388 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267327337 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1267329260 0 :Sgeo_!unknown@unknown.invalid NICK :Sgeo < 1267333620 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1267334190 0 :bsmntbombdood_!~gavin@97-118-227-222.hlrn.qwest.net JOIN :#esoteric < 1267334269 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Ping timeout: 268 seconds < 1267334780 0 :HackEgo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267334780 0 :EgoBot!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267334916 0 :HackEgo!~HackEgo@codu.xen.prgmr.com JOIN :#esoteric < 1267334917 0 :EgoBot!~EgoBot@codu.xen.prgmr.com JOIN :#esoteric < 1267335119 0 :bsmntbombdood_!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267335282 0 :gm|lap!unknown@unknown.invalid QUIT :Quit: HydraIRC is a child molester -> http://silverex.net/news <- i couldn't change my quit message < 1267336020 0 :bsmntbombdood_!~gavin@97-124-201-235.hlrn.qwest.net JOIN :#esoteric < 1267336678 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1267337542 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1267337708 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=iHlHitIc7pY < 1267338273 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :x used to love that game < 1267338279 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :can't imagine why o_o < 1267338305 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :well I guess it's kinda cool < 1267338714 0 :bsmntbombdood_!unknown@unknown.invalid NICK :bsmntbombdood < 1267338801 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1267338827 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :augur??? < 1267338843 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :o hai < 1267338850 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its awesome is why! < 1267338852 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1267338859 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :augur can you tell me seriously < 1267338863 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what < 1267338927 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :is stuff like qualia just bullshit in the same bag as astrology, reincarnation and e-meters? < 1267338942 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :yes and no. < 1267339010 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1267339014 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :you can't do that < 1267339020 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :it depends on what you mean by qualia. < 1267339022 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :illegal move < 1267339036 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :THIS ARE PHILOLSOPHY < 1267339039 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :IS NO ILLEGAL MOVES < 1267339049 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Qualia are somewhat less bullshit, in that it *can* be used sanely in philosophical discussions. < 1267339055 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I mean "subjective experience of redness" might as well mean "mantra stones which you place on your body which magically heal you using the secrets of crystals" < 1267339066 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :However, they are (inherently) inobservable. < 1267339094 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, all the arguments that try to argue qualia exist make me think of that 'invisible dragon in my garage' story < 1267339122 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :well its true, right < 1267339132 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :there is nothing to qualia, really < 1267339165 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :qualia is what an intelligent system does when it does with its senses. < 1267339177 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but theres nothing more to them than that < 1267339178 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: Except that the subjective experience of redness most certainly does exist in some sense. < 1267339193 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The brain processes input and produces this experience. < 1267339206 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what is the difference between experiencing and believing you're experiencing < 1267339210 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :thats the question i think < 1267339239 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's pretty near impossible to discuss scientifically, though. < 1267339259 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(mostly because we don't have sufficient access to the workings of the human brain) < 1267339281 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(... I should also note: nearly impossible *at the moment*. Technology could change that, in principle.0 < 1267339462 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :it just seems like a made up thing to make people feel better, like reincarnation and free will < 1267339527 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what's bugging me is that some of this stuff just seems like totally trivial concepts unrelated to consciousness -- but it _can't_ be that because then it wouldn't have all these references to consciousness < 1267339638 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... All it is is the interpretation of input by our brains. *That's all*. < 1267339663 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's about as real as gravity, but much harder to *do* anything with. < 1267339695 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(which is why it's entirely in the realm of philosophy: they're willing to discuss "maybe"s for ages.) < 1267339724 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION screams < 1267339749 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I am experience the subjective experience of what the hell does any of this mean < 1267339761 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :So, alise is still MIA? < 1267339766 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: Yes. < 1267339807 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: You see something that is red. It goes to your brain. It gets processed into a qualia. You perceive the qualia, not the red thing. < 1267339889 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :so a qualia means some kind of neuron-state (like neuron 35252 on between 0.3 and 0.34 %, neuron 4543 on 1.1% etc...) < 1267339893 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :? < 1267339911 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :(or possibly a family of states) < 1267339913 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Very roughly, yes. < 1267339942 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(well, some might say "the neuron state is the representation of the qualia", but whatever.) < 1267339948 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :but there was a discussion about being pricked by a pin it woul cause a pain qualia.. and so would a neuron controlling device that directly stimulated the neurons < 1267339974 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :oh so neuron state is syntax < 1267339977 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :and the qualia is semantics < 1267339978 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :? < 1267339993 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Decent interpretation. < 1267340035 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I suppose the semantics are just a matter of the brain interepreting its own state < 1267340057 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :and there is no some kind of mystical dual universe where souls exist and they 'feel' things < 1267340114 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not at all. < 1267340126 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just your brain doing stuff. < 1267340276 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :great! < 1267340354 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Kinda funny how the only way thoughts are perceived is by producing more thoughts. < 1267340369 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Except when they produce action that produces perception. But that's not really perception of thought. < 1267340689 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1267341032 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267341202 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy, whats your OS < 1267341246 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :im on mac os < 1267341266 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :awesome < 1267341271 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :wanna collaborate on a videogame? < 1267341274 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what game < 1267341284 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :a first-person space adventury game < 1267341300 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :that sounds cool < 1267341306 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :but what would I do ? I am not good with computer < 1267341313 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :lame < 1267341342 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ill teach you opengl < 1267341355 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :im gonna probably use the unity engine < 1267341366 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1267342248 0 :bsmntbombdood!~gavin@97-124-201-235.hlrn.qwest.net JOIN :#esoteric < 1267342254 0 :asiekierka!asiekierka@078088180066.elblag.vectranet.pl JOIN :#esoteric < 1267342260 0 :asiekierka!unknown@unknown.invalid NICK :alise < 1267342261 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1267342263 0 :alise!unknown@unknown.invalid NICK :asiekierka < 1267342329 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1267342349 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :should i change the topic to reflect the latest alise sighting < 1267342540 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :alise!! :) < 1267342547 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :you are not alise fuck you < 1267342548 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ugh < 1267342553 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what a dick < 1267342651 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :who's alise < 1267342652 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :even < 1267342673 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :alise is ehird. < 1267342695 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :noooo uorygl you ruined it D: < 1267342696 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I thought it was actually him < 1267342707 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :and I have been worrying about this today < 1267342722 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :EHIRD? < 1267342724 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :oh man no < 1267342767 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Oops, I ruined it. < 1267342779 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Yes < 1267342787 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :I wish i hadn't done that now that I impersonated the last person I would < 1267342966 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION also wished you hadn't < 1267343012 0 :asiekierka!unknown@unknown.invalid TOPIC #esoteric :0 days since last topic change | 1 week since last alise sighting | For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D | * MissPiggy also wished you hadn't < 1267343924 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1267343987 0 :cheater2!~cheater@ip-80-226-46-168.vodafone-net.de JOIN :#esoteric < 1267343999 0 :clog!unknown@unknown.invalid QUIT :ended < 1267344000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1267345468 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1267346938 0 :asiekierka!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1267347881 0 :Gracenotes!unknown@unknown.invalid QUIT :Quit: Leaving < 1267349295 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1267351794 0 :KingOfKarlsruhe!~nice@p5B133EBE.dip.t-dialin.net JOIN :#esoteric < 1267352036 0 :coppro!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267352291 0 :sebbu2!~sebbu@ADijon-152-1-20-179.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1267352335 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1267352578 0 :sebbu2!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1267352910 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there? I found another issue with implementing SOCK: in the fingerprint and in the BSD-style API you first create a socket, then bind it to a port and so on < 1267352918 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, in the erlang api this is one single call < 1267352936 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So don't do anything until you need to bind... < 1267352939 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like you just call listen(), instead of socket(), bind(), listen(), ... < 1267353005 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yep, I just find it somewhat annoying to emulate API A on top of API B, where API B is an abstraction for API A basically < 1267353006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1267353030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also this means reflecting may happen later than expected < 1267353035 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Hey, you know CMake, right? If I have set(ARGS "foo bar") how can I execute_process(COMMAND blah "${ARGS}") so that each arg in ARGS is passed separately instead of as a single argument "foo bar" < 1267353060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm. I haven't tried that. What about dropping the quotes? < 1267353064 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in the second one < 1267353071 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No difference < 1267353085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm.. < 1267353109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I think I saw something to do that some time ago < 1267353115 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I don't remember where < 1267353118 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But you don't remember what or where ;-P < 1267353133 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I've been googling for it for a while now with no luck < 1267353145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, indeed... < 1267353193 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Every use case I can find seems to have hard-coded args, nothing like this < 1267353214 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Typically running ${PROG} --version or suchlike) < 1267353228 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, tried shell syntax for it? < 1267353236 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean? < 1267353240 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I mean, "${ARGS[@]}" < 1267353247 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Eh < 1267353250 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it'll work :-P < 1267353255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, worth a try perhaps < 1267353259 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sure < 1267353268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm isn't there a list type thingy? < 1267353271 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Syntax error < 1267353292 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, if I drop the quotes from the earlier and do set(ARGS foo bar) it makes a semicolon-separated list automatically ;-P < 1267353320 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no I mean as in list() < 1267353338 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh maybe it maps to the same below < 1267353344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :NOTES: A list in cmake is a ; separated group of strings. < 1267353347 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1267353356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but what about extracting from that? < 1267353360 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How? < 1267353375 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, I haven't really used lists in cmake < 1267353421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, try the cmake mailing list? < 1267353423 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course I can do list(GET "${ARGS}" 0 ARG_0) list(GET "${ARGS} 1 ARG_1) and then COMMAND blah ${ARG_0} ${ARG_1} but eh... no < 1267353444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that would be silly < 1267353453 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's the only option I can think of < 1267353476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what about list and not using quotes when using it? < 1267353522 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Amazing, I'd somehow not tried that pair < 1267353534 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if this breaks if one of the arguments contains a semicolon < 1267353540 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yep, it does < 1267353571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, did it work if the arguments did not contain semi-colons? < 1267353575 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well I don't think I'll be needing semicolons so I guess I'm good < 1267353577 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, thanks < 1267353590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :quite odd really when you think about it < 1267353599 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I guess if the user has a directory containing semicolons in its name that's their fault :-P < 1267353600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what are you using cmake for btw? < 1267353614 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI2 < 1267353623 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1267353711 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so you are making progress with it? All D bugs blocking it fixed? < 1267353735 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, I just decided to not implement the thing which requires those bugs to be fixed < 1267353748 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and what was that thing? < 1267353752 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :At least not yet; maybe when it's the only thing left I'll come up with something better < 1267353761 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Per-IP fingerprint constructors < 1267353770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, errr what would they do? < 1267353799 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :don't you load the fingerprint per-ip anyway? < 1267353805 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :E.g. MODE's constructor and destructor switches stack<->deque < 1267353816 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1267353830 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And yes, but the constructors/destructors are currently called only when the global loaded count is/becomes 0 < 1267353856 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I can't remember off the top of my head but there are some cases where this is actually a correctness issue as well as a pessimization < 1267353859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but isn't that controlled by one of the instructions of MODE rather than by loading/unloading the fingerprint? < 1267353869 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, it's not < 1267353879 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh deque < 1267353881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not queue < 1267353882 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :misread < 1267353910 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Flipping the mode would be too extensive if it had to copy the stack every time < 1267353915 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1267353921 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Expensive* < 1267353922 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gah < 1267353941 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but if you are aiming for high speed here, why are you implementing that stuff at all? :P < 1267353969 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because as I said a few days ago: CCBI aims for correctness > fingerprint support > speed < 1267353973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1267353980 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :TRDS comes first, then speed :-P < 1267353989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and I'm quite confident you can't beat cfunge then at speed < 1267354001 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :We'll see < 1267354003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless you do JIT-ing suddently < 1267354017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but JIT doesn't really work if you support t < 1267354023 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Befunge is kinda hard to JIT < 1267354041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, with a single IP you can do it like fizzie was doing. < 1267354054 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but we need the TRDS support and everything ;-P < 1267354058 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with multiple IPs... well I doubt it is possible to gain anything with it < 1267354085 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I guess one could JIT while only one IP exists < 1267354096 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure, that could work I guess < 1267354098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also, how abstracted is your stack? < 1267354119 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But that's a bit tricky anyways, and I'm not in the mood for making it x86-only like jitfunge :-P < 1267354127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, llvm! < 1267354139 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :True enough < 1267354151 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still what about your stack abstraction < 1267354152 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Last I checked my stack was fully abstracted < 1267354175 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so, { and } aren't implemented as using memcpy() or similar? < 1267354176 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1267354187 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, they aren't < 1267354197 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That might change if it seems problematic < 1267354228 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, cfunge's stack is quite well optimised in most parts < 1267354269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :abstracted yes, but the abstraction contains lots of befunge-specific functions < 1267354287 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Do you know if CMake supports some kinda categories for options? So it's not all flat at the top level in ccmake for example < 1267354300 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1267354303 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, advanced/non-advanced is all afaik < 1267354310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Meh < 1267354323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, write a patch! file a feature request! < 1267354333 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't care enough < 1267354337 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1267354351 0 :sebbu!~sebbu@ADijon-152-1-20-179.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1267354382 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Is it summarized somewhere what exactly happens in the configure/build steps respectively? < 1267354394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how do you mean? < 1267354412 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Configure runs the CMakeLists, build does what? < 1267354416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could set the verbose flag in the advanced config section to make it output what commands are executed < 1267354425 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I mean semantically what does it do < 1267354437 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If I put a command foo in CMakeLists, is it always run at configure time < 1267354447 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If so, what exactly is run at build time < 1267354456 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I guess it says in the docs? Like "execute_process runs the thingy during configuration" or such < 1267354477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to run at build time you would use a custom target < 1267354491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge uses one of those iirc < 1267354525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for generating man page using help2man < 1267354529 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So essentially build time is what's defined in add_executable / add_library / add_custom_*? < 1267354540 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, basically yes < 1267354554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, there is the install() one that maps to make install of course < 1267354572 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, there's install time separately, true < 1267354584 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And I think there was some post-install thing in one of the add_custom_* too < 1267354602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :possibly, when i use those I check the docs < 1267354606 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/i/I/ < 1267354609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1267354631 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s#/i/I/#/ i / I /# < 1267354637 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1267354675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, now rewrite the last one using / as the separator instead of # :P < 1267354703 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267354740 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :s/(i)/ \1 /i < 1267354772 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, err what? < 1267354775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't work < 1267354783 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it results in "poss I bly" < 1267354794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1267354800 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It modifies your s/i/I/ command < 1267354800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what does the i modifier do now again? < 1267354807 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not the original string < 1267354837 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :i is case-insensitive < 1267354839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1267354847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, you need g to make that work then < 1267354860 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I just realized < 1267354882 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nice way to do it though < 1267354909 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Alternatively s/([iI])/ \1 /g of course < 1267354922 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But, I'm leaving for a few hours now -> < 1267354950 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cya < 1267354979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to figure out in which order the BSD style socket API functions are called < 1267355027 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is it socket -> bind -> (connect|listen) ? < 1267355046 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1267355214 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, though you don't necessarily need to bind before connecting, IIRC. < 1267356805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ah, but is it allowed? < 1267356829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, also, can you call setsockopt() both before and after listen()/connect()? < 1267356834 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Or only before? < 1267356868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and further: how does it work for UDP sockets? I have no clue really :/ < 1267357308 0 :MissPiggy!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1267357797 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's allowed, it's just that if you connect an unbound socket, it's going to get bound to a random local port. < 1267357806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hrrm < 1267357815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and what about udp. How is it done < 1267357826 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :again, erlang offers a very high level API for it only < 1267357872 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well. For UDP sockets connect means just "set the default address for which packets will be sent if you don't use sendto." < 1267357913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and what about bind() on them? < 1267357964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, how do you listen to an UDP socket with the BSD API < 1267357993 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :bind assings the local address. You don't need to (and can't) call listen/accept. < 1267358025 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But specifying the remote address with connect makes the socket only receive packets from that address. < 1267358026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you do socket() -> bind() -> recv() ? < 1267358055 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, or socket-bind-connect-recv if you want to talk with only one host. < 1267358062 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1267358110 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you don't specify the remote side with connect, you'll recv all packets targeting the address you bound to. < 1267358117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sigh... erlang doesn't have that in it's udp API. it has open(Port, Options), recv(Socket, Length, Timeout) and send(Scoket, Address, Port, Packet) < 1267358134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for udp < 1267358140 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can do that manually if you want, though. < 1267358145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait, I think open() has it < 1267358148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in one of the options < 1267358158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah no, it is what local IP to bind to < 1267358183 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And I think connecting an unbound UDP socket also does the "bind to random local port" thing. < 1267358191 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1267358209 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for open(): "If Port == 0, the underlying OS assigns a free UDP port, use inet:port/1 to retrieve it." < 1267358281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, even more confusing is the "active" mode sockets of erlang, where arriving tcp/udp data is transformed into erlang messages sent to the process in question < 1267358285 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is the default mode < 1267358301 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and that would have been a pain to emulate with, there are luckily passive sockets too < 1267358315 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 256 seconds < 1267358318 0 :cheater3!~cheater@ip-80-226-46-168.vodafone-net.de JOIN :#esoteric < 1267358351 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :man 7 udp's second description paragraph (at least in my man pages) is reasonably complete. < 1267358396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh and you can get erlang to automatically group tcp streams into various packet formats for you, like "line-based", "" "asn1" "fcgi" "sunrm" "tpkt" and a few other ones < 1267358434 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I suppose it's logical that Erlang makes communications easy. < 1267358468 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well, it just makes emulating the low level stuff in efunge hard < 1267358476 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess with SOCK you need to always use connect even with udp sockets, since you can't otherwise specify the address to send to. < 1267358477 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for most apps I guess this higher level API is nicer < 1267358515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, yes and the whole thing maps badly onto erlang's API. Especially for UDP it will be tricky. Plus mycology only tests TCP < 1267358547 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1267358568 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's a bit shame in the sense that you can't as easily use a single UDP socket to serve a large number of clients. < 1267358586 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hm? < 1267358592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think broadcast is supported by erlang < 1267358603 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least there is an option for it, with the note that it only applies to UDP < 1267358610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and not to TCP or SCTP) < 1267358624 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(or maybe to SCTP, let me check gen_sctp manual) < 1267358630 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but I mean serving many unicast clients with one socket using the SOCK fingerprint. < 1267358660 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm not sctp I guess < 1267358670 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you could use bind()? < 1267358675 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :After you C the socket to one client to send data, you can't un-C it to receive packets from others. < 1267358679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like socket() -> bind() -> recev() ? < 1267358683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :recv* < 1267358703 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That helps only if you never need to send anything. < 1267358752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh good point < 1267358773 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well, I don't have connect() for UDP in erlang, so I will have to emulate that... < 1267358794 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, even the undesired aspects of it. < 1267358811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1267358833 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267358836 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :With real connect(2), you can "disassociate" the remote-endpoint address for a UDP socket by connect(2)ing to an AF_UNSPEC address family address, but I don't suppose that's possible with SOCK? < 1267358844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, if I actually ever make NSCK, I will make it closer to the erlang API, because it is easier to emulate that from C than the reverse way around < 1267358877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :C (s ct prt addr -- ) Open a connection < 1267358890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :where ct is 1=AF_UNIX, 2=AF_INET < 1267358898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and 1=AF_UNIX is broken < 1267358907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since we can't know length of addr < 1267358912 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :without knowing what family we have < 1267358930 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right. I guess you could extend that by defining 0=AF_UNSPEC, but it might not be worth it. < 1267358934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as the note says on the rc page: < 1267358938 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"ct=1 and pf=1 are a broken spec and should not be implemented. Usage of either of these should reflect." < 1267358959 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There aren't very many UDP servers written with Funge-98 anyway. < 1267358963 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, it would be better to just design a high level API that also could support unix socket and inet6 < 1267358988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and possibly sctp < 1267358998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not that anyone uses it, which is a shame < 1267359066 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you wish, though you could do a far better low-level API than SOCK is too. < 1267359084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, but then I would have to write a test suite < 1267359113 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus you would need to rewrite fungot to make use of it < 1267359114 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they say that it's a blast when you are boring, not knowing who he would have known it, " hey guys, *wield* a lizard corpse is guaranteed to be quite popular. there aren't any penguins this far inland. there's nothing to take on the helmet, the first time to save your game is now before it's too late. < 1267359119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I would have to implement it in cfunge < 1267359145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't really feel like dealing with C currently < 1267359210 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, why did the bot put * around "wield"? < 1267359224 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm going to have to rewrite fungot to use NSCK anyway, if you do that. I don't suppose those will be such large changes, though; there's only one place where it establishes a connection, after that it's just read/write (or recv/send, though the SOCK R/W map more closely to read/write). < 1267359225 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: dark one:... it came! one, single, savage thrust of her lover. if she kills the lynx, she was as a distress signal, and the four men, bending eagerly forward, saw the occupant a huddled, withered, wizened shape, very magic ( in a glittering cascade, they prayed at the goldsmith's store. there aren't any skua gulls to imitate, except that the thing about genocide is that it is food and clothing for their relentless perse < 1267359230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^style < 1267359231 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack* pa speeches ss wp youtube < 1267359250 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :save game before it is too late? < 1267359256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is quite un-nethacky < 1267359258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-_- < 1267359288 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, well: < 1267359290 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :rumors.fal:They say that the best time to save your game is now before it's too late. < 1267359297 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's classified as "false", too. < 1267359298 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1267359356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, actually I would probably make separate TCP and UDP fingerprints, since if you go for a high level API they are rather different < 1267359361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I refuse to go for a low level API < 1267359394 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus TCP and UDP would be a nice way to check how much various interpreters depend on fingerprints being 4 letters < 1267359395 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1267359458 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cfunge and efunge themselves should handle it. I'm not so sure about the maintenance scripts for the fingerprint system. < 1267359602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, do you need to call shutdown() before you call close()? < 1267359610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for TCP that is < 1267359625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since erlang API does have shutdown() and close() for TCP < 1267359663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and cfunge seems to first use shutdown() with SHUT_RDWR, then close() < 1267359672 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember why < 1267359843 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure either. I think the main benefit of shutdown() is that you can half-close the connection. < 1267359873 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But I think just close() without a shutdown will do the clean TCP connection tear-down. < 1267360120 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh, erlang doesn't provide a poll() interface? I'm 100% sure it uses epoll and kqueue internally if available < 1267360137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it seems it abstracts such things away from the high level API? < 1267360353 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1267360439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think you are supposed to use multiple threads or some such instead < 1267360452 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, that would make it hard to provide a nice interface for polling sadly < 1267360478 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless you could use the {active,once} mode that sends messages for one message then switches to passive < 1267360600 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267361639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, there still? How does this sound http://sprunge.us/cBWI < 1267361649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course very early draft < 1267361656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with just the overall layout specified yet < 1267363937 0 :MizardX!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267363959 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1267364875 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1267367062 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1267368156 0 :KingOfKarlsruhe!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267368349 0 :MizardX!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267368359 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1267368447 0 :happyKoalla!~Administr@77.78.9.148 JOIN :#esoteric < 1267368838 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1267369020 0 :scarf!~scarf@unaffiliated/ais523 JOIN :#esoteric < 1267371824 0 :Asztal!~asztal@host86-156-192-244.range86-156.btcentralplus.com JOIN :#esoteric < 1267372045 0 :Azstal!~asztal@host86-155-77-26.range86-155.btcentralplus.com JOIN :#esoteric < 1267372137 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267372916 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267372926 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267374040 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267375141 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1267375451 0 :MissPiggy!~none@unaffiliated/fax JOIN :#esoteric < 1267376834 0 :cheater3!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1267378342 0 :MizardX-!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1267378343 0 :MizardX!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267378370 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1267378993 0 :happyKoalla!unknown@unknown.invalid QUIT :Quit: Leaving. < 1267379857 0 :ehird!~ehird@95.145.64.3 JOIN :#esoteric < 1267379947 0 :ehird!unknown@unknown.invalid QUIT :Client Quit < 1267380420 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :happy australian mailing list reminders day? < 1267380422 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :also, that was ehird < 1267380427 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :yay, at least he's still alive < 1267380489 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1267380497 0 :ehird!~ehird@95.145.64.3 JOIN :#esoteric < 1267380502 0 :ehird!unknown@unknown.invalid NICK :alise < 1267380506 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :hi! < 1267380513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, my life. < 1267380515 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric-priv, stat. < 1267380610 0 :cheater2!~cheater@ip-80-226-211-179.vodafone-net.de JOIN :#esoteric < 1267380669 0 :Deewiant!unknown@unknown.invalid TOPIC #esoteric :0 days since last topic change | 0 days since last alise sighting | For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1267380686 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :wb alise < 1267380691 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Thank you. < 1267380713 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi alise < 1267381235 0 :asiekierka!asiekierka@078088180066.elblag.vectranet.pl JOIN :#esoteric < 1267381246 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Oh no, it's ehird < 1267381274 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :e=a, r=s, d=e, h=l < 1267381379 0 :MigoMipo!~migomipo@scandic824.host.songnetworks.se JOIN :#esoteric < 1267382795 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1267383390 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267383561 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: In #esoteric? < 1267383567 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes, in here. < 1267383612 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"M' sxat' vid' l' lingv'.", I say in horrifically butchered Esperanto. < 1267383637 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Lovely! Now translate. < 1267383646 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to see the language. < 1267383688 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, it's not /intentionally/ esoteric, but it does require a Ph.D. to understand... < 1267383703 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or ehirdness? < 1267383710 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Same thing. < 1267383715 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1267383721 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hey, Epigram's mailing list is hosted in the university of the county I am in! < 1267383752 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :DEPENDENTLY-TYPED BUDDIES < 1267383774 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Anyway, it's the same dependently-typed fuddlepip I've been on about for ages. < 1267383895 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Fun. < 1267383921 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Recent developments... uh, I realised a few days ago that the way it defines equality means that function1 === function2 means "function1 gives the same results as function2 for all inputs". < 1267383925 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :My language can do the freaking impossible! < 1267383936 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Hah. < 1267383953 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: But it can actually compute it! < 1267383961 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Admittedly for /tricky/ things you need to give it some proof mon. < 1267383967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: So, your language is total? < 1267383968 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But still, coooool. < 1267383987 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Yes - but it doesn't check all inputs, total languages can still have infinite input and output sets, lilke Nat. < 1267383993 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also, with the partiality monad it's turing-complete. < 1267384001 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmm. < 1267384005 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Here's the definition of equalilty: < 1267384008 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*equality < 1267384029 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data _===_ : {a:*} -> (x:a) -> a -> * where < 1267384035 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : ===-refl : x === x < 1267384051 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e., (a === b), where a and b are values of any type, is a type. < 1267384065 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :If a and b are the same, then there is a value of that type (===-refl). < 1267384065 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :o.o < 1267384067 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, the type is empty. < 1267384079 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Since types = statements and values = proofs... < 1267384080 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Tada! < 1267384095 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"The same" means "indistinguishable", btw, i.e. the normal forms are the same. < 1267384117 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Setoids/quotient types let you define your own equality relation, basically by making two "equal" elements indistinguishable even if they wouldn't normally be with Fancy Stuff. < 1267384130 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: So, uh, how much of that did you understand? < 1267384162 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Uh. I'm not sure I grok the definition. < 1267384259 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :* is the type of types < 1267384288 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(foo : t) -> is the same as t -> but we bind the /value/ of the argument to foo in the type < 1267384292 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(not at runtime, it's the dependent magic) < 1267384331 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :{x} is just like x except the argument is inferred, i.e. the compiler works out the value < 1267384338 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we don't need to specify it < 1267384347 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the data clause is just like haskell's gadt < 1267384369 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so === takes, inferred, a type "a" (this is like forall a.), a value x of that type, another value of that type, and results in a type. < 1267384379 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so within the constructors we have x bound to the first value < 1267384383 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so we do, basically < 1267384388 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :YepIndeed :: Equal x x < 1267384399 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e. ===-refl is a value of type x === x, and there are no other constructors < 1267384407 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so we cannot construct a value of type x === y unless x and y are the same < 1267384408 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Q.E.D. < 1267384604 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Get it? < 1267384716 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Am I to take that as a no? :P < 1267384736 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :WHOOHOO < 1267384756 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: wat < 1267384758 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :alise in Coq you can use ifte on anything with two constructors < 1267384779 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So you couldn't ifte an x === y by my definition? < 1267384779 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :so bool {true,false} and P + Q {inl pPrf, inr qPrf} etc < 1267384783 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Uber-lame. < 1267384790 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1267384798 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :don't you see? < 1267384805 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Don't I see what? < 1267384817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :My definition is better because it uses the proper curry-howard view of types anyway :|. < 1267384822 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1267384835 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :my d < 1267384848 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1267384920 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ping < 1267384958 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: you displease me < 1267384962 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :anyone else want to hear me blab? < 1267385021 0 :impomatic!~chatzilla@87.115.63.42.plusnet.pcl-ag01.dyn.plus.net JOIN :#esoteric < 1267385027 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Hi :-) < 1267385040 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yo. < 1267385109 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :lol] < 1267385111 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1267385116 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :alise is fed up o fme < 1267385122 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :because I tried to talk about my own stuff < 1267385125 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i'm not I just already < 1267385131 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :explained everything I was gonna :) < 1267385132 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I just alread the whole thing < 1267385134 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :also ifte is yours you mmean? < 1267385137 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*mean < 1267385139 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :as opposed to Coq's < 1267385142 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :SO THE LAMENESS IS ON YOUR PART < 1267385142 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I just already the whole thing I was gonna < 1267385150 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :okay sry :D < 1267385152 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :didn't know yo < 1267385152 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :no my algebra is mine < 1267385152 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you can < 1267385163 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ifte is from coq and it's not lame ! it's good < 1267385168 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :it's like in haskell if could do < 1267385182 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :say f :: Either a b, if f then p else q < 1267385233 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes but < 1267385246 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :mine is the /real/ meaning of if then else, i.e. if /true/ < 1267385259 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and truth in such a lang is presence-of-value < 1267385271 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the construct you mention may be more useful < 1267385282 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but mine lets you write things like "if x < y" with < : a -> a -> * and have it work coherently < 1267385288 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which is jawsome < 1267385295 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i think that op would be useful that you mention under a different name < 1267385371 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :the true meaning if IF HYP THEN CONS ELSE ALT is HYP /\ CONS \/ ~HYP /\ ALT < 1267385401 0 :asiekierka!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1267385649 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1267385674 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: right but we're trying to import type-level truths into value-level conditionals < 1267385684 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :alright < 1267385689 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fact is this is a useful operation I'm sure you can't deny that branching on (x < y) is common < 1267385692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ifte looks like a good op too though < 1267385699 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what's your take on typeclasses, in a dependently typed setting anyway? < 1267385716 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :typeclasses suck anywhere :/ < 1267385734 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :to me they seem very useful (I am using them a bit actually), but it's quite complicated and magic which I don't like < 1267385782 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :They are useful but they have such complications, even functional dependencies result in lots of ambiguity. < 1267385792 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Has anyone actually formalised them, I wonder? < 1267385817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm mixfix operators could do with a character signifying whitespace < 1267385828 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :_[_]^:=_ < 1267386195 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Sorry, doing a kanji review. < 1267386224 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Kanji re-JEW < 1267386268 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not all that Jewish. < 1267386308 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So I'm using the Unicode minus sign − instead of - for subtraction. < 1267386313 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I may or may not be Unicode-mad. < 1267386318 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oooh. < 1267386405 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: That definition of _===_ I gave you? That's not the /real/ definition. < 1267386412 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wanna see the /real/ definition? < 1267386417 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1267386424 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :יהודי חוזר יפנית < 1267386455 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: How Jewish of you. < 1267386478 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data _≡_ : {a:∗} → (x:a) → a → ∗ where < 1267386479 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : ≡refl : a ≡ a < 1267386484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Behold the Unicode, bitch. < 1267386487 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Erm < 1267386490 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I got it slightly wrong < 1267386496 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Mmm, Unicode. < 1267386504 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data _≡_ : {a:∗} → (x:a) → a → ∗ where < 1267386504 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : ≡-refl : x ≡ x < 1267386511 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :אני חושבת שאני מפנה הישראלי, אני חושב שאני מפנה הישראלי, אני באמת חושב כך < 1267386564 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: So. data === with a being a type, x being the same type as a, mapping from a to a type, where the property "x === x" is true? < 1267386572 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1267386577 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Let me rewrite it in Haskell + some notation. < 1267386579 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hooray, I fail. < 1267386583 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: You know GADTs, right? < 1267386588 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That'd help -- your notation is dense. < 1267386596 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Somewhat. < 1267386666 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data Eq :: forall a. (x:a) -> a -> * where < 1267386666 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Constructor :: Eq x x < 1267386667 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : < 1267386667 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The only additional notation you need here is (x:a) -> ... means a -> ..., except at the type-level (at compile-time, not run-time; it's complicated), we bind the run-time value of the argument to the name x. < 1267386688 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and we can give value arguments to types. < 1267386689 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Just accept that. < 1267386703 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1267386706 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So: "Constructor :: Eq 2 2", and "Constructor :: Eq (2+2) (3+1)" but not "Constructor :: Eq 1 2". < 1267386713 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's fairly straightforward. < 1267386721 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Since values = proofs and types = logical statements, voila! < 1267386725 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Reddit is slow today :-( < 1267386728 0 :scarf!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267386746 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Oh, you want me to BLOW YOUR FREAKIN' MIND? < 1267386750 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Do you know what Leibniz's law is? < 1267386780 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I do, but please inform this gentleman, as he is a Mongolian. He doesn't even have a cow! < 1267386817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Identity_of_indiscernibles < 1267386822 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :your fucking Mongolian can read WP bitch :| < 1267386830 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hah. < 1267386871 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, okay. < 1267386879 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :leibniz : {a:∗} → {P : a → a} → {x:a} → {y:a} → {x ≡ y} → P x → P y < 1267386881 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Read out, < 1267386913 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You just did Leibniz's law in your language. < 1267386915 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"For a given type a, and a given function from a to a (P), and two values x and y of type a, and given x === y, then P x implies P y.@ < 1267386916 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's beautiful. < 1267386917 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*P y." < 1267386919 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :As a function: < 1267386932 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION agrees with pikhq < 1267386956 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"Give me (implicitly): a type a, a function (a -> a) P, an a x, an a y, an x === y. Then give me a value of type (P x). I'll give you a value of type (P y)." < 1267386965 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: The best part? Here's the definition (proof). < 1267386967 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :leibniz = _ < 1267386972 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The compiler can PROVE IT AUTOMATICALLY. < 1267386977 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1267386978 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This isn't just theory; Agda does it. < 1267386982 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Agda does it < 1267386990 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :This might be a pain to implement. < 1267387015 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's exactly the same as writing a constructivist proof system, which is exactly the same as writing a dependently-typed, total programming language. < 1267387028 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :agda doesn't do that :S < 1267387029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(... In the sense that Haskell is a pain to implement well.) < 1267387034 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: yeah it does < 1267387037 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I've seen the definition < 1267387043 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :youcan't write leibniz = _ < 1267387050 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sec < 1267387051 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lemme find it < 1267387063 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267387131 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cs.nott.ac.uk/~nad/repos/lib/src/Relation/Binary/PropositionalEquality/Core.agda < 1267387138 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's either sym, trans or subst; I forget whicch < 1267387161 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cs.nott.ac.uk/~nad/repos/lib/src/Relation/Binary/PropositionalEquality.agda some more properties including subst_2 < 1267387166 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(subst on 2-adic functions) < 1267387196 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :? < 1267387205 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what < 1267387213 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :one of those IS leibniz just named funny and under a wall of types < 1267387219 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if you expand all the types it does come out to the type I showed < 1267387223 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :the definition is not = _ < 1267387238 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's = refl < 1267387239 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :same thing < 1267387243 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :not the same :P < 1267387253 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1267387263 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267387297 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267387529 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :{a:∗} → {x:a} → {y:a} → ({P : a → a} → P x → P y) → x ≡ y < 1267387532 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is more interesting < 1267387925 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :alise: does your language have * : *? < 1267387956 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Also, did I miss the #esoteric-priv stuff? < 1267388342 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1267388344 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :uorygl: And no. < 1267388348 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The other way around. < 1267388361 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It has ∗ : ∗n 1 < 1267388363 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and you missed it < 1267388368 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods. < 1267388390 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure how to split Set/Prop though, what symbols, whether to have a supertype etc < 1267388393 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if I can get my hands on the #esoteric-priv stuff somehow. < 1267388496 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ask MissPiggy for the complete log. < 1267388525 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy, may I please have the complete log? < 1267389193 0 :impomatic!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1267389991 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: did you give it to uorygl? < 1267390006 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :I don't seem to have received it. < 1267390092 0 :MigoMipo!~MigoMipo@scandic824.host.songnetworks.se JOIN :#esoteric < 1267390096 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :bad MissPiggy, bad! :P < 1267390108 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pout < 1267390553 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :foo : {a:*} -> {x:a} -> {y:a} -> ({P : a -> a} -> P x -> P y) -> x === y < 1267390554 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :foo {_} {x} f = f {x ===} _ < 1267390557 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Proven, beeyotch. < 1267390559 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think. < 1267390578 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I guess letting P involve === is kinda cheating though. < 1267390890 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 258 seconds < 1267390945 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267391213 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://igoro.com/archive/human-heart-is-a-turing-machine-research-on-xbox-360-shows-wait-what/ < 1267391326 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :old :P < 1267391362 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but cool < 1267391422 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to play a bit of RoboZZle < 1267391731 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to try asikierka's tree < 1267391879 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That was too easy, and didn't feel treelike < 1267392029 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1267392515 0 :zzo38!~zzo38@h24-207-48-53.dlt.dccnet.com JOIN :#esoteric < 1267392673 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I wrote on 10.02.26 that (fork\I) is "the set of all single element sets of single element sets". But now I think that's wrong. It is (I) itself that is "the set of all single element sets of single element sets". < 1267392757 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(fork\I) is simply "the set of all single element sets". < 1267392847 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I also want to know if you know any other set paradoxes. < 1267392856 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(Other than Russell paradox) < 1267392865 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :set of all ordinals < 1267392876 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :although it is very similar < 1267393089 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :OK, I found it, and I found out its similarity < 1267393299 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I want to figure out how to represent it in Hyper Set Language. I noticed that the set of all natural numbers is naturals=successor%0; < 1267393317 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :But you can get the successor of that, too (successor/naturals) < 1267393342 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :And even (successor%naturals) < 1267393544 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I prefer the "Nostalgia" skin in Wikipedia but esolang wiki doesn't have that one < 1267393865 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :set of all natural numbers: < 1267393978 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data ℕ : ★ where < 1267393978 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : 0 : ℕ < 1267393978 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S : ℕ → ℕ < 1267394002 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :for the unicode challenged < 1267394006 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data N : * where < 1267394006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, Deewiant: http://sprunge.us/cjVA <-- early draft for that < 1267394008 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : 0 : N < 1267394010 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : S : N -> N < 1267394010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hi alise < 1267394012 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :imma make a video game :D < 1267394018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, you weren't here the last few days < 1267394021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what happened < 1267394029 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I wasn't, and I'd rather not talk about it. < 1267394036 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1267394172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Nothing much to worry about, though. < 1267394176 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :augur: What game? < 1267394207 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :some sort of space piloting game that puts you in a situation like Farscape < 1267394216 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1267394264 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: basically you're stuck in a far off part of the universe having to escape some crazy super powerful dudes < 1267394273 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :and your ship is all fucked up so it doesnt do quite what you want it to do < 1267394273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, any opinion on http://sprunge.us/cjVA ? < 1267394291 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :but you dont have money, you have to work using your only resource: your ship < 1267394292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is a rather early draft of course < 1267394298 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no details about most commands yet < 1267394303 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :and you can do various things to that end < 1267394321 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I made some games on computer a lot, including one game where you have to make rectangle to catch colored balls and make a hole. You have to prevent the white ball from falling into a hole or from colliding with colored balls. And the rectangle has to be moving the white ball and has to have the corners on tiles all of the same color. Each ball of the correct color 2 points, each other 1 point. You need 2 points to be valid, and then the points < 1267394331 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Looks less painful than BSD sockets. < 1267394364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, and actually usable, SOCK has many parts that aren't actually accessible due to stupid design < 1267394375 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :alise: I have not seem the notation "data N : *" before < 1267394388 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: It's an ehird-ism. < 1267394392 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No it's not. < 1267394395 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's an Agda-ism < 1267394396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, like UNIX sockets. the specification for if it is an unix or an inet socket comes below the address on the stack. And you need to know which type it is to know what format the address is in! < 1267394399 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1267394399 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, okay. < 1267394411 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: It's dependent type theory, which is isomorphic to intuistionistic logic. < 1267394419 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*intuitionistic < 1267394425 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Basically, it's computable logic. < 1267394446 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Dependently-typed programming language <=> intuitionistic computer proof system < 1267394475 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"data N : * where" just defines the set N (* is read as "set", : is read as "is a"). < 1267394476 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Wait, there was already a sockets API for Befunge that did that? < 1267394484 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: *Eeeeew*. < 1267394488 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's just defining the set N inductively, pretty much. < 1267394510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, yes, the one fungot uses < 1267394510 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: they say that shopkeepers don't read, so that his mouth as a cloud, by samuel taylor coleridge) < 1267394515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^source < 1267394516 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 < 1267394523 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmm. < 1267394535 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"They say that shopkeepers don't read, so that his mouth as a cloud." < 1267394538 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Wisdom for the ages. < 1267394550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, mixed up ones I guess? < 1267394558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, but from what ones? < 1267394567 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wondered lonely as a cloud will be the last bit. < 1267394609 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :A shopkeeper, his mouth as a cloud: creating only obscurity, not one wit of understanding; for that that travels through his ears finds no passage to the outward path. < 1267394614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway look at SOCK: http://rcfunge98.com/rcsfingers.html#SOCK < 1267394621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, spot the multiple issues < 1267394627 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :There, I made it make sense. POETICALLY < 1267394649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, :P < 1267394665 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :<==> < 1267394679 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :<=(o_o)=> < 1267394736 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, so yes I'm aiming for a somewhat higher level and more advanced API than that < 1267394752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I do need some help with figuring out the best interface for SCTP however < 1267394755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :any SCTP expert here? < 1267394761 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Shopkeepers don't read, so what use is engraving in a shop?" (rumors.tru) + "-- so that his mouth and jaws were completely hidden --" (from "mummy wrapping" entry) + "-- until they laid Tyr's hand into his mouth as a pledge." (from "tyr) + what alise said for the last bit. < 1267394767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have only used SCTP a tiny bit < 1267394821 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what? it added cloud to make it poetical? < 1267394830 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1267394839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or is this some famous poetical work? < 1267394853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prefers prose < 1267394892 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I never ever liked poetry < 1267394904 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1267394919 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(yes I'm aware of prose poetry) < 1267394934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(it is a border case, some instances are okay, some are not IMO) < 1267394999 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You don't know "I wonder lonely as a cloud"? < 1267395013 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Also, /me slaps AnMaster about a bit with the Rime of the Ancient Mariner. < 1267395021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, can't say it is familiar. Remember I'm from a different culture < 1267395054 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267395170 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: is there any actual problem with supertypes? < 1267395175 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1267395178 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :after all (exists e. e) ... < 1267395193 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so why can't we say N = N* intersect {0}? < 1267395201 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no dependent lang seems to allow such constructions < 1267395328 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Union, not intersect. < 1267395432 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Meh. < 1267395603 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"A website designer created a script that would create a webpage comparing every possible text color to every possible background color (16,777,216 colors each). The page that would have resulted was calculated to be more than 19 Peta Bytes in size using the system of 1 KB = 1024 Bytes, 1 MB = 1024 KB, etc. The script was never run." < 1267395764 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :yyou can do it alise < 1267395793 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: Howso, in Coq or Agda or similar? < 1267395833 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :well union is either < 1267395840 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :so make a coercive subtyping < 1267395881 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://upperandlowercase.com/musicvariant2/ _what- < 1267395882 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*what_ < 1267395901 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: but do agda and coq allow you to make such a subtyping? < 1267396278 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1267396290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yo alise! < 1267396295 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Greetz. < 1267396309 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: Please give oerjan the complete -priv log, if that's okay. < 1267396591 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :A spider-web in dark is a good way to stop the war < 1267396602 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1267396610 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : "M' sxat' vid' l' lingv'.", I say in horrifically butchered Esperanto. < 1267396631 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is ' legal not-before vowels? < 1267396645 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I don't know Esperanto language very well what does that mean please? < 1267396665 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : I'd like to see the language. < 1267396667 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Actually, you're not supposed to omit the ending of every word. :P < 1267396723 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well naturally < 1267396740 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1267396767 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :A spider-web in dark is a good way to stop the war. (It was a D&D game we played on Thursday, and, this idea did work, very well actually) < 1267397071 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :The war does not know how to think ahead. And that's why they didn't win the war. < 1267397092 0 :Timoriensis!~timoriens@99.105.198-77.rev.gaoland.net JOIN :#esoteric < 1267397218 0 :Timoriensis!unknown@unknown.invalid PART #esoteric :? < 1267397239 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :X* is X-without-0; is there similar notation for X-without-negatives? < 1267397248 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is that X^+? < 1267397258 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :damn i'm tired... < 1267397280 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I use X\{0} < 1267397292 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's X-without-0, i.e. X* < 1267397297 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm wondering about X-without-negatives < 1267397301 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in math? R^+ is R without either negatives or 0, afair < 1267397304 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pretty sure it's X^+ yeah < 1267397309 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: mm < 1267397334 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so clearly R^{+{-*}} is what I need < 1267397346 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :where -* means "with 0", being the inverse of * < 1267397348 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1267397348 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Naturals without zero: naturals_without_zero=naturals!1; < 1267397355 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*facepalm* < 1267397359 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :X^+_0 maybe < 1267397373 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: wat :D < 1267397384 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, not literally < 1267397396 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh wait I want Q+ not Q+ with 0 < 1267397407 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I don't like X* for X\{0} < 1267397418 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i do so tough :P < 1267397424 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :why < 1267397435 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I find it aesthetically pleasing. < 1267397440 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :??????? < 1267397442 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :especially since X* has other meanings, especially if X is a vector space < 1267397450 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :that has nothing to do with the set being zeroless < 1267397451 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(dual space) < 1267397466 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah but i don't care about that :) < 1267397471 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: it's just notation < 1267397478 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :notation is inherently arbitrary < 1267397479 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :JUST NOTATION?? < 1267397484 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :how dare you < 1267397488 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"nothing to do" doesn't matter is what I mean < 1267397496 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no notation has anything to do with what it represents < 1267397503 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we pick aesthetically pleasing, memorable notation, and that's it < 1267397513 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :you could equally argue that no word means anything < 1267397525 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no word has any relation to its meaning < 1267397570 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uses morphology to disagree < 1267397594 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :well let's consider "not black" < 1267397598 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we think this has a relation to "black" < 1267397608 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but the concept being expressed is /everything/ just to the exclusion of black < 1267397625 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e. in the "true meaning", without any level of abstraction or function, just value, so to speak, there is no "black" < 1267397628 0 :Oranjer!~HP_Admini@adsl-71-7-92.cae.bellsouth.net JOIN :#esoteric < 1267397640 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so "not black" relates to the word "black" but its meaning does not relate to the meaning of "black" < 1267397661 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :what ! < 1267397715 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i guess i just stepped into the lovely deep-end of things i don't really know shit about < 1267397753 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :alise you read On Denoting by Russle < 1267397763 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to as well < 1267397768 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :? < 1267397773 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :what are you kids talking about < 1267397809 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :WORDS < 1267397942 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :/what/, I don't have \top and \bot in emacs < 1267397950 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fuck that shit < 1267397963 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :AAAAAAAA < 1267398050 0 :MigoMipo!unknown@unknown.invalid QUIT :Quit: When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net < 1267398141 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION read \bot as lambdabot, and wondered why you'd expect it in emacs < 1267398332 0 :ehird!~ehird@95.145.65.10 JOIN :#esoteric < 1267398335 0 :alise!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1267398347 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what did i miss since migomipo left? < 1267398373 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :22:58 < MissPiggy> AAAAAAAA < 1267398445 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :* oerjan read \bot as lambdabot, and wondered why you'd expect it in emacs < 1267398728 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :http://2.bp.blogspot.com/_mmBw3uzPnJI/S2Ltvwxm04I/AAAAAAABAQU/qcggMUcrims/s1600-h/ipad_12.jpg < 1267398732 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :iPAD < 1267398984 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: i thought of some two-dimensional notation for dependent types < 1267399054 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1267399055 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the regular type, with more spacing between the function arrows, but with (x:T) replaced with T. Above, a line along the whole thing. Above, in the middle of the T without the x, "x", for each such argument. < 1267399063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the f : goes on the dividing line < 1267399225 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I must go < 1267399239 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :farewell < 1267399244 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION can't seem to copy from a PDF < 1267399246 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bye MissPiggy < 1267399263 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: do you like the notation though? < 1267399342 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I ond't undesrtand it < 1267399351 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: well < 1267399362 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :basically there's a line, and above is the dependent section; below, the normal section < 1267399375 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :normal section is all the types, none of the names, connected by arrows; drab and usual < 1267399384 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :above, in the locations of dependent arguments, the names we bind them two < 1267399394 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I don't see how that could work < 1267399413 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :A -> _ -> _ < 1267399414 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :-------------- < 1267399417 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :Set -> A -> A < 1267399423 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :it's just like huh? < 1267399442 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :not like that < 1267399444 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :like this < 1267399464 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric : ehird are you likey to be on tommorow if not when < 1267399497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : A < 1267399497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :----------------- < 1267399497 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Set -> A -> A < 1267399499 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: maybe < 1267399500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1267399504 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :know < 1267399508 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if not tomorrow, then say before the end of next week < 1267399515 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1267399517 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1267399520 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1267399521 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :that notation SUCKS :P < 1267399523 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1267399526 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :one final thing before you go :| < 1267399531 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :nope sorry < 1267399535 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has quit () < 1267399539 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :pah :P < 1267399577 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :dot dot dot < 1267399582 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oh :D < 1267399586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : A x < 1267399586 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :=== : --------------------------- < 1267399587 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : Set -> A -> A -> Set < 1267399589 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :IT IS GOOD NOTATION LOVE IT < 1267399609 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :youandouanpfb < 1267399616 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what :D < 1267399621 0 :zzo38!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267399621 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :one thing which is good is implicit binding < 1267399630 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :but it's also hard < 1267399631 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean by that? < 1267399644 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :to not make it confusing < 1267399670 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :why don't you get some sleep < 1267399685 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :what does that say ehird < 1267399690 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oranjer: it says things < 1267399693 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: don't want to :D < 1267399694 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :what things < 1267399697 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but what do you mean by implicit binding < 1267399699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: things. complicated < 1267399705 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :oerjan??? < 1267399709 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1267399726 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mwahahaha. < 1267399741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1267399742 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oranjer < 1267399743 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1267399751 0 :MissPiggy!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1267399756 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :but what does it say, ehird? < 1267399764 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's an anagrram < 1267399773 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1267399774 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it says your mom < 1267399781 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1267399785 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Oranjer: no, you are < 1267399832 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :I am....what < 1267399834 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :what < 1267399866 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :an agrram < 1267399881 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :delightful my existence must be < 1267399926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Eb tsum ecnetsixe ym lufthgiled < 1267399928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nope, not an anagram < 1267399947 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :I know! < 1267399956 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :wonki, hey, haha < 1267400039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm becoming dissatisfied, I think, with the usual GADT method of defining inductive types. < 1267400042 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It feels to specialised. < 1267400175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I guess I see the definition of the set, i.e. the T in data X : T where ..., and the definition of the constructors, i.e. the ... in the same, as being separate. < 1267400204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nat : Set < 1267400204 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nat = data zero : Nat < 1267400205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : succ : Nat → Nat < 1267400205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : < 1267400205 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :however, leans too much to the right for my liking; and besides, does this even make sense? < 1267400214 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't Nat expand indefinitely? If not, what does "data" actually mean? < 1267400297 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1267400531 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what is it < 1267400544 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It's complicated. You wouldn't understand. < 1267400549 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :goddammit < 1267400554 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oranjer: Okay, let me rephrase. < 1267400578 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't have the hours or the high-level understanding necessary to eloquently explain the theory behind it all to you. < 1267400594 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :oh, okay < 1267400603 0 :Azstal!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1267400604 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :is there a place that does? < 1267400608 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :as in, a link? < 1267400629 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Nat = Fix (\t -> data Zero | Succ t) < 1267400635 0 :Asztal!~asztal@host86-159-104-136.range86-159.btcentralplus.com JOIN :#esoteric < 1267400651 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ducks < 1267400672 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Oranjer: Well... it's dependent type theory. < 1267400687 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But good luck. You need a strong backing in functional programming and some backing in logic. < 1267400699 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I have this slight feeling that that is not well-defined. :P < 1267400708 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Also, bah; I despise non-G ADT syntax. < 1267400724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :At the very least, "Nat = Fix (\t -> data Zero : t; Succ : t -> t)". < 1267400731 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :But yes, I considered "data a where ...". < 1267400738 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I dislike it; we shouldn't need such arbitrary binding of names. < 1267400746 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um the whole point is you _don't_ have t as the result before using Fix < 1267400795 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :\t -> data Zero | Succ t would be something like an anonymous type constructor < 1267400804 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :right but remember all this must be total < 1267400820 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :regular function-level "fix : (a -> a) -> a", at least, is totally verboten < 1267400823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's total enough, you could name it < 1267400840 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fix : (Set -> Set) -> Set < 1267400841 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fix here means smallest fixpoint of types < 1267400849 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :prove it; Fix f = ...? < 1267400855 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm not doubting, I'm just curious < 1267400888 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it's just what i _think_ inductive data types are defined as in denotational semantics < 1267400899 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :while codata uses largest fixpoint < 1267400912 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1267400966 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :**** YEAH! < 1267401006 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't know what restrictions there are on the Set -> Set, like you say, to make it work < 1267401107 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh i _think_ it would be isomorphic to having a single inductive data type data Fix t = Fix (t (Fix t)), and using it to construct everything else? < 1267401121 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or i could be horribly wrong :) < 1267401182 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :GO CANADA < 1267401288 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: if so that would be nice < 1267401292 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as a theoretical underpinning < 1267401296 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :data ℝ : Set where < 1267401296 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : ℝ : (f : ℚ⁺ → ℚ) < 1267401296 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : → {{ε₁:ℚ⁺} → {ε₂:ℚ⁺} → abs (f ε₁ - f ε₂) ≤ ε₁ + ε₂} < 1267401296 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : → ℝ < 1267401298 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think I have that rigght < 1267401300 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :*right! < 1267401313 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fuck yeah, definin' the computable reals 'n shit < 1267401470 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :hey, ehird's back < 1267401475 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :yeah - long story. < 1267401487 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :suffice to say there are now _two_ crises in my life. < 1267401490 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1267401509 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :being replaced by your female alter ego isn't one of them, I presume < 1267401534 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oops, my name changed back. < 1267401537 0 :ehird!unknown@unknown.invalid NICK :alise < 1267401544 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :--no, that would merely be interesting < 1267401556 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :are we talking full sex change here or just ephemeral gender switch? < 1267401583 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1267401598 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'd hesitate to call either one a crises -- though sometimes it can be a *pain in the ass*. ;)