00:03:06 elliott: I got it done! 00:03:20 I wonder if I could css transform an iframe to make thumbnails of these in a gallery 00:04:19 -!- derdon has quit (Remote host closed the connection). 00:09:39 or did you mean one of those meatspace galleries? 00:11:01 I want theatrical adaptations of marquee.php and marquee2.php 00:12:08 -!- david_werecat has joined. 00:13:04 olsner: yes a meatspace gallery 00:13:06 although a net one works too 00:13:20 shachaf: What was it? 00:14:16 -!- david_werecat has left. 00:16:52 elliott: What's it to you? 00:18:19 shachaf: It. 00:20:43 hmm, maybe a virtual meatspace gallery then? I wonder how well webgl combines with iframes 00:20:50 Argh, followed an ad link for some reason to the "shocking" "discovery" that Kevin Bacon is related to his wife. They're TENTH cousins, once removed. 00:20:55 And to them, apparently, that's distressing. 00:21:01 Presumably because they're fucking idiots. 00:24:05 shachaf: What *happened* to mmorrow, man? 00:24:28 RocketJSquirrel: TENTH COUSINS?!?!?!?!?! 00:24:34 That's practically fuckin' yer parents. 00:25:25 Hello! I've just realized that Haskell is no good for working with functions! 00:25:32 Hooray, family trees as cyclic graphs. :P 00:26:16 elliott: what should it be able to do that it can't? 00:26:53 ais523: nothing, that was one of my famous quoteless quotes 00:27:00 of this nonsense: http://www.haskell.org/pipermail/haskell-cafe/2012-April/100608.html 00:29:39 they don't appear to understand extensional equality 00:31:10 -!- augur has quit (Remote host closed the connection). 00:32:07 -!- augur has joined. 00:35:03 @time 00:35:04 Local time for elliott is Fri Apr 6 01:34:56 00:37:01 "I guess Lisp might be of this kind, but I'm not sure. In addition, I'm not a fan of parentheses." 00:37:03 ffffffffffffffffff 00:37:06 * kmc has a stroke and dies 00:37:39 i'm looking to buy a battleship BUT IT CAN'T BE GREY 00:37:51 -!- augur has quit (Remote host closed the connection). 00:38:15 -!- augur has joined. 00:38:19 kmc: also, by "battleship" I mean "yacht" 00:38:36 I bought this battleship "Haskell" and it's all big and heavy and shit, it's really bad at battling 00:38:36 the best kind of yacht is a decommissioned battleship 00:39:13 they used to paint crazy stripes on battleships to confuse rangefinding 00:39:19 http://en.wikipedia.org/wiki/Dazzle_camouflage 00:39:30 that's fucking awesome 00:40:30 http://upload.wikimedia.org/wikipedia/commons/c/c9/Dazzle-ships_in_Drydock_at_Liverpool.jpg awesome 00:41:48 'Dazzle makeup, or "CV Dazzle" (computer vision dazzle), to hamper automatic computer detection and recognition of faces, has been mooted as a response to mass surveillance' 00:42:37 2219 00:43:11 -!- augur has quit (Ping timeout: 276 seconds). 00:43:38 -!- parkkk has quit (Read error: Connection reset by peer). 00:45:28 Of what kind? 00:45:36 mass 00:46:28 * 00:55:06 -!- hagb4rd2 has joined. 00:55:06 -!- hagb4rd has quit (Disconnected by services). 00:55:07 -!- hagb4rd2 has changed nick to hagb4rd. 00:55:15 why do people try and install yi 00:55:28 i have seen people honestly think the best way to start writing haskell is to install yi to edit it with 00:56:51 :( 00:57:05 yi is? 00:57:23 Madoka-Kaname: an editor written in haskell 00:58:11 which usually does not build 00:58:33 i mean, they might have heard it's like xmonad 00:58:39 xmonad is good software which works 00:58:39 i built yi once... once 00:58:48 not that using xmonad will help you start writing haskell 00:58:49 I also built yi once once 00:59:29 -!- augur has joined. 01:03:33 elliott, i mean a lot of haskell beginners are True Believers who want to purge their life of everything non-Haskell 01:03:58 are you sure i mean i'm not disbelieving you necessarily but i've never got that impression from anyone 01:04:03 maybe the xmonad adoption a bit 01:04:22 the same people usually talk about writing an operating system in Haskell, without necessarily understanding what an OS is 01:05:07 ok well i've never heard that :P 01:05:33 if only there were more people who _do_ know what an OS is who wanted to write them in functional languages 01:05:34 like the Linux kernel is 10 million lines of code evolved over 20 years but if we used haskell we could rewrite it in 5k lines in a month 01:06:14 i think they're extrapolating from typical beginner experiments -- prime number sieve, toy lisp, etc. 01:06:15 Perhaps if you also replace all hardware with a Reduceron. 01:06:44 they assume the same expressiveness ratio applies to everything 01:07:28 to be fair, most of the 10 MLoC in Linux is support for obscure devices and platforms 01:07:42 and legacy cruft 01:07:58 speaking of OSes -- can I get you to implement @ for me kmc 01:08:15 @ isn't written in Haskell. 01:08:18 @ is written in @ 01:08:21 of course 01:08:23 @ takes 0 lines of code to write in @ 01:08:28 No, it's written in @lang. 01:08:29 Because you already have @ 01:08:38 Also Forth. 01:08:42 It's not written in Forth! 01:09:03 I considered using Forth as a low-level layer at one point, but I couldn't make it cohere with my requirements. 01:09:15 "cohere"? 01:09:23 You could just say "there", you know. 01:09:35 ais523: kick shachaf 01:09:52 elliott: that was actually funny 01:10:07 -!- augur has quit (Remote host closed the connection). 01:10:22 doesn't matter 01:10:37 It may have been funny, but it was also intherent. :-( 01:10:55 That's... not a word. 01:11:11 shachaf: {{Block}} 01:11:56 What does that do? 01:12:12 I don't speak mediawikese. 01:12:15 "You have been blocked from editing for violating Wikipedia policy. If you believe this block is unjustified, you may contest this block by replying here on your talk page by adding the text {{unblock|your reason here}}. You may also email the blocking administrator or any administrator from this list instead, or submit a request for unblock to the Unblock Ticket Request System." 01:16:55 -!- zzo38 has joined. 01:18:13 -!- pikhq has quit (Ping timeout: 246 seconds). 01:18:17 -!- pikhq_ has joined. 01:18:56 I found a Haskell package for monoid-transformer; it has Reader and State, both of which are also applicative. I know all applicative can make monoid transformer. Is there any monoid transformer which cannot make applicative? 01:20:15 (There is no Writer transformer, although there certainly can be; it would be just the pair of monoids) 01:22:59 I like that package. 01:23:05 Apart from the Henning. 01:23:21 Henning? 01:23:45 -!- augur has joined. 01:24:02 Henning Thielemann, the author, has a somewhat infamous style in which types are always named "T" and classes are always named "C", intended to be used qualified e.g. State.T, State.put, etc. 01:24:18 Apart from being ugly, this leads to wonderful instance lists that look like: 01:24:19 C T 01:24:19 C T 01:24:20 C T 01:24:20 C T 01:24:29 because Haddock doesn't disambiguate the names (apart from the link destinations). 01:24:46 Should they add commands to Haddock to deal with this? 01:24:57 No, he should just stop doing that. 01:25:07 It's not as if any command would be required; it can know when disambiguation is required automatically. 01:25:16 And probably it would be an improvement. But it wouldn't make the style any less awful. 01:25:25 OK 01:25:28 i think in isolation it's a fine style, but it's not what anyone else does, and the tools don't support it well 01:26:00 it's more common in M L 01:26:02 ML* 01:26:19 It works in ML because ML has a module system. We have a piece of cardboard. 01:26:34 (I also find it less distateful in ML because ".t" is a lot less ugly than ".T"...) 01:28:33 But all of them that they defined, are all the monoid transformer made from a applicative; so instead, can you make up a type: newtype ApMonoid f t = ApMonoid (f t); instance (Applicative f, Monoid t) -> Monoid (ApMonoid f t) where { mempty = ApMonoid $ pure mempty; mappend (ApMonoid x) (ApMonoid y) = ApMonoid $ liftA2 mappend x y; }; 01:29:01 How do you mean, that ML has a module system and we have cardboard? 01:29:25 ML has a powerful module system with functors (not the same as CT/Haskell functors; they're higher-order modules) 01:29:30 Haskell's module system is... significantly less expressive 01:30:34 These blog posts show an example of how Haskell's module system is significantly more limiting: 01:30:35 http://augustss.blogspot.co.uk/2008/12/somewhat-failed-adventure-in-haskell.html 01:30:37 http://augustss.blogspot.co.uk/2008/12/abstraction-continues-i-got-several.html 01:30:38 http://augustss.blogspot.co.uk/2008/12/abstracting-on-suggested-solutions-i.html 01:30:40 http://augustss.blogspot.co.uk/2008/12/ocaml-code-again-im-posting-slight.html 01:32:07 yeah, Haskell's module system is much simpler 01:32:13 but I wouldn't say it's bad 01:32:16 admittedly, it works in ML because it's common, and so people know to make tools that understand it 01:32:19 it's good within the scope of what it tries to do 01:32:23 s/admittedly/arguably/ 01:32:36 in Haskell the module system is expected to carry less of the abstractive weight 01:32:50 One thing is that you cannot hide or override class instances in Haskell; and I would like to have those features too 01:33:14 yeah, type classes kind of suck 01:33:28 i think that's "type classes suck" and not "modules suck because they don't let us work around type classes sucking" 01:34:55 We've also seen the rise of PHP, which takes the worse-is-better approach to dazzling new depths, as it were. By and large PHP seems to be making the same progression of mistakes as early Perl did, only slower. 01:35:10 In addition, both hide/override class instances, and a kind for modules, are ideas for my new programming language (called Ibtlfmm currently; if you don't like that name, call it HELLwaPAIN or something else). There is the @ kind which is the kind of program modules, etc. This will solve it too, I think. As well as having macros, that also helps. 01:37:31 I must ask: Who suggested the name HELLwaPAIN? 01:37:50 * bottle (bottle@95.209.60.115.bredband.tre.se) has joined #haskell 01:37:50 Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F 01:38:07 elliott: Someone did, in #haskell channel. 01:38:24 kmc: Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F 01:38:41 Perhaps, we should make up a channel or wiki or repository or whatever we can put all idea of everyone and discussion, to make a complete document. 01:38:54 what 01:39:13 kmc: Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F 01:39:15 hth 01:48:04 I thought elliott was trying to physics and I was sniggering until I read scrollback. 01:48:40 Phantom_Hoover: and now you're laughing out loud? 01:48:50 Now I'm confused. 01:49:03 I'm too sleepy for differential equations (I hate differential equations). 01:50:19 Phantom_Hoover: Consider a mass-damper-spring system. I dont get how the forces in each direction can be equal at any given moment. then how could it move? Like My''+by'+ky=F 01:52:40 that 01:52:42 oh god 01:52:43 that's 01:52:54 a second-order homogeneous differential equation 01:52:59 my second least favourite kind 01:53:21 *second-order homogeneous linear 01:54:01 (My least favourite is second-order nonhomogeneous. I really hate those.) 01:55:52 Phantom_Hoover: I had nonhomogeneous milk once. 01:55:59 But it made me ill. 01:56:12 I think Oleg wrote a paper about that. 01:56:34 Wait, homogenisation doesn't have anything to do with safety, that's pasteurisation. 01:56:38 WHY IS MILK SO COMPLICATED 01:57:31 > fix milk 01:57:34 milk (milk (milk (milk (milk (milk (milk (milk (milk (milk (milk (milk (mil... 01:59:18 elliott: Basically, "programming language" is another word for "syntax". 02:01:22 shachaf: Can you explain people whose attitude to new languages is "is this better than $LANG? Let me prod it incessantly in an attempt to rpove it's not"? 02:01:37 elliott: kmc has a few words to say about that. 02:01:48 But there is some way I was think of, make up a typeclass with no instance, and it is defined in the main module of your program; that way the main module exports the implementation (which can include types) to the other module that uses it. Still that is not quite perfect 02:02:47 shachaf: Oh god. 02:05:35 elliott: "why don't we" 02:05:51 Which means "explain to me in detail what each character of that thing does. 02:05:59 " 02:06:50 "The Person data type now has two parameters. This might be bearable, but imagine a more complicated example where Ops contains 15 types. And every time you add a field with a new type to Person you have to update every single place in the program that mentions the Person type." But can't you use a type synonym? 02:07:17 Why do type synonyms help? 02:07:31 shachaf: Is ^^^^ some kind of four-eyed monstrosity? 02:07:48 zzo38: No, because you need to keep the type parameters along 02:07:54 Person a b c d e ... -> Person a b c d e ... -> ... 02:08:31 elliott: I mean like, type Person = XPerson XString XDouble; 02:08:48 Sure, but the whole point is that you write code polymorphic in that... 02:08:52 Which has to use type variables. 02:11:55 There are no zero parameter type classes in Haskell, either. 02:16:41 -!- augur has quit (Remote host closed the connection). 02:16:53 WHY IS MILK SO COMPLICATED 02:16:55 Better question: 02:16:58 Why is milk so disgusting? 02:17:38 milk inspired 100s of soy products 02:18:01 Most of which are almost as disgusting as milk >_> 02:18:10 http://teamsuperforest.org/superforest/wp-content/uploads/2010/05/Picture-3.png 02:18:16 class Ops x where { type XString_ x :: *; type XDouble_ x :: *; concatenate_ :: x -> XString_ x -> XString_ x -> XString_ x; xshow_ :: x -> XDouble_ x -> XString_ x; }; type XString = XString_ (); type XDouble = XDouble_ (); concatenate :: Ops () => XString -> XString -> XString; concatenate = concatenate_ (); xshow :: Ops () => XDouble -> XString; xshow = xshow_ (); 02:18:21 RocketJSquirrel: *Why is milk so unfnarftastic? 02:18:36 kmc: HELP 02:18:40 grass ---cow---> milk 02:18:42 kmc: Too much milk!!! 02:18:46 Thank you, that's better. 02:19:02 milk <- cow -< grass 02:19:16 i want some quark with 10% fat 02:19:21 milk ---cow---> grass 02:19:25 The forbidden reaction. 02:19:34 Feed a cow milk and it'll poop grass. 02:19:45 milk ←cow⤙ grass 02:19:57 elliott: "unfnarftastic" 02:19:59 That's a new'n. 02:22:53 Will the code I specified work (if you define the instance only in the main module of the program)? 02:23:35 zzo38: Yes, but it means you cannot use more than one choice of types per program. 02:23:49 So it significantly limits composability and reuse. 02:24:02 Yes I know that there is that problem. 02:25:09 elliott: People who say "ofc" are the devil. 02:25:12 If they allowed you to hide instances in Haskell, you could do it in the other way too. They should make an extension which allows you to hide instances. 02:25:47 And to make default instances which will have a lower priority than other instances. 02:26:57 shachaf: ofc 02:29:01 I think it should be allowed in GHC to have an extension which you can define instances with priorities, and that local instances override imported instances, and that the new instance will be used in imported functions if and only if there are the constraint mentioning that instance in the type of the imported function that you are calling 02:29:18 * #haskell Banlist: Sat Jan 21 19:19:41 gio123!*@* lindbohm.freenode.net 02:29:22 shachaf: Why do I know the name gio123? 02:29:48 isn't he the one who keeps looking for confluence experts 02:29:55 And then add zero-parameter type classes, and now you have it. 02:30:36 kmc: That rings a bell. 02:30:40 How difficult would it be to implement these two things? 02:30:58 kmc: Not a troll though, are they? I didn't realise #haskell ever actually banned unconstructive people. 02:31:20 i don't recall what happened 02:31:27 elliott: gio123 got pretty rude some of the time. 02:31:51 i think my favorite #haskell question ever was 02:31:55 @quote ubuntu.freebsd 02:31:56 NIXDAEMON-COOL says: how to uncompile make into java gcc 3.3 under ubuntu freebsd ?? 02:32:02 :D 02:32:14 after much prodding and language barrier, this person did in fact have a haskell question 02:32:24 that seems like a relative of "How do I patch KDE2 under FreeBSD?" 02:32:48 yeah 02:36:06 Squectangles. 02:36:21 wat 02:36:54 1.21 gigawat 02:37:22 I have previously written about a proposal for instance disambiguation extension, but now I have a much simpler idea. * Instances defined in the current module override instances in imported modules. * Instances can have an optional priority, where higher priority instances override lower ones. * Overriding instances does not affect functions from imported modules unless the instance is mentioned in the constraint of the type signature of that function. 02:37:58 "(Also, this post was an April Fools prank; the effect may or may not be real, and all citations are either irrelevant or fictional.) " 02:38:06 * Sgeo is now slightly humiliate 02:38:07 d 02:39:07 What do you think of this much simpler and more consistent instance disambiguation proposal? 02:39:55 -!- augur has joined. 02:39:56 Actually, I don't know if associated types might mix this up. 02:49:28 -!- augur has quit (Remote host closed the connection). 02:54:55 -!- augur has joined. 03:05:16 -!- augur has quit (Remote host closed the connection). 03:05:37 -!- TodPunk has quit (Read error: Connection reset by peer). 03:06:13 -!- TodPunk has joined. 03:23:17 I have not quite reached 23rd experience level in the Dungeons&Dragons game yet. 03:26:44 -!- augur has joined. 03:27:17 Most annoying thing about American culture in general: the Jew jokes. 03:27:25 They're so utterly baffling if you don't already know. 03:27:36 what's a jew jokes 03:29:05 (This is a general pop culture thing which has bemused me for ages, not any particular American trip thing.) 03:30:12 whee time to reinstall all my haskell packages with profiling 03:31:39 kmc: Why did you install them without in the first place? 03:32:16 because i foolishly installed some of my haskell system from debian 03:32:42 kmc: Debian has -prof packages. 03:32:53 yeah 03:33:43 $ which ghc 03:33:43 /opt/ghc/bin/ghc 03:33:49 * elliott MORE FORWARD-THINKING THAN YOU 03:33:53 * kmc just disables profiling for now 03:33:58 shachaf@carbon:~$ which ghc 03:33:59 /usr/local/bin/ghc 03:34:15 shachaf: WRONG PATH. MY PATH IS BETTER BECAUSE IT'S MY PATH 03:34:29 Are we talking about life here? 03:35:08 Yes. 03:37:24 $ which ghc 03:37:25 /usr/bin/ghc 03:37:27 I win! 03:37:43 ais523: no, that's losing 03:37:49 that's what gave kmc all the Problem 03:37:56 i bet you don't even have 7.4!!! 03:38:08 not like I use it very much anyway 03:38:16 hmm, ./ghc would be the losiest 03:40:08 * Sgeo renames some sort of Esme interpreter to ghc 03:40:30 Although an existing Esme interpreter would be a bit ... 03:41:45 ais523: GHC 7.4 lets you work miracles. 03:41:50 shachaf@carbon:~$ ghci 03:41:58 λ> data Miracle = Miracle 03:41:58 λ> 03:42:03 QED 03:46:39 shachaf: How do you disable the startup messages? 03:47:00 that prompt is obnoxious 03:47:06 elliott; Careful pasting. 03:47:16 I know that answer is disappointing. :-( 03:49:31 I think the monad/comonad that has been called phantom/cophantom and by a few other names, can actually be used with any category that has final/initial objects. 03:50:58 I love how much of stats is just covering up arbitrary constants with someone's name. 03:56:52 Most annoying thing about American culture in general: the Jew jokes. // wut 03:57:18 RocketJSquirrel, the UK doesn't really have a significant Jewish presence in its culture. 03:57:34 No shit. 03:57:48 "Jewish presence" != "Jew jokes" 03:57:54 As such, the jokes in American media go completely over my head. 03:58:37 Oy vey, don't get so verklempt. 03:59:14 * elliott can't figure out whether Phantom_Hoover is talking about jokes originating from Jewish culture or stereotypical nonsense 03:59:24 Yeah, neither can I. 03:59:24 Both. 03:59:42 'cuz jokes originating from Jewish culture are also known as the actually-funny jokes. 04:00:08 BTW what does "verklempt" mean and am I allowed to use it 04:00:23 It is the best-sounding word 04:00:28 elliott: Roughly "distraught", and no, your nose is too small. 04:00:43 Well, not quite distraught ... more ... verklempt ... 04:00:50 Y'know, emotional. 04:01:02 Tired and emotional? 04:01:07 Definitely not tired. 04:01:10 Whoosh. 04:01:18 http://en.wikipedia.org/wiki/Tired_and_emotional 04:01:33 Hyuk 04:01:43 'cuz jokes originating from Jewish culture are also known as the actually-funny jokes. 04:01:45 "Chiefly not Jewish euphemism" 04:02:05 Even unfunny jokes are less baffling than things that look like jokes but make no sense to you. 04:02:15 Oh shit it's midnight I've gotta go to sleep BAHEE 04:02:34 Who the hell sleeps at midnight?????? RocketJSquirrel that's who. 04:03:28 Ew. 04:03:42 elliott: What do I do if I want to not turn out like RocketJSquirrel? 04:03:50 Okay, first don't be a squirrel. 04:03:56 Second, don't sleep at midnight. 04:04:12 *flying squirrel 04:04:19 wait does RocketJSquirrel use the same american time as m 04:04:22 e 04:04:25 @time Phantom_Hoover 04:04:26 Local time for Phantom_Hoover is Fri Apr 6 04:00:51 04:04:27 @time RocketJSquirrel 04:04:28 Local time for RocketJSquirrel is Fri Apr 6 00:03:53 04:04:34 Phantom_Hoover: YOU REALLY NEED TO FIX THAT CLAWK 04:04:36 @time shachaf 04:04:40 Local time for shachaf is Thu Apr 5 21:04:02 2012 04:04:43 @tachaf 04:04:43 Unknown command, try @list 04:04:56 * Phantom_Hoover → sleep 04:04:57 -!- Phantom_Hoover has quit (Quit: Leaving). 04:05:04 elliott: HA HA! 04:05:13 I remember when you said that last time. 04:05:32 Me too! 04:07:11 @bless 04:07:11 Unknown command, try @list 04:07:14 @thankyou 04:07:15 you are welcome 04:07:20 WHOA, DUDE 04:07:28 how did it know 04:17:36 whoaaaaaa 04:26:52 -!- cheater__ has quit (Ping timeout: 246 seconds). 04:32:57 kmc: What's your blog thing about global variables to avoid that unsafePerformIO bug? 04:33:24 what about it 04:33:30 you want link? 04:33:34 Yar 04:33:40 Googling is like, 10x more work than asking you 04:33:43 YOU WANT LINK FIVE DOLLAR 04:33:47 http://mainisusuallyafunction.blogspot.com/2011/11/global-locking-through-stableptr.html 04:34:08 copumpkin: That reminds me, you owe me some dola. 04:34:24 kmc: Thanks. 04:34:37 kmc: Just tortured innocent #haskell member with it after they asked about unsafePerformIO'd IORefs. 04:34:40 God's work. 04:35:07 God Swork. 04:35:32 lals 04:35:39 'swounds 04:35:44 'sblood 04:36:38 elliott, you tortured them by telling them how to work around a nasty compiler bug? 04:38:20 kmc: yes 04:38:44 kmc: they went from "I have to be careful with unsafePerformIO" to "I have to write unportable C code and use the FFI _and_ be careful wit unsafePerformIO" 04:38:45 *with 04:39:12 haha 04:39:19 it's really a shocking bug 04:39:24 given how common the unsafePerformIO global trick is 04:41:44 I should sleep soon. I'll need it tomorrow. 04:42:01 oh? 04:43:04 kmc: A certain... esoteric matter relating to the timely evaporation of blockades. 04:43:35 -!- cheater__ has joined. 04:43:35 watch out for your chi enerchy 04:43:39 * kmc has no idea what elliott is talking about 04:44:17 Is that about those books? 04:45:43 What books? 04:48:52 I have not used unsafePerformIO global trick; I have many alternative ways 04:50:50 One thing I have is the Data.Extensible.Product module and that could be used to store global settings by using (StateT IO) 04:51:20 zzo38: You can also store global settings by using (StateT ... IO) any other way. 04:52:02 shachaf: Yes you can do so. However, if you have a bunch of different module with different global variables, it would be difficult to put them all together 04:53:14 If you want to be able to load/save the global states in files as well, then you can combine it with Data.Extensible.List as well. 04:56:31 -!- azaq23 has quit (Quit: Leaving.). 04:59:42 -!- oklopol has quit (Read error: Connection reset by peer). 04:59:52 -!- oklopol has joined. 05:04:35 Actually there are other uses for the Data.Extensible.... stuff too 05:07:06 I changed the traverseBox in Graphics.DVI to use both Applicative and Monad, because I also changed the other thing so that after it accesses the contents of boxes and other nodes that can contain other nodes, the box itself (after it has been modified) is accessed too. 05:09:22 -!- elliott has quit (Ping timeout: 245 seconds). 05:09:28 Why is the unsafePerformIO global trick used that often? Can't some optimization and other stuff capable of mixing it up? 05:15:27 Also, do you know any example of a monoid transformer which is not applicative? 05:28:25 -!- MDude has changed nick to MSleep. 05:42:29 -!- augur has quit (Remote host closed the connection). 05:46:49 -!- augur has joined. 05:50:29 -!- augur has quit (Remote host closed the connection). 05:50:54 -!- augur has joined. 05:51:27 -!- augur has quit (Read error: Connection reset by peer). 05:51:35 -!- augur has joined. 06:15:33 -!- cheater__ has quit (Ping timeout: 246 seconds). 06:17:47 -!- cheater__ has joined. 06:21:50 -!- asiekierka has joined. 07:12:26 -!- monqy has quit (Quit: hello). 07:30:46 00:11 -!- monqy [~swell@pool-71-102-226-192.snloca.dsl-w.verizon.net] has quit [Quit: hello] 07:30:51 Ah, monqy. 07:30:55 monqy: hi 07:39:14 hi monqy 08:04:11 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .). 08:58:29 zzo38: Is dvi-processing better than HPDF? 08:59:42 shachaf: In some ways, probably it is. But in other way, dvi-processing is not complete and lacks some things; later version might improve that. 09:00:39 Hmm. 09:00:47 The main things I don't like about HPDF are: 09:01:02 All the overly complicated and stupid PDF stuff. 09:01:07 The inability to use any TFM font. 09:01:22 The inability to both read and write DVI files (HPDF writes only). 09:01:54 shachaf: OK. 09:02:43 Other things some people might not like about HPDF is the monadic interface; a declarative interface might be preferred. (Even the author of HPDF complained about this, actually) 09:03:01 Oh, and the monadic interface. 09:03:08 I would prefer a declarative interface. 09:06:28 Actually, the traverseBox function in dvi-processing is monadic but that is all. (I have only used it with the writer monad, but you can use it with other monads too, if you have a use for it) 09:07:03 Can I use it with all monads at once? 09:09:08 shachaf: I suppose so, in case of polymorphic functions that use it. 09:18:17 -!- monqy has joined. 09:39:44 -!- Vorpal has joined. 10:11:49 -!- oerjan has joined. 10:42:16 http://olsner.se/marquee.php <-- apparently marquee can crash IE 8. who knew. 10:43:17 poor oerjan and his browser 10:43:28 well "crash", i had to kill the process, which seems to cause it to reload everything in a weird state 10:45:16 oerjan: that page might also involve an infinite iframe recursion 10:45:18 it happened once before, it _looks_ like it makes tabs be distinct processes or something, which they usually aren't. 10:45:48 oerjan: I crashed ie4 with an infinite frameset recursion once 10:45:56 well, more than once 10:46:15 olsner: yes it started rolling and then halted, waiting indefinitely for everything to load, i stopped it at =hundredsomething but the cpu was still pegging 10:46:30 ah, yes,