00:00:07 -!- augur has quit (Remote host closed the connection).
00:00:09 <fizzie> GreyKnight: Why? I just said that you do the kind of thing you do in Factor also in PostScript.
00:00:12 <GreyKnight> oh, so Forth differs from Factor in this area
00:01:39 <GreyKnight> I interpreted your first comment as "Postscript is stack-based like Factor, except that also in PostScript you can push procedures on the stack"
00:01:40 <GreyKnight> to be fair it is late and I should be asleep
00:03:29 -!- GreyKnight has quit (Quit: let's rectify the latter).
00:03:53 <fizzie> I think Factor has the colon word-definition syntax from Forth, though -- : foo ... ... ; to define foo -- whereas PostScript doesn't have special syntax for that; it's just /foo { ... } def where /foo is a syntax for pushing a "name", and { ... } pushes a procedure, and def pops them both and adds an entry in the (current) dictionary.
00:04:14 <fizzie> (The current dictionary is the dictionary on top of the dictionary stack.)
00:06:23 <sgeo> o.O i think I prefer PostScript's
00:06:35 <sgeo> Yes, Factor has Forth-style colon word-definition
00:06:49 <sgeo> Except the stack effect is mandatory and checked
00:10:23 -!- carado has quit (Ping timeout: 246 seconds).
00:11:50 <fizzie> PostScript's main problem as a general-purpose language is IMO that for some weird reason it's full of page-definition stuff.
00:13:38 <Arc_Koen> Gregor: about shafuck... Isn't there a risk that the junk would contain some unmatched [ or ] bytes that would have an effect on what's run and what isn't?
00:14:29 <Arc_Koen> or can you afford to just keep generating chunks until one is ok?
00:37:05 -!- TeruFSX has joined.
00:39:24 -!- sivoais has changed nick to _sivoais.
00:44:36 <kmc> is shafuck shachaf's brainfuck
00:45:59 <shachaf> kmc: If Phantom_Hoover does something to me I hold you responsible.
00:46:44 <shachaf> Anyway it's probably shubshub.
00:46:53 <shachaf> 00:10:35 <shubshub> I should make a Language that only sometimes works :D ill call it MaybeNumericBatch
00:47:04 <shachaf> 00:11:22 <shubshub> ill just reprogram my language to Only work if a certain random number is met :D
00:48:16 <kmc> i tried to report a bug in debian and the experience was... frustrating
01:01:26 -!- TeruFSX has quit (Ping timeout: 255 seconds).
01:02:19 <elliott> shachaf wrote a brainfuck derivative
01:03:52 <shachaf> Phantom_Hoover: I did no such thing. :-(
01:10:10 <kmc> shachaf: this year I'm giving the last lecture in zombie 6.001 :)
01:10:40 <shachaf> Oh, is that still going on?
01:10:46 <kmc> which is about incompleteness / halting problem / lambda calculus / church encoding / y combinator
01:11:02 <kmc> yeah, it happens every january
01:11:29 <shachaf> I heard the halting probblem was "a pretty cool problem"
01:11:30 <kmc> 6.001 was MIT's famous introduction to fundamental CS concepts, using the scheme language
01:11:52 <kmc> they cancelled it a while back in favor of a more practical class
01:11:53 <shachaf> And Church encoding "a pretty cool encoding"
01:12:18 <shachaf> Are you going to pretend Scheme is non-strict?
01:12:25 <shachaf> It makes Y so much easier to understand. :-(
01:12:26 <kmc> but some former students (and hangers-on like me) teach it during the January Independent Activities Period
01:12:51 <kmc> shachaf: not sure
01:13:00 <kmc> by that point they have already been exposed to lazy evaluation in lectures
01:13:21 <kmc> and the whiteboarded description of Y is sufficiently removed from actual scheme that i could probably get away with it
01:13:53 <c00kiemon5ter> http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-3.html this :)
01:15:10 <kmc> hmm i have... conflicting opinions of that quote :)
01:16:57 <kmc> om nom nom
01:17:23 <kmc> it makes me smile but also groan a bit
01:18:05 <kmc> have you seen http://www.cs.yale.edu/quotes.html
01:19:08 <kmc> the same as the author of the quote you linked
01:26:14 <Phantom_Hoover> has c00kiemon5ter been here before with a different nick
01:31:20 -!- monqy has quit (Quit: hello).
01:32:59 <sgeo> http://factor-language.blogspot.com/2010/01/factors-bootstrap-process-explained.html
01:33:12 <sgeo> How similar is this to something like SBCL (which I really don't understand)?
01:47:41 <kmc> who here knows or cares about factor
01:47:43 <kmc> besides sgeo
01:47:58 <shachaf> I know someone who knows and cares about Factor.
01:48:12 <kmc> is it sgeo
01:48:29 <sgeo> kmc, I think there are other people here who know Factor. But probably not care.
01:48:30 <kmc> is it jesus
01:49:34 <hagb4rd> don't forget about the ones who care but don't know
01:53:32 <shachaf> http://slbkbs.org/fluids.jpg
01:53:46 -!- zzo38 has joined.
01:54:22 <kmc> crazy people are crazy
02:04:48 -!- TeruFSX has joined.
02:07:48 <zzo38> Are you crazy too?
02:07:48 <lambdabot> zzo38: You have 1 new message. '/msg lambdabot @messages' to read it.
02:07:52 <lambdabot> Maybe you meant: messages messages?
02:07:54 <lambdabot> GreyKnight said 2h 32m 41s ago: my "client" in the case of trying to access the root was just telnet. I also used some of my own code to directly send "\r\n" but got no response. I think it is YOUR
02:08:43 <zzo38> GreyKnight: No I tried the same thing and it works correctly!! I don't know why it doesn't work.
02:09:22 <zzo38> On my computer it works even just telnet or netcat.
02:14:20 <Arc_Koen> Stargate: The Ark of Truth is SO disappointing
02:30:51 <Arc_Koen> but ti just felt like any random season's final
02:31:04 <Arc_Koen> I mean, the original stargate film was very good
02:31:16 -!- EgoBot has quit (Read error: Connection reset by peer).
02:31:24 <Arc_Koen> this just felt like a longer stargate episode, and really not one of the best
02:31:53 <Arc_Koen> I love replicators, but they did nothing good with them
02:32:00 -!- EgoBot has joined.
02:32:21 <Arc_Koen> "I'm trying. It has no effect."
02:34:09 <Arc_Koen> and, seriously... http://images3.wikia.nocookie.net/stargate/images/7/75/HumanShapeReplicator.jpg << that sucked.
02:34:42 <kmc> zzo38: yeah, a bit
02:34:57 <kmc> i used to be more crazy than i am now
02:35:05 <kmc> i never had a strong opinion about water flouridation, though
02:35:25 <shachaf> People have surprisingly strong opinions about that.
02:57:14 <kmc> wasted a bunch of time because apparently now 'qemu -enable-kvm' doesn't work and i should just run 'kvm'
03:11:53 -!- heroux has quit (Ping timeout: 265 seconds).
03:15:53 -!- TeruFSX has quit (Ping timeout: 246 seconds).
03:18:34 -!- heroux has joined.
03:29:04 -!- lightquake has quit (Ping timeout: 246 seconds).
03:29:11 -!- lightquake has joined.
03:35:48 -!- sirdancealot7 has quit (Ping timeout: 244 seconds).
03:41:01 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
03:49:27 <kmc> and 'qemu' is a link to 'qemu-system-i386' even though i am on an AMD64 system
03:50:04 <kmc> but passing it -cpu qemu64 is not an error, it just causes it to hang randomly
03:50:46 <kmc> i should look into that in-kernel-tree kvm tool that isn't qemu
03:53:15 -!- Arc_Koen has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
04:00:13 <zzo38> 5KQN/nprqrRBN/p1pppRBb/5ppp/8/7k/4n1b1/8 If a game of chess eventually result this position, on what squares did captures occur?
04:04:16 <sgeo> There's a thing called Observationally Cooperative Multithreading
04:04:40 <sgeo> Where the programmer programs as though using co-operative threading, but behind the scenes it's doing pre-emptive stuff
04:06:14 <zzo38> Is there a wire to connect RCA to mini phono?
04:10:01 <kmc> sounds a little like STM
04:10:24 <kmc> if every block of code between two preemption points is implicitly a transaction
04:10:37 <shachaf> sgeo: Does Clojure support it?
04:10:41 <shachaf> Or is it more of a Factor thing?
04:11:07 <shachaf> kmc: btw f,g-dialgebroids are the future
04:12:04 <kmc> but are they webscale
04:12:08 <zzo38> What are f,g-dialgebroids?
04:14:03 <sgeo> shachaf, I found it when I googled co-operative multithreading, which is a Factor thing, but ultimately it's neither.
04:14:06 <sgeo> Does that count?
04:14:45 <shachaf> kmc: Did you hear GHC has a weird new extension that lets you have type variables with a name longer than one character?
04:14:58 <shachaf> I don't quite understand it. It must be an advanced feature.
04:19:11 <kmc> hey, one-letter type variables are a huge innovation in haskell over miranda
04:20:32 <shachaf> Didn't ML already have type variables by the time Miranda came about?
04:20:55 <kmc> maybe they were patented
04:22:05 <shachaf> zzo38: Dialgebroid f g a b = f a -> g b
04:23:36 <shachaf> zzo38: type Iso s t a b = (Functor f, Functor g) => Dial g f a b -> Dial g f s t
04:23:48 <shachaf> zzo38: type Lens s t a b = (Functor f) => Dial Identity f a b -> Dial Identity f s t
04:24:06 <shachaf> zzo38: type Prism s t a b = (Pointed f, Costrong g) => Dial g f a b -> Dial g f s t
04:24:37 <shachaf> zzo38: type AffineTraversal s t a b = (Pointed f) => Dial Identity f a b -> Dial Identity f s t
04:30:56 <shachaf> kmc: Can you believe Hackage doesn't have a base64 function :: ByteString -> String, or ByteString -> Text?
04:31:03 <shachaf> It has ByteString -> ByteString and String -> String
04:31:49 <shachaf> are you laughing at me again!!
04:36:30 <kmc> shachaf: that's terrible
04:36:48 <kmc> characters and bytes are totally the same thing, am i rite
04:38:01 <copumpkin> the codomain of the function is a little broad for my tastes
04:39:05 <zzo38> Is that for base64?
04:39:42 <shachaf> copumpkin: What can you tell be about dialgebroids?
04:40:03 <shachaf> What should I call that thing?
04:40:35 <shachaf> I was going by analogy with "dialgebra" and "coalgebroid"
04:43:03 <shachaf> Anyway does it have any good properties?
04:44:07 <shachaf> What about Dialgebroid f g a b -> Dialgebroid f g s t?
04:45:08 <copumpkin> clearly you have another functor from some sort of product category
04:45:38 <copumpkin> let F = Uncurry (Dialgebroid f g) in F (a, b) -> F (s, t)
04:47:51 <shachaf> What about the fact that it should be Lens s t i o = forall a b. (i a -> f (i b)) -> o a -> f (o b)
04:48:47 <zzo38> You forgot about f
04:49:11 <shachaf> This generalizes to any LensLike, right?
04:49:24 <shachaf> LensLike f s t i o = forall a b. (i a -> f (i b)) -> o a -> f (o b)
04:49:42 <shachaf> DiLensLike g f s t i o = forall a b. (g (i a) -> f (i b)) -> g (o a) -> f (o b)
04:49:54 <kmc> shachaf: now that SHA-1 is deprecated for new uses, I have finally trained myself to type "sha1sum" instead of "md5sum"
04:50:15 <shachaf> kmc: You're supposed to use what, SHA-2 and/or SHA-3 now?
04:50:37 <zzo38> Do you know if the monad transformer laws imply t Finalize = Finalize and comonad transformer laws imply t Initialize = Initialize ?
04:50:42 <kmc> you should use that implementation made by stoned people who got thrown out of noisebridge
04:50:52 <zzo38> They are true for all examples I have tried, at least.
04:51:11 <shachaf> zzo38: Finalize = Proxy, Initialize = Identity?
04:51:46 <zzo38> shachaf: No! data Finalize x = Finalize; data Initialize x;
04:54:30 <shachaf> Right, Identity doesn't make sense. :-)
04:55:09 <zzo38> Why did you think it is Identity?
04:55:29 <shachaf> I thought "what's the other really simple data type other than proxy?"
04:55:58 <zzo38> O, OK, that is why you thought.
04:57:35 <zzo38> I use the names Finalize and Initialize because in any category having final/initial objects, Finalize is the endofunctor which all objects into the final object, and Initialize is endofunctor of all objects into the initial object. In all such categories where they exist, Finalize is a monad and Initialize is a comonad. This is not difficult to prove.
05:04:08 -!- augur has joined.
05:15:39 -!- Bike has joined.
05:27:34 <shachaf> zzo38: But they're also initial and final objects themselves, aren't they?
05:28:51 <shachaf> Oh, maybe this is what confused me:
05:28:52 <shachaf> haskell/08.01.22:23:14:47 <sorear> there exists a category of monads. Null is the terminal monad, Identity is the initial monad
05:29:32 <shachaf> But of course your Initialize isn't a monad at all.
05:57:53 <zzo38> shachaf: Initialize is a comonad. And that is not what I meant at all; I didn't mean the category of monads. I meant endofunctors on some arbitrary category which has initial and final objects.
05:58:11 <zzo38> They are not initial and final objects, or any objects; monads are functors not objects.
06:02:07 <zzo38> Maybe what sorear wrote is true (I don't know), but it is different to what I am doing.
06:05:11 <zzo38> But what I noticed is that for example, Finalize = StateT x Finalize = ReaderT x Finalize = MaybeT Finalize = Codensity Finalize and so on, and the similar with comonad transformers with Initialize.
06:05:37 <zzo38> Do you know if such a thing must always be true due to the mathematical laws?
06:05:53 <zzo38> Or else, is there a counterexample?
06:05:54 <shachaf> Are there many laws about monad transformers?
06:06:25 <zzo38> Well, it must be homomorphic, as any (anything) transformer must be, I think.
06:08:09 <zzo38> Free Finalize = Maybe but Free is not really a monad transformer anyways (although it is a valid backward monad transformer), even though there is a instance.
06:08:19 <zzo38> You can easily check that it does not satisfy the laws.
06:09:43 <zzo38> Even ignoring the laws for now, do you know of any counterexample? I don't think there is one, but tell me anyways in case.
06:11:31 <shachaf> Well, what I mean might be "what do monad transformers have in common?".
06:12:04 <shachaf> For example, is there always a function runMonadT :: ... -> T ... -> m ...?
06:16:09 <zzo38> What are these ... going to be anyways?
06:16:54 <shachaf> I guess the second ... is "m a"
06:16:56 <zzo38> If ... can be anything arbitrary and different in each of three places, then of course there can be.
06:17:11 <shachaf> zzo38: Anyway, I was asking *you*!
06:18:01 <zzo38> But that is completely useless. The first ... is zero and then you will always have such a function if that is how it works. Such thing about always having such function, seem not meaningful to say so.
06:19:46 -!- sebbu has quit (Read error: Connection reset by peer).
06:20:12 -!- sebbu has joined.
06:20:12 -!- sebbu has quit (Changing host).
06:20:12 -!- sebbu has joined.
06:23:39 <zzo38> Even if making certain other assumptions about runMonadT, it still won't always work since you can make FinalizeT (still following lift . return = return and so on) in which the m at the end is unable to retain what you put into it, if that is one kind of assumption you intended to make.
06:29:38 <kmc> apparently MySQL's built in password hashing is... double unsalted SHA-1? http://dev.mysql.com/doc/refman/5.1/en/password-hashing.html
06:30:29 <zzo38> You really should put salt on it; unsalted is not so secure, due to rainbow tables and other things.
06:30:51 <kmc> (not clear if this is true after 5.1; I can't find documentation, and only sparse documentation for 5.1 even)
06:30:58 <kmc> MySQL truly is the PHP of databases
06:31:30 <zzo38> I have used SQLite, in C programming; not MySQL.
06:31:34 <kmc> in fact we used it at work for PHPish reasons
06:31:45 <kmc> "it's very popular, if we run into problems we can hire someone to fix them"
06:31:51 <kmc> over my objections
06:32:00 <Bike> if it's your job, aren't you the one hired to fix problems
06:32:10 <shachaf> kmc is hired to create problems
06:32:21 <Bike> or are the problems you're hired for specifically "shutting up the boss"
06:32:24 <kmc> 3.5 months later we have migrated to PostgreSQL at considerable difficulty
06:32:27 <shachaf> Like "hey why are you using php??"
06:32:36 <shachaf> kmc: Was it because MySQL is terrible?
06:32:47 <kmc> it screwed us over in several ways
06:32:54 <kmc> as i predicted
06:33:15 <kmc> "told you so" isn't so great in a business context so I am venting here instead
06:33:21 <Bike> truly, you are the cassandra of modern programming business environments
06:33:44 <kmc> cassandra is a database too!
06:33:51 <kmc> Alias is a *show* about a spy!
06:34:06 <Bike> isn't that show several years old
06:34:16 <Bike> also what are you talking about, i meant the prophetess
06:34:31 <kmc> http://cassandra.apache.org/
06:34:40 <shachaf> Apparently someone I worked with at rethinkdb is now working on MySQL code at Google.
06:34:52 <kmc> "Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. "
06:34:54 <Bike> You're in Control
06:35:08 <lambdabot> rwbarton says: edwardk now has Lens under Control
06:38:59 <kmc> why double
06:40:05 <Bike> It's harder to unhash twice, of course!
06:42:04 <shachaf> kmc: It would be too fast otherwise...
06:46:37 <ion> bike: Especially if the result of one of the unhashes falls into a fully known set of bytestrings.
06:47:59 -!- sebbu has quit (Read error: Connection reset by peer).
06:48:26 -!- sebbu has joined.
06:48:27 -!- sebbu has quit (Changing host).
06:48:27 -!- sebbu has joined.
06:49:36 -!- asiekierka has quit (Excess Flood).
06:49:42 -!- asiekierka has joined.
06:53:26 <kmc> "The [Court of Chivalry] was last convened in 1954 for Manchester Corporation v Manchester Palace of Varieties Ltd... The opening part of the judgement involved an analysis leading to the determination that the Court of Chivalry still existed."
06:55:38 <Bike> Wow, for misuse of heraldry? That's pretty obscure indeed.
06:57:40 <Bike> So who won the case?
06:57:40 <kmc> it's amusing that the manchester government went after them for misuse of heraldry and not, like, trademark violation
06:58:06 <Bike> Are coats of arms actually trademarked?
06:59:01 <Bike> I figured you were just understood to have one... and then if someone disagrees you do something really old-fashioned to fix it, like challenge them to a duel, or invoke something called the "court of chivalry".
06:59:38 <kmc> a duel would have been good here
06:59:47 <kmc> a duel between the mayor of manchester and some theater owner
07:00:22 -!- keb has quit (Remote host closed the connection).
07:01:33 <Bike> a duel between the town as a whole and the theater as a whole. just all out wr (with flintlocks)
07:27:53 <zzo38> What is portable way of load/save floating points in files, using a C code?
07:33:27 <kmc> #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif
07:33:54 <zzo38> I don't want to do it that way, though.
07:34:16 <kmc> yeah, the unbalanced single quote might upset the preprocessor
07:34:30 <coppro> `addquote < zzo38> What is portable way of load/save floating points in files, using a C code? < kmc> #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif
07:34:37 <HackEgo> 872) < zzo38> What is portable way of load/save floating points in files, using a C code? < kmc> #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif
07:36:30 <zzo38> I wonder if the printf "%A" specifier would be the best way, if there isn't another way?
07:36:48 <kmc> if there isn't another way, then the only way must be the best way
07:37:04 <Jafet> No, the only way is the worst way
07:37:09 <shachaf> Which way would be the best way if there's no way?
07:37:21 <zzo38> Jafet: That too, I suppose.
07:38:55 <kmc> "%A" does seem reasonable, yes
07:39:32 -!- GreyKnight has joined.
07:41:00 <kmc> if you wanted to roll your own representation you could use frexp and ldexp
07:41:39 <GreyKnight> zzo38: could you see my requests coming in earlier?
07:42:36 <zzo38> GreyKnight: Yes. I don't know why your computer doesn't work; I try and it work OK. But use the selector named "root" if it is necessary; I believe all internal links use that to access the root, I think so.
07:42:57 <zzo38> Even with netcat and telnet, I can use the empty selector string which works.
07:43:26 <GreyKnight> I am wondering if something here was buffering the request. Will experiment
07:44:31 <Bike> huh, frexp returns a float for the significand...
07:45:26 <Bike> also, c99 only has it for doubles? what if you want to decode/encode singles?
07:45:39 <GreyKnight> zzo38: Is there a comprehensive list of type codes anywhere? You used some I've not seen elsewhere, such as p and @ (or is it @B? Is @ a standard for multicharacter codes?)
07:45:47 <kmc> it doesn't have frexpf?
07:46:13 <Bike> oh, yes it does, it just wasn't on the reference i googled up
07:46:13 <kmc> and frexpl for long doubles
07:46:14 <GreyKnight> I can see their meaning from context but would like a list to refer to
07:46:23 <kmc> gotta sleep, ttyl all
07:46:29 <Fiora> kmc: libavutil/intfloat_readwrite.c seems to have a portable float/double read/write thing
07:46:43 <Fiora> it contains lovely code like this
07:46:44 <Fiora> return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075);
07:46:55 <Bike> what the christ.
07:47:04 <Fiora> double av_int2dbl(int64_t v){
07:47:04 <Fiora> if((uint64_t)v+v > 0xFFEULL<<52)
07:47:05 <Fiora> return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075);
07:47:34 <Fiora> it converts an integer (which represents a double) to an actual double, I /think/
07:47:37 <zzo38> GreyKnight: No, I have defined @ for multicharacter codes. However I have decided not to use it anymore. However, p is commonly used for PNG files.
07:47:43 <Bike> well there's your answer zzo38. use %a instead
07:48:03 <zzo38> Bike: OK, I can use %a perhaps.
07:48:24 <Bike> hm, you may have inspired me to look up that paper on reading and writing text representations of floats
07:48:35 * Fiora has succeeded for the day: making Bike say "what the christ"
07:48:38 <GreyKnight> zzo38: okay but has anyone documented such "commonly used" codes anywhere? :-P
07:49:11 <Bike> I say "what the christ" every six seconds or so as a keepalive signal.
07:49:53 <GreyKnight> Also the U should be allowed in any position, so that you can have constants like 0xFUEL
07:50:55 <zzo38> GreyKnight: The RFC includes most codes, although here are most of the important ones: 0 = plain text, 1 = menu, 3 = error message, 5 = ZIP, 7 = search, 9 = binary, i = informational text (no link), I = picture file, p = PNG (sometimes used; perhaps I should be used instead since the header tells).
07:51:27 <zzo38> Supporting only 0 1 7 i is sufficient.
07:51:29 <GreyKnight> zzo38: I found some lists but none had p. I don't know if there may be more obscure ones I am missing
07:52:05 <GreyKnight> Oh well I will go ahead with this and see if anyone complains!
07:53:06 <zzo38> I think you can ignore p since it isn't important; I will change them to I since that matches the standard better. There is also h used for HTML; again I suggest not using it in general, like not using p in general. I propose d for printable documents (DVI, PostScript, PDF), perhaps.
07:53:39 <GreyKnight> I already found a reference that P is commonly used for the latter
07:54:10 <GreyKnight> And I am writing code for clients so it's not up to me what to publish ;-)
07:54:37 <zzo38> I have found somewhere where d is used; but perhaps P should be used instead it is better idea.
07:55:15 <zzo38> I will correct my programs to match all of those (currently I use neither d nor P for anything, however)
07:55:27 <GreyKnight> Do you have a link to a person who uses d
07:55:47 <zzo38> No, but I found it in an old version of some gopher client somewhere.
07:55:50 <zzo38> I suggest ignoring it.
07:56:58 <zzo38> I suggest not using any types other than the RFC if you are able to do without those types. In addition, text should be used if possible, and ASCII encoding should be used if possible.
07:56:59 <GreyKnight> Oh there's an idea, if you want multicharacter codes you can start with '(', and end with a ')'.
07:57:38 <zzo38> GreyKnight: That is an idea. However, I suggest not using multicharacter codes anymore; once I used @ for just some experimental purposes which I suggest not using anymore except for experimental purposes though.
07:57:45 <zzo38> Same with () you can use for experimental purposes.
07:59:35 <GreyKnight> It was just a suggestion: also recall I am mostly writing for clients so the module should support even non-RFC types and let the client implementation decide whether it wants to do anything with them or not
08:01:18 <zzo38> That is OK if you want to support () for multicharacter types in your client codes (since parentheses are not used otherwise for types); however I suggest not using them in servers except for experimental purposes. (Same with the @B it was an experimental purpose and is not intended to be supported.)
08:01:19 <GreyKnight> Oh I need to look up more about how you send query text to a search
08:01:31 <zzo38> GreyKnight: Append a tab and the query string.
08:01:39 <zzo38> The result will be of type 1.
08:03:17 <GreyKnight> (I doubt I will bother with multicharacter types, it just struck me as a tidy way to do it if someone felt the need)
08:04:04 <zzo38> There is no need to implement multicharacter types.
08:04:49 <GreyKnight> Presumably you mean the resultS will be of type 1? Typically search returns a set of results
08:05:49 <zzo38> I mean that a type 7 request is actually a request for a type 1 resource, except that there is a query string.
08:06:26 <zzo38> It isn't even necessarily a search; it is just a request with a user-specified query string.
08:06:29 <GreyKnight> Hm I will read up on it and experiment with VERONICA
08:07:25 <zzo38> So in other words, to process a type 7 resource: Ask the user for a query string. Append a tab and the query string to the selector string. Now treat it as a type 1 request.
08:08:37 <GreyKnight> So similar to an HTTP GET query except we use \t instead of ? :-)
08:08:44 <GreyKnight> (And don't have formal names unless you implement them)
08:09:05 <zzo38> Kind of, except the query string is not encoded in any way.
08:09:12 <zzo38> And there are no fields.
08:10:21 <GreyKnight> Implementing gopher is a piece of cake, everybody should do it as a programming exercise
08:10:42 <GreyKnight> sgeo can make a Factor implementation :-)
08:15:13 -!- greyooze has joined.
08:16:11 -!- GreyKnight has quit (Ping timeout: 246 seconds).
08:16:41 -!- greyooze has changed nick to GreyKnight.
08:25:36 -!- epicmonkey has joined.
08:25:39 -!- GreyKnight has quit (Quit: The gopher bites! It explodes!).
08:40:07 -!- epicmonkey has quit (Read error: Operation timed out).
08:45:19 <zzo38> Using %la printf format doesn't work in my computer.
08:46:19 -!- AnotherTest has joined.
08:46:49 <zzo38> O no wait %la is not right.
08:47:40 <zzo38> But scanf apparently uses %la
08:48:28 <fizzie> scanf can use the %La too.
08:48:54 <fizzie> For long double; which is what printf uses for it, I mean.
08:49:25 <zzo38> Still I tried %a and that doesn't work either; the output is just "a"
08:50:07 <zzo38> Does Windows not support it?
08:50:28 <fizzie> %a is one of the floating conversions; they don't need length modifiers for double because of argument promotions.
08:50:38 <fizzie> And it wouldn't surprise me if Windows did not support it.
08:50:51 <fizzie> Since it's an introduced-in-C99 thing.
08:51:08 -!- nooga has joined.
08:52:00 <fizzie> %a when printing does doubles too.
08:52:26 <fizzie> No, because you can't pass floats to printf.
08:52:32 <fizzie> Due to the aforementioned argument promotions.
08:52:36 <fizzie> "l (ell) -- or has no effect on a following a, A, e, E, f, F, g, or G conversion specifier."
08:54:12 <fizzie> "-- the integer promotions are performed on each argument, and arguments that have type float are promoted to double. These are called the default argument promotions. -- The ellipsis notation in a function prototype declarator causes argument type conversion to stop after the last declared parameter. The default argument promotions are performed on trailing arguments."
08:54:41 <fizzie> For scanf, since you pass pointers, there is a difference between %a and %la.
08:55:54 -!- nooga has quit (Ping timeout: 264 seconds).
09:00:48 -!- carado has joined.
09:01:32 -!- Bike has quit (Quit: gone).
09:08:45 -!- FreeFull has quit.
09:12:47 -!- nooga has joined.
09:13:11 -!- heroux has quit (Ping timeout: 244 seconds).
09:14:55 -!- heroux has joined.
09:39:44 -!- monqy has joined.
09:42:22 -!- zzo38 has quit (Remote host closed the connection).
09:50:37 -!- epicmonkey has joined.
10:20:20 -!- Nisstyre-laptop has quit (Ping timeout: 255 seconds).
10:42:03 <shachaf> you have upset the order of things
10:44:20 <Fiora> she is an important character taking part in this update!
11:20:01 <FireFly> Who stole letters from the topic?
11:21:36 <Jafet> heitailhfoeramasgly
11:26:37 <Jafet> I hope calliope isn't full of hot air.
11:37:58 -!- Phantom_Hoover has joined.
11:41:44 -!- sebbu has quit (Ping timeout: 260 seconds).
12:38:53 <shachaf> If you take this Haskell class, you will learn about
12:38:54 <shachaf> Partial functions (currying)
12:39:16 <shachaf> And a bunch about Yesod, I guess?
12:39:29 <Jafet> But no monads? I want to learn monads.
12:40:25 -!- sebbu has joined.
12:40:43 <shachaf> The Two Day Introduction to Programming in Haskell is targeted to developers and provides the basic language syntax as well as the abstract type system, data types, basic and higher order functions, and monad classes.
12:40:43 -!- sebbu has quit (Changing host).
12:40:43 -!- sebbu has joined.
12:40:56 <shachaf> I guess it provides monad classes.
12:41:02 <shachaf> I'm not sure which sense of the word "class" they mean.
12:41:28 <Jafet> It's probably a type of type class class.
12:42:39 -!- GreyKnight has joined.
12:45:06 -!- fago88 has joined.
12:46:16 <HackEgo> Monads are just monoids in the category of endofunctors.
12:46:30 -!- sirdancealot7 has joined.
12:47:13 -!- fago88 has left.
12:47:48 <lambdabot> dons says: The alien rulers of the galaxy must surely use a statically typed language with type inference
12:48:04 <lambdabot> No quotes match. Sorry about this, I know it's a bit silly.
12:48:10 <HackEgo> Monoids are just categories with a single object.
12:48:25 <lambdabot> roconnor says: gez, you write one paper explaining how a lens is really a higher order monoidal natural transformation, and suddenly everyone thinks you are an expert on lenses.
12:50:15 <lambdabot> Jafet says: caleskell is the standard golf course.
12:50:23 <lambdabot> Jafet says: Haskell is an abstract research language used only in academia, education, banking, stock trading, circuit design, embedded systems, cryptography, operating systems research, bioinformatic
12:50:26 <lambdabot> Jafet says: <gwern> closures are a poor man's object <ddarius> objects are a poor man's closure <Berengal> objects are a rich man's structs <Jafet> Poor programmers should start unions
12:50:58 <lambdabot> Jafet says: <dylukes> come on matlab, I've been waiting for this integral for two minutes now. <Jafet> Integration in south africa took several years.
12:51:05 <lambdabot> Jafet says: Also, english ~= transmogrify (foldr union German $ map takeRandomStuffFrom [Abyssinia..Zulu])
12:51:47 <GreyKnight> Always knew Haskell was designed for space aliens
12:59:17 -!- aloril has quit (Ping timeout: 255 seconds).
13:06:03 -!- aloril has joined.
13:14:21 -!- Jafet has quit (Quit: Leaving.).
13:15:01 -!- GreyKnight has quit (Ping timeout: 248 seconds).
13:23:46 -!- ais523 has joined.
13:26:49 <ais523> <spambot> - This mail is in HTML. Some elements may be ommited in plain text. -
13:27:02 <ais523> I thought those HTML reminder lines were autogenerated
13:27:06 <ais523> so how can they have misspellings in?
13:27:24 <ais523> and what's the chance of someone who doesn't have HTML mail on by default (and thus is probably quite internet-savvy) turning it on in order to read spam?
13:27:47 <ais523> Also The Entire Message Of The Body Was Written In Initcaps
13:28:17 <AnotherTest> All and backs can, given her fair as you are go.
13:32:03 <ais523> meanwhile, HTML5 moves from alpha into beta
13:36:13 <c00kiemon5ter> meanwhile @ Brighton http://www.youtube.com/watch?v=gCgV-FnEcGQ
13:39:14 <AnotherTest> unfortunately the video was playing extremely slowly, because I don't have flash installed (for some unknown reason) and I had to use HTML 5
13:39:46 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
13:39:56 -!- carado has quit (Ping timeout: 246 seconds).
13:40:38 <AnotherTest> Also, just yesterday, someone told me that she was going to prepare for the end of the world?
13:41:08 <AnotherTest> (not exactly sure how you would do that though)
13:41:26 <AnotherTest> I guess you could try to collect some food or something
13:42:03 <AnotherTest> although if the earth were to be sucked up by a black hole, I doubt that would really help a lot
13:43:48 <ais523> AnotherTest: all the Mayan previous-ends-of-worlds were natural disasters which most people transformed into animals to avoid
13:43:56 <ais523> and a few survived via really mundane means
13:44:51 <ais523> if this one follows the same pattern, I guess the conclusion is that you have to go find some sort of mundane shelter that can protect you from some disaster that could also be fixed via transforming into some sort of animal that doesn't exist yet
13:46:27 <AnotherTest> delphi: Did mark mayor is, may danger much is here at hand.
13:47:13 <AnotherTest> Yes, I know, although the answer does not come from a human
13:47:50 <AnotherTest> delphi: Heaven we and you, among the hopeful lady of my earth but woo her gentle.
13:48:10 -!- Phantom_Hoover has joined.
13:50:50 -!- delphi has joined.
13:51:02 <delphi> Should find and is, received of drink and thralls of drink and thralls.
13:51:14 -!- delphi has changed nick to Guest29523.
13:51:32 <AnotherTest> it appears delphi is a registered nickname
13:53:25 <Guest29523> Trembling flesh , but if thou embowel me to-day though.
13:54:11 <AnotherTest> (there should have been one before the comma)
13:57:00 -!- GreyKnight has joined.
14:02:38 -!- GreyKnight has quit (Ping timeout: 255 seconds).
14:15:54 -!- boily has joined.
14:18:35 <AnotherTest> delphi: are you still functioning within established parameters?
14:18:36 <Guest29523> Whom you if you, answer nay wherefore should they since that.
14:24:28 <AnotherTest> What's a good university for computer science?
14:34:45 -!- Jafet has joined.
14:48:55 <Jafet> Bonnieshire and Strathclyde
15:07:48 -!- sebbu2 has joined.
15:11:03 -!- sebbu has quit (Ping timeout: 260 seconds).
15:22:40 -!- sebbu has joined.
15:22:59 -!- sebbu has quit (Changing host).
15:22:59 -!- sebbu has joined.
15:25:58 -!- sebbu2 has quit (Ping timeout: 245 seconds).
15:59:36 -!- monqy has quit (Ping timeout: 264 seconds).
16:17:23 -!- monqy has joined.
16:27:36 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
16:29:35 -!- GreyKnight has joined.
16:33:59 <elliott> 01:13:53: <c00kiemon5ter> http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-3.html this :)
16:34:04 <elliott> pales in comparison to http://www.scsh.net/docu/html/man.html
16:34:31 <elliott> opinions about the start of books about scheme
16:36:10 <monqy> those are some pretty good acknowledgements elliott
16:38:03 <GreyKnight> Nowadays it'd be "downloading videos off of facebook" I guess
16:38:45 <monqy> "A lot of people have been kinda worried about me ever since I published the scsh manual back in 1993, but I'm feeling a lot better, really."
16:39:01 <monqy> i wonder how that went down
16:40:48 <monqy> the "a lot better" links to http://www.ccs.neu.edu/home/shivers/institutionalized.html
16:44:00 <monqy> http://www.ccs.neu.edu/home/shivers/advisor-stmt-original.txt
16:46:16 -!- Phantom_Hoover has joined.
17:13:55 -!- Nisstyre-laptop has joined.
17:16:06 <elliott> @tell oerjan imo you should recommend reflection http://www.reddit.com/r/haskell/comments/15246s/pain_point_dependency_injection_in_haskell_via/
17:16:35 -!- Taneb has joined.
17:21:32 <fizzie> Haskell, the language of optics.
17:21:49 <monqy> haskell library where you have to push the reflective boxes so the laser goes into the sensor
17:25:14 <fizzie> Those are some good names.
17:27:23 -!- oklofok has quit (Ping timeout: 265 seconds).
17:27:29 -!- oklofok has joined.
17:27:34 -!- oklopol has quit (Ping timeout: 250 seconds).
17:34:32 <GreyKnight> I will pay ten Internets if somebody makes this, even just a proof-of-concept level
17:35:25 <Guest29523> On you love is, never link'd to the cause of our.
17:36:13 <AnotherTest> GreyKnight: I will learn haskell if you make me 10 internets
17:41:51 <GreyKnight> An Internet is worth you love, but isn't linked to the price of causes
17:42:50 <AnotherTest> delphi: What is the real value of an internet?
17:42:51 <Guest29523> Thee in honour is, the subject of my story i will.
17:43:16 <Guest29523> On you love is, never link'd to the deserver till his.
17:43:55 <AnotherTest> delphi: You have betrayed me, you must be more clear!
17:43:55 <Guest29523> Assured destruction fathers have, be rare indeed whom their o'er-cloyed country.
17:45:31 -!- epicmonkey has quit (Ping timeout: 260 seconds).
17:47:18 -!- ais523 has quit.
17:49:05 -!- Guest29523 has quit (Remote host closed the connection).
17:52:44 -!- atslash has joined.
17:54:13 -!- atslash has quit (Client Quit).
18:00:19 -!- oklopol has joined.
18:00:48 -!- oklofok has quit (Ping timeout: 264 seconds).
18:01:39 -!- Arc_Koen has joined.
18:04:11 -!- augur has quit (Remote host closed the connection).
18:22:00 -!- FreeFull has joined.
18:31:54 <HackEgo> tappajuttansa ajaisimpanee sattelmiedostuville vallemastavillä jouksensä kehokeilevin hirveämme hurroksuvuudeksilla aamallassansa heilevissa
18:33:04 <HackEgo> fenowałabyście kubiankowane nieprzywał
18:35:10 <GreyKnight> Just create a random pot pourri of the other languages
18:35:39 -!- oerjan has joined.
18:36:18 <HackEgo> kynitumillasi hosummaksemmälttu palvomiasi merisekoiltänsä muttamme ansaanne hailevamme rivälitavimme neliopilkoilut aamaltanne
18:36:35 <HackEgo> /hackenv/bin/words: a /usr/bin/perl script text executable
18:37:23 <HackEgo> coa sij aucfd gewalb raig overton craunc dai honal antain
18:37:52 <lambdabot> oerjan: You have 1 new message. '/msg lambdabot @messages' to read it.
18:37:58 <lambdabot> elliott said 1h 21m 51s ago: imo you should recommend reflection http://www.reddit.com/r/haskell/comments/15246s/pain_point_dependency_injection_in_haskell_via/
18:38:25 <fizzie> There are multiple English options.
18:38:26 <HackEgo> Usage: words [-dhNo] [DATASETS...] [NUMBER_OF_WORDS] \ \ options: \ -l, --list list valid datasets \ -d, --debug debugging output \ -N, --dont-normalize don't normalize frequencies when combining \ multiple Markov models; this has the effect \ of making larger dataset
18:38:33 <HackEgo> valid datasets: --eng-1M --eng-all --eng-fiction --eng-gb --eng-us --french --german --hebrew --russian --spanish --irish --german-medical --bulgarian --catalan --swedish --brazilian --canadian-english-insane --manx --italian --ogerman --portuguese --polish --gaelic --finnish --norwegian --esolangs \ default: --eng-1M
18:38:45 <fizzie> eng-1M, eng-all, eng-fiction, eng-gb, eng-us.
18:38:59 <HackEgo> arj stranski prf snowl ahotoz indetaliza bearo cprofc thoulsing eesurran
18:39:11 -!- Taneb has quit (Ping timeout: 260 seconds).
18:39:25 <fizzie> The Arj-Stranski theorem.
18:39:33 <Lumpio-> I should compare those against a dictionary and highlight the ones that are real words
18:39:42 <Lumpio-> ...or alternatively highlight the ones that aren't
18:40:02 <olsner> Thoulsing is quite namey as well
18:40:28 <quintopia> have you ever seen a snowl take wing from a spruce on christmas day in the morning?
18:40:36 <oerjan> elliott: i am over quota on people telling me what to do today, sorry
18:40:38 <fizzie> Incidentally, you can have it mix.
18:40:46 <fizzie> `words --finnish --eng-us 10
18:40:49 <HackEgo> sanne yleijtherkkea näköisi vallurisen agrat hurrn tig kutsunt oscopedagric promal
18:40:52 <Lumpio-> oerjan: I think you should take more advice from people.
18:40:55 <elliott> oerjan: that was a recommendation!
18:41:29 * oerjan swats Lumpio- -----###
18:42:41 <oerjan> elliott: the word "should" betrays you
18:42:43 <elliott> oerjan: part of your swatter's handle detached from it and caught on Lumpio. hth.
18:43:37 -!- GreyKnight has changed nick to GreyKnight-.
18:44:12 <quintopia> first there is a hyphen at the end, and then it starts eating the last w-
18:44:33 <Lumpio-> I don't even remember what the last four letters of nick used to be
18:45:00 -!- quintopia has changed nick to quintopia-.
18:45:02 -!- augur has joined.
18:45:37 -!- quintopia- has changed nick to quint-.
18:46:15 -!- quint- has changed nick to qui-.
18:46:23 <qui-> it's all over. we-
18:46:45 <qui-> it flows through me!
18:46:52 <qui-> the power of the exclamation point!
18:46:56 -!- Taneb has joined.
18:47:07 -!- copumpkin has quit (Ping timeout: 265 seconds).
18:47:10 -!- qui- has changed nick to quintopia.
18:47:23 <GreyKnight-> monqy uses question mark! It's super-effective!
18:47:31 <olsner> ... what are you doing?
18:47:41 -!- copumpkin has joined.
18:48:02 -!- GreyKnight- has changed nick to GreyKnight.
18:48:33 <GreyKnight> olsner: *I'm* being sleep-deprived. I don't know what everyone else's excuse is.
18:48:40 * oerjan uses the trick of trapping it with #'s
18:48:59 <olsner> was that supposed to be a pumpkin trap?
18:49:27 <oerjan> olsner isn't very observant.
18:50:12 <boily> ah, friday's weirdness has come early this week. must be a holiday special!
18:50:50 <oerjan> olsner: not at all, we need people like you to give us new jokes about swedes
18:52:06 <boily> GreyKnight: weirdness for all, especially the poor, starving children who shiver in the cold and stuff like that?
18:53:11 <GreyKnight> boily: yes, oerjan was visited by the ghost of weirdness past
18:55:08 <GreyKnight> The nice thing about being a grown-up is that you can decide that any day is cake day
18:55:21 <oerjan> in fact i had _two_ cakes today!
18:55:35 <oerjan> carrot cake, and a brownie
18:56:25 <Arc_Koen> I think the first desert I eat everytime I go to london has gotta be an organic carrot cake
18:56:52 <Arc_Koen> for someone who lives in france it has something special
18:57:05 <Arc_Koen> just saying "I just had an organic carrot cake"
18:57:15 <olsner> you... "think"? you've been eating the same dessert every time but don't know what it is?
18:57:23 <oerjan> so much better than the plastic ones
18:57:31 <GreyKnight> Eating desert sounds tasty. Should keep you regular.
18:57:34 <olsner> I like the robotic carrot cakes
18:58:02 <kmc> i think sand will actually do a poor job of absorbing water inside the large intestine
18:59:02 <oerjan> `addquote <kmc> i think sand will actually do a poor job of absorbing water inside the large intestine
18:59:06 <HackEgo> 873) <kmc> i think sand will actually do a poor job of absorbing water inside the large intestine
18:59:22 <GreyKnight> We should do an experiment to find out. *looks sideways at shachaf*
19:01:12 -!- boily1 has joined.
19:01:52 <kmc> vermiculite on the other hand
19:02:48 -!- boily has quit (Read error: Operation timed out).
19:03:54 <oerjan> am i evil for wanting to turn that into a pun on the negev desert
19:05:28 <fizzie> Bleh it's so http://outside.aalto.fi/img/lite.day.png dark these days.
19:05:33 <fizzie> (But I do like the graph.)
19:07:05 <kmc> i feel the same way, and you're about 18° north of me :/
19:07:05 -!- epicmonkey has joined.
19:07:51 <kmc> also cold :(
19:07:53 <AnotherTest> elliott: Thanks for the out_of_range exception :(
19:07:57 <kmc> boston hasn't had much of a winter so far
19:08:54 <AnotherTest> You need to say at least 2 words or it crashes
19:09:17 <kmc> completely dark by 16:00 is depressing
19:09:26 <kmc> here sunset is around 16:00 but of course there is some light after
19:09:53 <kmc> it's also amusing that the sensor registers actually 0 when the sun is not up... I guess the sun is much much brighter than other sources of light :3
19:11:00 <olsner> I guess the street lights up there aren't quite powerful enough to penetrate the deep dark of winter
19:11:14 -!- boily1 has changed nick to boily.
19:12:44 <kmc> trying to understand lux
19:13:04 <fizzie> There's actually a reasonable amount of light pollution here, and perceptually it's very light out sometimes, but I suppose that's all just due to the huge dynamic range of people eyes.
19:13:17 <kmc> it is weighted by visual response at different wavelengths, but is still linear in power at a given wavelength
19:13:19 <fizzie> Also, now that the snow is out there, it's not quite so dark when it's dark.
19:13:55 <olsner> tried searching for "light" on the swedish wheather institute's site ... first hit is "Our brightest time is now"
19:14:45 <kmc> i expect perceived brightness is logarithmic in power per unit area
19:14:58 <kmc> most perceptual things are logarithmic
19:15:42 <olsner> perceived brightness changes depending on how dark-adapted your eyes are though
19:16:40 -!- Bike has joined.
19:17:46 -!- zzo38 has joined.
19:18:37 <fizzie> Most perceptual things have a power law, more like, isn't it? Cf. http://en.wikipedia.org/wiki/Stevens'_power_law
19:19:06 <kmc> i stand corrected
19:19:27 <fizzie> Okay, the Weber-Fechner law it references is logarithmic.
19:19:47 <elliott> fibonacci logarithms of nature
19:20:09 * kmc hands elliott the bong
19:22:06 -!- augur has quit (Read error: Connection reset by peer).
19:22:15 <oerjan> zzo38: for t Finalize = Finalize, i think x = join (lift (return x)) = join (lift Finalize) = join (lift (return Finalize)) = Finalize
19:22:24 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
19:22:30 -!- augur has joined.
19:23:17 <oerjan> assuming join (lift (return x)) = x follows from monad transformer laws, which i think it ought to
19:23:59 <elliott> lift (m >>= f) = lift m >>= (lift . f)
19:24:07 <elliott> and join . return = id is a monad law
19:24:15 <oerjan> ok lift . return = return is what gives that
19:27:53 <zzo38> Yes, that is understand.
19:28:12 <GreyKnight> zzo38: convince everyone to make a gopher client in the language of their choice
19:29:58 <quintopia> zzo38 doesn't necessarily believe gopher is right for everyone
19:30:15 <AnotherTest> Isn't it stupid that I have to define my operator!= as !operator== as an actual function in C++? They should have a shorthand.
19:30:32 <GreyKnight> But implementing a client is a fun experience even if you don't use it!
19:31:22 <GreyKnight> quintopia, at least 350 times more fun than trying to implement HTTP
19:31:32 <lambdabot> *** "gopher" wn "WordNet (r) 3.0 (2006)"
19:31:32 <lambdabot> n 1: a zealously energetic person (especially a salesman) [syn:
19:31:32 <lambdabot> 2: a native or resident of Minnesota [syn: {Minnesotan},
19:31:52 <elliott> oerjan: if a functor is both Pointed and Applicative, can you prove that point = pure
19:32:02 <AnotherTest> Well, you can't be a ware of what every protocol is exactly
19:32:31 <AnotherTest> What exactly is the advantage of this over HTTP?
19:32:39 <GreyKnight> Gopher is a hyperprotocol that came just before HTTP. It was a lot simpler, hence easy to implement
19:32:41 <oerjan> elliott: what are the laws for Pointed?
19:33:14 <AnotherTest> GreyKnight: so why would you use it nowadays?
19:33:31 <lambdabot> Not in scope: data constructor `Pointed'
19:33:47 <oerjan> ok, what _is_ Pointed, i've never used it.
19:33:50 <GreyKnight> Perhaps for historical interest, or perhaps you like lightweightness? It is up to you
19:34:11 <elliott> oerjan: class Pointed f where point :: a -> f a
19:34:17 <elliott> oerjan: there is a law in combination with fmap, but it is a free theorem
19:34:19 <GreyKnight> Perhaps you just want to see what's behind http://zzo38computer.org/ :-)
19:34:40 <elliott> oerjan: (fmap f . point = point . f)
19:34:42 <AnotherTest> GreyKnight: But almost no servers will support SSL!
19:35:07 <GreyKnight> Don't check your bank account over gopher then? Shrug!
19:35:32 <GreyKnight> zzo38: hey, is there a secure gopher? Tell us!
19:36:18 <oerjan> elliott: i don't think there's anything preventing a Functor from having two different Pointed instances
19:36:40 <elliott> yeah, I am just wondering if the Applicative laws somehow restrict it, but I guess they couldn't really
19:37:38 <oerjan> no, i think if you take a Free monad based on a Functor with two constants, then those constants will both be points in the monad.
19:37:39 <zzo38> GreyKnight: You can use gopher over SSH if you want it secure.
19:37:54 <zzo38> However, if you want bank account best is probably SSH anyways.
19:38:09 <oerjan> or actually, one constant, since pure/return of a free monad doesn't come from the constant anyway
19:38:22 <fizzie> Are there many banks that allow for doing online banking over SSH?
19:38:43 <oerjan> i'm confused, scratch that
19:39:19 <zzo38> fizzie: I don't know, but they probably ought to be.
19:40:10 -!- GreyKnight has quit (Ping timeout: 252 seconds).
19:41:13 <oerjan> actually don't scratch that anyway. i believe point = const Nothing is a perfectly correct instance, no?
19:41:31 <oerjan> there's nothing demanding it uses its input value
19:43:48 <oerjan> although even so: i think point x = writer (x, "Hi mom!") is also one
19:48:10 <zzo38> oerjan: O, maybe you can figure out, how many points there are of some functor. Identity functor has only one, I guess?
19:51:49 <oerjan> seems that would be another free theorem
19:52:51 <oerjan> f . runIdentity . point = runIdentity . point . f
19:53:45 <oerjan> or well, it essentially has type a -> a
19:53:47 <elliott> I don't see how that's quite free
19:53:54 <elliott> runIdentity :: Identity a -> a
19:53:57 <elliott> but you have Writer w a -> a too etc.
19:54:21 <oerjan> runIdentity . point :: a -> a
19:55:06 <oerjan> so runIdentity . point = id
19:55:49 <oerjan> g = const x gives f x = x
19:57:56 <oerjan> makePoint :: Functor f => f () -> x -> f x; makePoint template x = x <$ template
20:00:31 <oerjan> makePoint t (f x) = f x <$ t = fmap f (x <$ t) = fmap f (makePoint t x)
20:01:18 <oerjan> makePoint t () = () <$ t = t, well ignoring bottom that ought to be true
20:01:36 <oerjan> zzo38: i think there's essentially one point for each value of type f ()
20:02:38 <zzo38> oerjan: Yes, I think so.
20:03:03 <zzo38> One for each f () seems correct to me, too.
20:03:06 <oerjan> x <$ point () = fmap (const x) (point ()) = point (const x ()) = point x so all points are of this form
20:05:01 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer).
20:07:48 -!- Vorpal has joined.
20:12:26 -!- Phantom_Hoover has joined.
20:22:25 -!- AnotherTest has quit (Quit: Leaving.).
20:32:15 -!- Tibi99 has joined.
20:32:48 -!- Tibi99 has left.
20:58:53 -!- Yonkie has quit (Ping timeout: 255 seconds).
21:03:36 -!- Taneb has quit (Read error: Operation timed out).
21:05:10 -!- Taneb has joined.
21:24:53 -!- sebbu2 has joined.
21:26:33 -!- asiekierka has quit (Excess Flood).
21:27:11 -!- sebbu has quit (Ping timeout: 260 seconds).
21:28:31 -!- asiekierka has joined.
21:54:45 <sgeo> And... I am done with school
21:56:02 <Arc_Koen> and tomorrow, your life as a worker shall begin!
21:56:58 <Taneb> Bike, how goes the Eodermdrone interpreter?
21:57:49 <Bike> it doesn't. so there
21:58:33 <Bike> i think maybe i'll just read up on kolmogorov-uspenski machines and go from there, later
21:58:44 <oerjan> they always get stuck on the edge cases
21:58:46 <Bike> assuming i can find english sources and/or learn russian
21:59:06 -!- monqy has quit (Quit: hello).
22:06:01 -!- sebbu2 has changed nick to sebbu.
22:09:58 <Taneb> Just finished off my Fueue interpreter
22:10:04 <Taneb> It goes through -Wall and hlint
22:10:37 <Taneb> And appears to run the Thue-Morse program correctly
22:13:52 <Arc_Koen> now try running the truth machine
22:14:42 -!- augur has quit (Remote host closed the connection).
22:15:22 -!- augur has joined.
22:16:32 -!- carado has joined.
22:17:12 <oerjan> that would sadly need to be written first
22:18:28 -!- Taneb has quit (Ping timeout: 272 seconds).
22:19:33 -!- augur has quit (Ping timeout: 244 seconds).
22:30:39 <elliott> 03:48:22 -!- LittleFoot [~LittleFoo@cpe-50-113-114-54.san.res.rr.com] has joined #life
22:30:42 <elliott> 03:48:26 -!- LittleFoot [~LittleFoo@cpe-50-113-114-54.san.res.rr.com] has left #life []
22:30:45 <elliott> Day changed to 18 Dec 2012
22:30:48 <elliott> 22:30:11 -!- GlidingSpider [~GlidingSp@96-29-246-27.dhcp.insightbb.com] has joined #life
22:30:51 <elliott> 22:30:16 <GlidingSpider> hello
22:30:58 <elliott> apparently i've been in #life for days
22:31:31 <elliott> 22:30:37 <GlidingSpider> are you human
22:31:31 <elliott> 22:31:13 <GlidingSpider> what web browser do you use
22:37:09 <fizzie> That's progress, and that's moving forward.
22:38:34 -!- sebbu has quit (Ping timeout: 260 seconds).
22:50:26 -!- boily has quit (Quit: Poulet!).
22:53:56 -!- epicmonkey has quit (Ping timeout: 272 seconds).
23:07:05 <Gregor> I ordered something from China.
23:07:10 <Gregor> And its tracking status is "Acceptance"
23:07:22 <Gregor> I'm glad that Chinese-made goods go through the stages of grief BEFORE being shipped.
23:16:05 <kmc> "bargaining" and "anger" are common parts of buying things online
23:18:33 -!- augur has joined.
23:27:14 -!- carado has quit (Ping timeout: 246 seconds).
23:28:04 -!- oerjan has quit (Quit: leaving).
23:29:47 -!- keb has joined.
23:30:29 -!- monqy has joined.
23:33:47 -!- Vorpal has quit (Ping timeout: 255 seconds).
23:47:36 -!- nooga has quit (Ping timeout: 250 seconds).