00:00:07 -!- augur has quit (Remote host closed the connection). 00:00:09 GreyKnight: Why? I just said that you do the kind of thing you do in Factor also in PostScript. 00:00:12 oh, so Forth differs from Factor in this area 00:00:58 *that* wording is clearer 00:01:39 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 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 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:03 Oh, I'm a bit late. 00:04:14 (The current dictionary is the dictionary on top of the dictionary stack.) 00:06:23 o.O i think I prefer PostScript's 00:06:35 Yes, Factor has Forth-style colon word-definition 00:06:49 Except the stack effect is mandatory and checked 00:10:23 -!- carado has quit (Ping timeout: 246 seconds). 00:11:50 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 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 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 is shafuck shachaf's brainfuck 00:45:59 kmc: If Phantom_Hoover does something to me I hold you responsible. 00:46:44 Anyway it's probably shubshub. 00:46:53 00:10:35 I should make a Language that only sometimes works :D ill call it MaybeNumericBatch 00:47:04 00:11:22 ill just reprogram my language to Only work if a certain random number is met :D 00:48:16 i tried to report a bug in debian and the experience was... frustrating 01:01:26 -!- TeruFSX has quit (Ping timeout: 255 seconds). 01:01:59 what happened 01:02:19 shachaf wrote a brainfuck derivative 01:02:56 help 01:03:05 fuck you shachaf 01:03:17 libel 01:03:30 slander 01:03:52 Phantom_Hoover: I did no such thing. :-( 01:05:02 i'll go easy on you if you don't try to hide it 01:10:10 shachaf: this year I'm giving the last lecture in zombie 6.001 :) 01:10:40 Oh, is that still going on? 01:10:46 which is about incompleteness / halting problem / lambda calculus / church encoding / y combinator 01:11:02 yeah, it happens every january 01:11:02 6.001 is electronics ? 01:11:11 no 01:11:29 I heard the halting probblem was "a pretty cool problem" 01:11:30 6.001 was MIT's famous introduction to fundamental CS concepts, using the scheme language 01:11:52 ah 01:11:52 they cancelled it a while back in favor of a more practical class 01:11:53 And Church encoding "a pretty cool encoding" 01:12:18 Are you going to pretend Scheme is non-strict? 01:12:25 It makes Y so much easier to understand. :-( 01:12:26 it's SICP one 01:12:26 but some former students (and hangers-on like me) teach it during the January Independent Activities Period 01:12:29 yes 01:12:51 shachaf: not sure 01:12:59 sicp has the awesomest introduction 01:13:00 by that point they have already been exposed to lazy evaluation in lectures 01:13:21 and the whiteboarded description of Y is sufficiently removed from actual scheme that i could probably get away with it 01:13:53 http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-3.html this :) 01:15:10 hmm i have... conflicting opinions of that quote :) 01:16:33 well, it makes me smile :) 01:16:43 so it's good. like cookies. 01:16:57 om nom nom 01:17:01 :D 01:17:23 it makes me smile but also groan a bit 01:18:05 have you seen http://www.cs.yale.edu/quotes.html 01:18:42 yep, though I think I never read the whole list 01:18:51 aren't those attributed to one man ? 01:18:59 names names, I Keep forgetting 01:19:08 the same as the author of the quote you linked 01:19:50 :) it's at the end of that page too 01:20:30 gtg pick up somebody from the airport 01:20:52 enjoy 01:26:14 has c00kiemon5ter been here before with a different nick 01:31:20 -!- monqy has quit (Quit: hello). 01:32:59 http://factor-language.blogspot.com/2010/01/factors-bootstrap-process-explained.html 01:33:12 How similar is this to something like SBCL (which I really don't understand)? 01:47:37 so 01:47:41 who here knows or cares about factor 01:47:43 besides sgeo 01:47:58 I know someone who knows and cares about Factor. 01:48:12 is it sgeo 01:48:21 No. 01:48:29 kmc, I think there are other people here who know Factor. But probably not care. 01:48:30 is it jesus 01:49:34 don't forget about the ones who care but don't know 01:53:09 damn fluorid 01:53:32 http://slbkbs.org/fluids.jpg 01:53:46 -!- zzo38 has joined. 01:54:22 crazy people are crazy 02:04:48 -!- TeruFSX has joined. 02:07:48 Are you crazy too? 02:07:48 zzo38: You have 1 new message. '/msg lambdabot @messages' to read it. 02:07:52 ?message 02:07:52 Maybe you meant: messages messages? 02:07:54 ?messages 02:07:54 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:07:54 code which is broken sir! :-) 02:08:43 GreyKnight: No I tried the same thing and it works correctly!! I don't know why it doesn't work. 02:09:22 On my computer it works even just telnet or netcat. 02:14:20 Stargate: The Ark of Truth is SO disappointing 02:30:14 I enjoyed it 02:30:43 so did I 02:30:51 but ti just felt like any random season's final 02:31:04 I mean, the original stargate film was very good 02:31:16 -!- EgoBot has quit (Read error: Connection reset by peer). 02:31:24 this just felt like a longer stargate episode, and really not one of the best 02:31:53 I love replicators, but they did nothing good with them 02:32:00 -!- EgoBot has joined. 02:32:09 "oh hey, replicators" 02:32:13 "shoot them!" 02:32:21 "I'm trying. It has no effect." 02:32:27 "Shoot them again!" 02:32:35 bam bam bam, and done 02:34:09 and, seriously... http://images3.wikia.nocookie.net/stargate/images/7/75/HumanShapeReplicator.jpg << that sucked. 02:34:42 zzo38: yeah, a bit 02:34:57 i used to be more crazy than i am now 02:35:05 i never had a strong opinion about water flouridation, though 02:35:25 People have surprisingly strong opinions about that. 02:57:14 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 and 'qemu' is a link to 'qemu-system-i386' even though i am on an AMD64 system 03:50:04 but passing it -cpu qemu64 is not an error, it just causes it to hang randomly 03:50:46 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 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 There's a thing called Observationally Cooperative Multithreading 04:04:40 Where the programmer programs as though using co-operative threading, but behind the scenes it's doing pre-emptive stuff 04:06:14 Is there a wire to connect RCA to mini phono? 04:09:55 sgeo: ok 04:10:01 sounds a little like STM 04:10:24 if every block of code between two preemption points is implicitly a transaction 04:10:37 sgeo: Does Clojure support it? 04:10:41 Or is it more of a Factor thing? 04:11:07 kmc: btw f,g-dialgebroids are the future 04:12:04 but are they webscale 04:12:08 What are f,g-dialgebroids? 04:14:03 shachaf, I found it when I googled co-operative multithreading, which is a Factor thing, but ultimately it's neither. 04:14:06 Does that count? 04:14:45 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 I don't quite understand it. It must be an advanced feature. 04:18:29 haha 04:19:11 hey, one-letter type variables are a huge innovation in haskell over miranda 04:19:19 That is true. 04:20:32 Didn't ML already have type variables by the time Miranda came about? 04:20:55 maybe they were patented 04:22:05 zzo38: Dialgebroid f g a b = f a -> g b 04:23:04 OK 04:23:36 zzo38: type Iso s t a b = (Functor f, Functor g) => Dial g f a b -> Dial g f s t 04:23:48 zzo38: type Lens s t a b = (Functor f) => Dial Identity f a b -> Dial Identity f s t 04:24:06 zzo38: type Prism s t a b = (Pointed f, Costrong g) => Dial g f a b -> Dial g f s t 04:24:37 zzo38: type AffineTraversal s t a b = (Pointed f) => Dial Identity f a b -> Dial Identity f s t 04:30:56 kmc: Can you believe Hackage doesn't have a base64 function :: ByteString -> String, or ByteString -> Text? 04:31:03 It has ByteString -> ByteString and String -> String 04:31:21 lol 04:31:37 hi copumpkin 04:31:44 hi 04:31:49 are you laughing at me again!! 04:33:50 nope 04:36:30 shachaf: that's terrible 04:36:48 characters and bytes are totally the same thing, am i rite 04:38:01 the codomain of the function is a little broad for my tastes 04:38:27 ByteString -> Array Word6 04:38:49 six? 04:39:01 > 2^6 04:39:03 64 04:39:05 Is that for base64? 04:39:06 Looks OK. 04:39:19 I'm known for my l33t maff skilz 04:39:42 copumpkin: What can you tell be about dialgebroids? 04:39:52 it's a word you just made up 04:39:58 True. 04:40:03 What should I call that thing? 04:40:13 unnatural transformations 04:40:35 I was going by analogy with "dialgebra" and "coalgebroid" 04:42:29 hmm :) 04:43:03 Anyway does it have any good properties? 04:43:43 I doubt it 04:43:52 F-algebras don't either :P 04:44:07 What about Dialgebroid f g a b -> Dialgebroid f g s t? 04:45:08 clearly you have another functor from some sort of product category 04:45:38 let F = Uncurry (Dialgebroid f g) in F (a, b) -> F (s, t) 04:46:29 OK, sure. 04:47:51 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 You forgot about f 04:48:57 True. 04:49:11 This generalizes to any LensLike, right? 04:49:24 LensLike f s t i o = forall a b. (i a -> f (i b)) -> o a -> f (o b) 04:49:42 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 shachaf: now that SHA-1 is deprecated for new uses, I have finally trained myself to type "sha1sum" instead of "md5sum" 04:50:15 kmc: You're supposed to use what, SHA-2 and/or SHA-3 now? 04:50:23 I don't have sha3sum :-( 04:50:37 Do you know if the monad transformer laws imply t Finalize = Finalize and comonad transformer laws imply t Initialize = Initialize ? 04:50:42 you should use that implementation made by stoned people who got thrown out of noisebridge 04:50:52 They are true for all examples I have tried, at least. 04:51:11 zzo38: Finalize = Proxy, Initialize = Identity? 04:51:46 shachaf: No! data Finalize x = Finalize; data Initialize x; 04:52:06 Oh, yes. 04:54:30 Right, Identity doesn't make sense. :-) 04:55:09 Why did you think it is Identity? 04:55:29 I thought "what's the other really simple data type other than proxy?" 04:55:58 O, OK, that is why you thought. 04:57:35 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 zzo38: But they're also initial and final objects themselves, aren't they? 05:28:51 Oh, maybe this is what confused me: 05:28:52 haskell/08.01.22:23:14:47 there exists a category of monads. Null is the terminal monad, Identity is the initial monad 05:29:32 But of course your Initialize isn't a monad at all. 05:57:53 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 They are not initial and final objects, or any objects; monads are functors not objects. 05:58:12 Right. 06:02:07 Maybe what sorear wrote is true (I don't know), but it is different to what I am doing. 06:05:11 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 Do you know if such a thing must always be true due to the mathematical laws? 06:05:53 Or else, is there a counterexample? 06:05:54 Are there many laws about monad transformers? 06:06:25 Well, it must be homomorphic, as any (anything) transformer must be, I think. 06:08:09 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 You can easily check that it does not satisfy the laws. 06:09:43 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 Well, what I mean might be "what do monad transformers have in common?". 06:12:04 For example, is there always a function runMonadT :: ... -> T ... -> m ...? 06:16:09 What are these ... going to be anyways? 06:16:25 Who knows? 06:16:27 @ty runReaderT 06:16:29 ReaderT r m a -> r -> m a 06:16:30 @ty runContT 06:16:31 ContT r m a -> (a -> m r) -> m r 06:16:54 I guess the second ... is "m a" 06:16:56 If ... can be anything arbitrary and different in each of three places, then of course there can be. 06:16:57 (No parentheses.) 06:17:11 zzo38: Anyway, I was asking *you*! 06:18:01 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 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 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 You really should put salt on it; unsalted is not so secure, due to rainbow tables and other things. 06:30:34 yep 06:30:51 (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 MySQL truly is the PHP of databases 06:31:30 I have used SQLite, in C programming; not MySQL. 06:31:34 in fact we used it at work for PHPish reasons 06:31:45 "it's very popular, if we run into problems we can hire someone to fix them" 06:31:51 over my objections 06:32:00 if it's your job, aren't you the one hired to fix problems 06:32:10 kmc is hired to create problems 06:32:21 or are the problems you're hired for specifically "shutting up the boss" 06:32:24 3.5 months later we have migrated to PostgreSQL at considerable difficulty 06:32:27 Like "hey why are you using php??" 06:32:36 kmc: Was it because MySQL is terrible? 06:32:39 yes 06:32:47 it screwed us over in several ways 06:32:54 as i predicted 06:33:06 whatever 06:33:15 "told you so" isn't so great in a business context so I am venting here instead 06:33:21 truly, you are the cassandra of modern programming business environments 06:33:44 cassandra is a database too! 06:33:51 Alias is a *show* about a spy! 06:34:06 isn't that show several years old 06:34:16 also what are you talking about, i meant the prophetess 06:34:31 http://cassandra.apache.org/ 06:34:40 Apparently someone I worked with at rethinkdb is now working on MySQL code at Google. 06:34:52 "Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. " 06:34:54 You're in Control 06:35:08 @quote edwardk.*Control 06:35:08 rwbarton says: edwardk now has Lens under Control 06:38:57 like... 06:38:59 why double 06:40:05 It's harder to unhash twice, of course! 06:42:04 kmc: It would be too fast otherwise... 06:46:37 bike: Especially if the result of one of the unhashes falls into a fully known set of bytestrings. 06:46:37 clearly 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 "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:54:08 deep. 06:55:38 Wow, for misuse of heraldry? That's pretty obscure indeed. 06:57:22 yeah 06:57:40 So who won the case? 06:57:40 it's amusing that the manchester government went after them for misuse of heraldry and not, like, trademark violation 06:57:44 the city 06:58:06 Are coats of arms actually trademarked? 06:58:44 dunno 06:59:01 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:29 yes 06:59:38 a duel would have been good here 06:59:47 a duel between the mayor of manchester and some theater owner 07:00:07 duels are always good 07:00:22 -!- keb has quit (Remote host closed the connection). 07:01:33 a duel between the town as a whole and the theater as a whole. just all out wr (with flintlocks) 07:27:53 What is portable way of load/save floating points in files, using a C code? 07:33:27 #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif 07:33:54 I don't want to do it that way, though. 07:34:16 yeah, the unbalanced single quote might upset the preprocessor 07:34:30 `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 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 I wonder if the printf "%A" specifier would be the best way, if there isn't another way? 07:36:48 if there isn't another way, then the only way must be the best way 07:37:04 No, the only way is the worst way 07:37:09 Which way would be the best way if there's no way? 07:37:21 Jafet: That too, I suppose. 07:37:26 THAT DOES NOT COMPUTE 07:38:55 "%A" does seem reasonable, yes 07:39:32 -!- GreyKnight has joined. 07:41:00 if you wanted to roll your own representation you could use frexp and ldexp 07:41:39 zzo38: could you see my requests coming in earlier? 07:42:36 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 Even with netcat and telnet, I can use the empty selector string which works. 07:43:26 I am wondering if something here was buffering the request. Will experiment 07:44:31 huh, frexp returns a float for the significand... 07:45:26 also, c99 only has it for doubles? what if you want to decode/encode singles? 07:45:39 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 it doesn't have frexpf? 07:46:13 oh, yes it does, it just wasn't on the reference i googled up 07:46:13 and frexpl for long doubles 07:46:14 I can see their meaning from context but would like a list to refer to 07:46:23 gotta sleep, ttyl all 07:46:29 kmc: libavutil/intfloat_readwrite.c seems to have a portable float/double read/write thing 07:46:43 it contains lovely code like this 07:46:44 return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075); 07:46:55 what the christ. 07:47:04 double av_int2dbl(int64_t v){ 07:47:04 if((uint64_t)v+v > 0xFFEULL<<52) 07:47:05 return NAN; 07:47:05 return ldexp(((v&((1LL<<52)-1)) + (1LL<<52)) * (v>>63|1), (v>>52&0x7FF)-1075); 07:47:07 } 07:47:34 it converts an integer (which represents a double) to an actual double, I /think/ 07:47:37 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 well there's your answer zzo38. use %a instead 07:48:03 Bike: OK, I can use %a perhaps. 07:48:24 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 zzo38: okay but has anyone documented such "commonly used" codes anywhere? :-P 07:49:00 -_- 07:49:11 I say "what the christ" every six seconds or so as a keepalive signal. 07:49:53 Also the U should be allowed in any position, so that you can have constants like 0xFUEL 07:50:55 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 Supporting only 0 1 7 i is sufficient. 07:51:29 zzo38: I found some lists but none had p. I don't know if there may be more obscure ones I am missing 07:51:37 Okay I have all of those 07:52:05 Oh well I will go ahead with this and see if anyone complains! 07:53:06 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 I already found a reference that P is commonly used for the latter 07:54:10 And I am writing code for clients so it's not up to me what to publish ;-) 07:54:37 I have found somewhere where d is used; but perhaps P should be used instead it is better idea. 07:55:15 I will correct my programs to match all of those (currently I use neither d nor P for anything, however) 07:55:27 Do you have a link to a person who uses d 07:55:38 (question mark) 07:55:47 No, but I found it in an old version of some gopher client somewhere. 07:55:50 I suggest ignoring it. 07:56:58 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 Oh there's an idea, if you want multicharacter codes you can start with '(', and end with a ')'. 07:57:38 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 Same with () you can use for experimental purposes. 07:59:35 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 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 Oh I need to look up more about how you send query text to a search 08:01:31 GreyKnight: Append a tab and the query string. 08:01:39 The result will be of type 1. 08:02:04 selector\tquery\r\n 08:02:15 Yes. 08:03:17 (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 There is no need to implement multicharacter types. 08:04:49 Presumably you mean the resultS will be of type 1? Typically search returns a set of results 08:05:07 You never know! 08:05:49 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 It isn't even necessarily a search; it is just a request with a user-specified query string. 08:06:29 Hm I will read up on it and experiment with VERONICA 08:06:52 (There is no substitute for testing) 08:07:25 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 So similar to an HTTP GET query except we use \t instead of ? :-) 08:08:44 (And don't have formal names unless you implement them) 08:09:05 Kind of, except the query string is not encoded in any way. 08:09:12 And there are no fields. 08:09:21 That's what I meant above 08:10:21 Implementing gopher is a piece of cake, everybody should do it as a programming exercise 08:10:42 sgeo can make a Factor implementation :-) 08:11:14 Yes. 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 Using %la printf format doesn't work in my computer. 08:46:19 -!- AnotherTest has joined. 08:46:37 Hello 08:46:49 O no wait %la is not right. 08:47:40 But scanf apparently uses %la 08:48:28 scanf can use the %La too. 08:48:54 For long double; which is what printf uses for it, I mean. 08:49:25 Still I tried %a and that doesn't work either; the output is just "a" 08:49:37 L is long double, l would be long int? 08:50:07 Does Windows not support it? 08:50:28 %a is one of the floating conversions; they don't need length modifiers for double because of argument promotions. 08:50:38 And it wouldn't surprise me if Windows did not support it. 08:50:51 Since it's an introduced-in-C99 thing. 08:51:08 -!- nooga has joined. 08:51:22 Oh wait %la does doubles 08:52:00 %a when printing does doubles too. 08:52:12 Doesn't %a do floats? 08:52:26 No, because you can't pass floats to printf. 08:52:32 Due to the aforementioned argument promotions. 08:52:36 "l (ell) -- or has no effect on a following a, A, e, E, f, F, g, or G conversion specifier." 08:53:27 oh 08:54:12 "-- 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 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:41:38 sgeo: update ^^ 10:41:46 Fiora............ 10:42:03 you have upset the order of things 10:42:21 blame calliope :3 10:43:15 Who's calliope? 10:44:20 she is an important character taking part in this update! 11:20:01 Who stole letters from the topic? 11:21:36 heitailhfoeramasgly 11:21:42 Oops 11:26:37 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 If you take this Haskell class, you will learn about 12:38:54 Partial functions (currying) 12:38:58 Sharing memory using STMs 12:39:16 And a bunch about Yesod, I guess? 12:39:29 But no monads? I want to learn monads. 12:40:25 -!- sebbu has joined. 12:40:43 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 I guess it provides monad classes. 12:41:02 I'm not sure which sense of the word "class" they mean. 12:41:28 It's probably a type of type class class. 12:42:39 -!- GreyKnight has joined. 12:45:06 -!- fago88 has joined. 12:46:11 `? monads 12:46:16 Monads are just monoids in the category of endofunctors. 12:46:30 -!- sirdancealot7 has joined. 12:47:13 -!- fago88 has left. 12:47:35 Jafet: see? Trivial 12:47:48 @quote lax 12:47:48 dons says: The alien rulers of the galaxy must surely use a statically typed language with type inference 12:48:04 @quote lax.strong 12:48:04 No quotes match. Sorry about this, I know it's a bit silly. 12:48:08 `? monoid 12:48:10 Monoids are just categories with a single object. 12:48:25 @quote monoidal 12:48:25 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:14 @quote Jafet 12:50:15 Jafet says: caleskell is the standard golf course. 12:50:22 @quote Jafet 12:50:23 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:23 s, phone apps, and web services. 12:50:25 @quote Jafet 12:50:26 Jafet says: closures are a poor man's object objects are a poor man's closure objects are a rich man's structs Poor programmers should start unions 12:50:58 @quote Jafet 12:50:58 Jafet says: come on matlab, I've been waiting for this integral for two minutes now. Integration in south africa took several years. 12:51:05 @quote Jafet 12:51:05 Jafet says: Also, english ~= transmogrify (foldr union German $ map takeRandomStuffFrom [Abyssinia..Zulu]) 12:51:13 * shachaf goes to sleep. 12:51:47 Always knew Haskell was designed for space aliens 12:53:51 the end is near 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 - This mail is in HTML. Some elements may be ommited in plain text. - 13:27:02 I thought those HTML reminder lines were autogenerated 13:27:06 so how can they have misspellings in? 13:27:24 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 Also The Entire Message Of The Body Was Written In Initcaps 13:28:17 All and backs can, given her fair as you are go. 13:32:03 meanwhile, HTML5 moves from alpha into beta 13:36:13 meanwhile @ Brighton http://www.youtube.com/watch?v=gCgV-FnEcGQ 13:38:00 hehe 13:39:14 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 Also, just yesterday, someone told me that she was going to prepare for the end of the world? 13:41:08 (not exactly sure how you would do that though) 13:41:26 I guess you could try to collect some food or something 13:42:03 although if the earth were to be sucked up by a black hole, I doubt that would really help a lot 13:43:48 AnotherTest: all the Mayan previous-ends-of-worlds were natural disasters which most people transformed into animals to avoid 13:43:56 and a few survived via really mundane means 13:44:48 Oh I need to check that 13:44:51 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:45:40 I shall ask the oracle! 13:46:27 delphi: Did mark mayor is, may danger much is here at hand. 13:46:33 aha 13:46:35 danger is at hand 13:46:45 delphi is the place :P 13:46:49 Pythia is the name 13:47:13 Yes, I know, although the answer does not come from a human 13:47:25 x) 13:47:34 but you're probably right 13:47:50 Are you human? 13:47:50 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: What is your species? 13:51:02 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 it appears delphi is a registered nickname 13:52:50 It still has quite a few problems 13:53:03 such as ending sentences with "and" 13:53:25 delphi: What problems do you face? 13:53:25 Trembling flesh , but if thou embowel me to-day though. 13:53:59 And also too little known words 13:54:11 (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 delphi: are you still functioning within established parameters? 14:18:36 Whom you if you, answer nay wherefore should they since that. 14:24:28 What's a good university for computer science? 14:25:12 (in Europe) 14:34:45 -!- Jafet has joined. 14:39:30 strathclyde 14:48:55 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:30:08 monqy: hi 16:30:19 hi 16:32:43 I implemented gopher, it was fun 16:33:59 01:13:53: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-3.html this :) 16:34:04 pales in comparison to http://www.scsh.net/docu/html/man.html 16:34:31 opinions about the start of books about scheme 16:36:10 those are some pretty good acknowledgements elliott 16:36:57 ha :D 16:38:03 Nowadays it'd be "downloading videos off of facebook" I guess 16:38:45 "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 i wonder how that went down 16:40:48 the "a lot better" links to http://www.ccs.neu.edu/home/shivers/institutionalized.html 16:43:49 oh 16:44:00 http://www.ccs.neu.edu/home/shivers/advisor-stmt-original.txt 16:46:16 -!- Phantom_Hoover has joined. 16:47:21 A++ would lol again 17:13:55 -!- Nisstyre-laptop has joined. 17:16:06 @tell oerjan imo you should recommend reflection http://www.reddit.com/r/haskell/comments/15246s/pain_point_dependency_injection_in_haskell_via/ 17:16:07 Consider it noted. 17:16:35 -!- Taneb has joined. 17:19:20 Lens, Prism, and now Mirror 17:20:00 just add Laser and we're set 17:21:32 Haskell, the language of optics. 17:21:49 haskell library where you have to push the reflective boxes so the laser goes into the sensor 17:22:49 enigma in Haskell 17:24:51 Haskigma. Enigmell. 17:25:14 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:33:37 Enigmaskell 17:34:32 I will pay ten Internets if somebody makes this, even just a proof-of-concept level 17:35:24 delphi: What is the value of an internet? 17:35:25 On you love is, never link'd to the cause of our. 17:36:13 GreyKnight: I will learn haskell if you make me 10 internets 17:36:28 (learn haskell and then make enigmaskell) 17:41:51 An Internet is worth you love, but isn't linked to the price of causes 17:42:01 Makes sense 17:42:50 delphi: What is the real value of an internet? 17:42:51 Thee in honour is, the subject of my story i will. 17:43:01 ah 17:43:10 I am the value of an internet 17:43:16 delphi: What is my value? 17:43:16 On you love is, never link'd to the deserver till his. 17:43:35 I give up 17:43:55 delphi: You have betrayed me, you must be more clear! 17:43:55 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:48:48 delphi: consider getting a real nick 17:48:48 I will , 17:49:05 delphi: qawdkgflk 17:49:05 -!- Guest29523 has quit (Remote host closed the connection). 17:49:09 cool 17:52:44 -!- atslash has joined. 17:54:13 -!- atslash has quit (Client Quit). 17:55:12 Hi, bye 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:50 `words --finnish 10 18:31:54 tappajuttansa ajaisimpanee sattelmiedostuville vallemastavillä jouksensä kehokeilevin hirveämme hurroksuvuudeksilla aamallassansa heilevissa 18:33:02 `words --polish 3 18:33:04 fenowałabyście kubiankowane nieprzywał 18:33:29 `words --english 3 18:33:31 Unknown option: english 18:33:35 Lol 18:35:10 Just create a random pot pourri of the other languages 18:35:21 "close enough" 18:35:39 -!- oerjan has joined. 18:36:16 `words --finnish 10 18:36:18 kynitumillasi hosummaksemmälttu palvomiasi merisekoiltänsä muttamme ansaanne hailevamme rivälitavimme neliopilkoilut aamaltanne 18:36:20 `words --japanese 10 18:36:22 Unknown option: japanese 18:36:25 .__. 18:36:33 `run file $(which words) 18:36:35 ​/hackenv/bin/words: a /usr/bin/perl script text executable 18:36:48 `words 3 18:36:52 muendict momedie nov 18:37:08 `words --latin 10 18:37:10 Unknown option: latin 18:37:13 Ugh 18:37:19 `words 10 18:37:23 coa sij aucfd gewalb raig overton craunc dai honal antain 18:37:29 What's the default 18:37:31 `words --words 18:37:33 English? 18:37:34 Unknown option: words 18:37:52 `words 18:37:52 oerjan: You have 1 new message. '/msg lambdabot @messages' to read it. 18:37:56 charman 18:37:57 @messages 18:37:58 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:24 `words --help 18:38:25 There are multiple English options. 18:38:26 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:30 `words -l 18:38:33 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 eng-1M, eng-all, eng-fiction, eng-gb, eng-us. 18:38:55 `words 10 18:38:59 arj stranski prf snowl ahotoz indetaliza bearo cprofc thoulsing eesurran 18:39:11 -!- Taneb has quit (Ping timeout: 260 seconds). 18:39:25 The Arj-Stranski theorem. 18:39:33 I should compare those against a dictionary and highlight the ones that are real words 18:39:35 What is it a prf of? 18:39:42 ...or alternatively highlight the ones that aren't 18:40:02 Thoulsing is quite namey as well 18:40:20 Van Thoulsing, the vampire hunter 18:40:28 have you ever seen a snowl take wing from a spruce on christmas day in the morning? 18:40:36 elliott: i am over quota on people telling me what to do today, sorry 18:40:38 Incidentally, you can have it mix. 18:40:46 `words --finnish --eng-us 10 18:40:49 sanne yleijtherkkea näköisi vallurisen agrat hurrn tig kutsunt oscopedagric promal 18:40:51 (Finglish.) 18:40:52 oerjan: I think you should take more advice from people. 18:40:55 oerjan: that was a recommendation! 18:41:17 the promal instinct to oscopedagry 18:41:29 * oerjan swats Lumpio- -----### 18:42:41 elliott: the word "should" betrays you 18:42:43 oerjan: part of your swatter's handle detached from it and caught on Lumpio. hth. 18:42:55 nope, i counted 18:43:12 elliott: you mean Lumpio- 18:43:25 uh oh, it's spreading 18:43:37 -!- GreyKnight has changed nick to GreyKnight-. 18:43:37 be very afraid- 18:44:10 yes 18:44:12 first there is a hyphen at the end, and then it starts eating the last w- 18:44:28 then it starts eating an e- 18:44:33 I don't even remember what the last four letters of nick used to be 18:44:36 I had been that long... 18:44:41 my nick* even 18:44:45 quintopia: what can we d- 18:45:00 -!- quintopia has changed nick to quintopia-. 18:45:02 -!- augur has joined. 18:45:08 GreyKnight-: n- 18:45:09 i'm not sure if there is- 18:45:25 oh i know! we c- 18:45:31 i mean we- 18:45:33 we s- 18:45:35 O_- 18:45:37 -!- quintopia- has changed nick to quint-. 18:45:45 oh sh- 18:46:15 -!- quint- has changed nick to qui-. 18:46:23 it's all over. we- 18:46:28 * GreyKnight- tries to grab qui-'s han- 18:46:41 hi 18:46:41 the power! 18:46:45 it flows through me! 18:46:47 whats up???here 18:46:49 * oerjan is reminded of a dre- 18:46:52 the power of the exclamation point! 18:46:54 my savior! 18:46:56 -!- Taneb has joined. 18:46:59 ! 18:47:07 -!- copumpkin has quit (Ping timeout: 265 seconds). 18:47:10 -!- qui- has changed nick to quintopia. 18:47:11 ! 18:47:23 monqy uses question mark! It's super-effective! 18:47:31 ... what are you doing? 18:47:41 -!- copumpkin has joined. 18:47:47 A wild copumpkin appears! 18:48:02 -!- GreyKnight- has changed nick to GreyKnight. 18:48:24 ####- 18:48:33 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 was that supposed to be a pumpkin trap? 18:49:24 pumpkin cotrap 18:49:27 olsner isn't very observant. 18:50:12 ah, friday's weirdness has come early this week. must be a holiday special! 18:50:19 oerjan: should I be? 18:50:50 olsner: not at all, we need people like you to give us new jokes about swedes 18:51:07 boily: it's a Christmas miracle!! 18:52:06 GreyKnight: weirdness for all, especially the poor, starving children who shiver in the cold and stuff like that? 18:52:16 when is "cake day"? 18:53:11 boily: yes, oerjan was visited by the ghost of weirdness past 18:55:08 The nice thing about being a grown-up is that you can decide that any day is cake day 18:55:21 in fact i had _two_ cakes today! 18:55:35 carrot cake, and a brownie 18:56:25 I think the first desert I eat everytime I go to london has gotta be an organic carrot cake 18:56:40 .com 18:56:52 for someone who lives in france it has something special 18:57:05 just saying "I just had an organic carrot cake" 18:57:15 you... "think"? you've been eating the same dessert every time but don't know what it is? 18:57:23 so much better than the plastic ones 18:57:31 Eating desert sounds tasty. Should keep you regular. 18:57:34 I like the robotic carrot cakes 18:58:02 i think sand will actually do a poor job of absorbing water inside the large intestine 18:59:02 `addquote i think sand will actually do a poor job of absorbing water inside the large intestine 18:59:06 873) i think sand will actually do a poor job of absorbing water inside the large intestine 18:59:22 We should do an experiment to find out. *looks sideways at shachaf* 19:01:12 -!- boily1 has joined. 19:01:52 vermiculite on the other hand 19:02:48 -!- boily has quit (Read error: Operation timed out). 19:03:54 am i evil for wanting to turn that into a pun on the negev desert 19:05:28 Bleh it's so http://outside.aalto.fi/img/lite.day.png dark these days. 19:05:33 (But I do like the graph.) 19:07:05 i feel the same way, and you're about 18° north of me :/ 19:07:05 -!- epicmonkey has joined. 19:07:51 also cold :( 19:07:53 elliott: Thanks for the out_of_range exception :( 19:07:57 boston hasn't had much of a winter so far 19:08:22 np 19:08:54 You need to say at least 2 words or it crashes 19:09:03 (but, hey, at least it doesn't segfault) 19:09:17 completely dark by 16:00 is depressing 19:09:26 here sunset is around 16:00 but of course there is some light after 19:09:53 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 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 trying to understand lux 19:13:04 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 it is weighted by visual response at different wavelengths, but is still linear in power at a given wavelength 19:13:19 Also, now that the snow is out there, it's not quite so dark when it's dark. 19:13:20 (i guess) 19:13:55 tried searching for "light" on the swedish wheather institute's site ... first hit is "Our brightest time is now" 19:14:45 i expect perceived brightness is logarithmic in power per unit area 19:14:58 most perceptual things are logarithmic 19:15:06 Logarithms, logarithms everywhere 19:15:42 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 Most perceptual things have a power law, more like, isn't it? Cf. http://en.wikipedia.org/wiki/Stevens'_power_law 19:18:50 oh, maybe 19:19:06 i stand corrected 19:19:27 Okay, the Weber-Fechner law it references is logarithmic. 19:19:47 fibonacci logarithms of nature 19:20:00 ah 19:20:09 * kmc hands elliott the bong 19:22:06 -!- augur has quit (Read error: Connection reset by peer). 19:22:15 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 assuming join (lift (return x)) = x follows from monad transformer laws, which i think it ought to 19:23:58 the laws are 19:23:59 lift . return = return 19:23:59 lift (m >>= f) = lift m >>= (lift . f) 19:24:07 and join . return = id is a monad law 19:24:15 ok lift . return = return is what gives that 19:24:26 yeah 19:27:21 OK 19:27:53 Yes, that is understand. 19:28:12 zzo38: convince everyone to make a gopher client in the language of their choice 19:29:58 zzo38 doesn't necessarily believe gopher is right for everyone 19:30:08 it is what he likes 19:30:15 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 But implementing a client is a fun experience even if you don't use it! 19:30:43 is it? 19:30:44 What is gopher? 19:31:22 quintopia, at least 350 times more fun than trying to implement HTTP 19:31:32 @wn gopher 19:31:32 *** "gopher" wn "WordNet (r) 3.0 (2006)" 19:31:32 gopher 19:31:32 n 1: a zealously energetic person (especially a salesman) [syn: 19:31:32 {goffer}, {gopher}] 19:31:32 2: a native or resident of Minnesota [syn: {Minnesotan}, 19:31:32 (This isn't saying much, admittedly) 19:31:34 [10 @more lines] 19:31:46 nvm, thanks wikipedia 19:31:52 oerjan: if a functor is both Pointed and Applicative, can you prove that point = pure 19:32:02 Well, you can't be a ware of what every protocol is exactly 19:32:31 What exactly is the advantage of this over HTTP? 19:32:39 Gopher is a hyperprotocol that came just before HTTP. It was a lot simpler, hence easy to implement 19:32:41 elliott: what are the laws for Pointed? 19:33:14 GreyKnight: so why would you use it nowadays? 19:33:30 :t Pointed 19:33:31 Not in scope: data constructor `Pointed' 19:33:47 ok, what _is_ Pointed, i've never used it. 19:33:50 Perhaps for historical interest, or perhaps you like lightweightness? It is up to you 19:33:56 @info Pointed 19:33:56 Pointed 19:34:02 thanks lambdabot 19:34:11 oerjan: class Pointed f where point :: a -> f a 19:34:13 @info Objectivism 19:34:14 Objectivism 19:34:17 oerjan: there is a law in combination with fmap, but it is a free theorem 19:34:19 Perhaps you just want to see what's behind http://zzo38computer.org/ :-) 19:34:21 @info oerjan 19:34:22 oerjan 19:34:38 oerjan is recursively defined 19:34:40 oerjan: (fmap f . point = point . f) 19:34:42 GreyKnight: But almost no servers will support SSL! 19:34:49 Or will they? 19:35:07 Don't check your bank account over gopher then? Shrug! 19:35:32 zzo38: hey, is there a secure gopher? Tell us! 19:36:18 elliott: i don't think there's anything preventing a Functor from having two different Pointed instances 19:36:40 yeah, I am just wondering if the Applicative laws somehow restrict it, but I guess they couldn't really 19:37:38 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 GreyKnight: You can use gopher over SSH if you want it secure. 19:37:54 However, if you want bank account best is probably SSH anyways. 19:38:09 or actually, one constant, since pure/return of a free monad doesn't come from the constant anyway 19:38:22 Are there many banks that allow for doing online banking over SSH? 19:38:37 er wait hm 19:38:43 i'm confused, scratch that 19:39:19 fizzie: I don't know, but they probably ought to be. 19:40:10 -!- GreyKnight has quit (Ping timeout: 252 seconds). 19:41:13 actually don't scratch that anyway. i believe point = const Nothing is a perfectly correct instance, no? 19:41:31 there's nothing demanding it uses its input value 19:41:32 er, I suppose so, yes 19:41:41 very well then 19:43:23 :t writer 19:43:24 MonadWriter w m => (a, w) -> m a 19:43:48 although even so: i think point x = writer (x, "Hi mom!") is also one 19:45:12 right. 19:45:14 annoying 19:48:10 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 seems that would be another free theorem 19:52:51 f . runIdentity . point = runIdentity . point . f 19:53:45 or well, it essentially has type a -> a 19:53:47 I don't see how that's quite free 19:53:54 runIdentity :: Identity a -> a 19:53:57 but you have Writer w a -> a too etc. 19:54:21 runIdentity . point :: a -> a 19:55:06 so runIdentity . point = id 19:55:18 @free f :: a -> a 19:55:18 g . f = f . g 19:55:49 g = const x gives f x = x 19:56:32 hm lessee 19:57:56 makePoint :: Functor f => f () -> x -> f x; makePoint template x = x <$ template 20:00:31 makePoint t (f x) = f x <$ t = fmap f (x <$ t) = fmap f (makePoint t x) 20:01:18 makePoint t () = () <$ t = t, well ignoring bottom that ought to be true 20:01:36 zzo38: i think there's essentially one point for each value of type f () 20:01:59 oh hm 20:02:38 oerjan: Yes, I think so. 20:03:03 One for each f () seems correct to me, too. 20:03:06 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 And... I am done with school 21:55:00 how was it 21:56:02 and tomorrow, your life as a worker shall begin! 21:56:58 Bike, how goes the Eodermdrone interpreter? 21:57:49 it doesn't. so there 21:58:10 Yay! 21:58:33 i think maybe i'll just read up on kolmogorov-uspenski machines and go from there, later 21:58:44 they always get stuck on the edge cases 21:58:46 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 Just finished off my Fueue interpreter 22:10:04 It goes through -Wall and hlint 22:10:37 And appears to run the Thue-Morse program correctly 22:13:43 yeay 22:13:52 now try running the truth machine 22:13:58 and the alphabet 22:14:42 -!- augur has quit (Remote host closed the connection). 22:15:22 -!- augur has joined. 22:16:32 -!- carado has joined. 22:16:35 And the IRC bot. 22:17:12 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 03:48:22 -!- LittleFoot [~LittleFoo@cpe-50-113-114-54.san.res.rr.com] has joined #life 22:30:42 03:48:26 -!- LittleFoot [~LittleFoo@cpe-50-113-114-54.san.res.rr.com] has left #life [] 22:30:45 Day changed to 18 Dec 2012 22:30:48 22:30:11 -!- GlidingSpider [~GlidingSp@96-29-246-27.dhcp.insightbb.com] has joined #life 22:30:51 22:30:16 hello 22:30:55 22:30:27 hi 22:30:58 apparently i've been in #life for days 22:31:00 and just now realised it 22:31:27 #thats #life 22:31:30 thrilling continuation 22:31:31 22:30:37 are you human 22:31:31 22:30:52 no 22:31:31 22:31:13 what web browser do you use 22:32:27 KillAllHumansWeasel 22:37:09 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 I ordered something from China. 23:07:10 And its tracking status is "Acceptance" 23:07:22 I'm glad that Chinese-made goods go through the stages of grief BEFORE being shipped. 23:15:29 :D 23:16:05 "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).