2013-03-13T00:07:44 *** foRei has joined #aichallenge 2013-03-13T01:34:12 *** thestinger has quit IRC (Ping timeout: 252 seconds) 2013-03-13T02:05:00 *** sevikkk has quit IRC (Read error: Connection reset by peer) 2013-03-13T02:05:25 *** sevikkk has joined #aichallenge 2013-03-13T02:05:36 *** foRei has quit IRC (Quit: Bye) 2013-03-13T02:06:08 *** foRei has joined #aichallenge 2013-03-13T02:30:34 *** mceier has quit IRC (Quit: leaving) 2013-03-13T02:37:16 *** epicmonkey has joined #aichallenge 2013-03-13T02:59:48 *** epicmonkey has quit IRC (Ping timeout: 258 seconds) 2013-03-13T03:04:55 *** wentam has quit IRC (Ping timeout: 260 seconds) 2013-03-13T03:22:33 *** mceier has joined #aichallenge 2013-03-13T03:37:54 *** wentam has joined #aichallenge 2013-03-13T04:16:05 *** amstan has quit IRC (Ping timeout: 258 seconds) 2013-03-13T04:21:01 *** epicmonkey has joined #aichallenge 2013-03-13T05:32:00 *** mceier_ has joined #aichallenge 2013-03-13T05:35:12 *** ronchamon has joined #aichallenge 2013-03-13T05:35:18 *** heinrich5991_ has joined #aichallenge 2013-03-13T05:35:25 *** cyphase has quit IRC (Read error: Operation timed out) 2013-03-13T05:35:38 *** mceier has quit IRC (Disconnected by services) 2013-03-13T05:35:42 *** mceier_ is now known as mceier 2013-03-13T05:36:21 *** coeus has quit IRC (*.net *.split) 2013-03-13T05:36:22 *** loglog has quit IRC (*.net *.split) 2013-03-13T05:36:22 *** heinrich5991 has quit IRC (*.net *.split) 2013-03-13T05:36:22 *** ronchaine has quit IRC (*.net *.split) 2013-03-13T05:36:33 *** heinrich5991_ is now known as heinrich5991 2013-03-13T05:46:58 *** coeus has joined #aichallenge 2013-03-13T06:01:06 *** Garf has joined #aichallenge 2013-03-13T06:06:51 *** epicmonkey has quit IRC (Ping timeout: 258 seconds) 2013-03-13T06:10:54 *** AlliedEnvy has joined #aichallenge 2013-03-13T06:19:58 *** epicmonkey has joined #aichallenge 2013-03-13T06:32:24 *** sigh has joined #aichallenge 2013-03-13T06:32:59 antimatroid: thanks for that article, it was interesting 2013-03-13T06:45:55 sigh: yep, the author bashed on everyone at some point i think 2013-03-13T06:46:10 especially philosophers, but was interesting anyway 2013-03-13T06:47:07 it is hard to convince people to work with abstract definitions which encapsulate lots of information 2013-03-13T06:47:16 haha yeah, but I do find a lot of the opinions on reddit about philosophy of math fall into the pre-20th century camp 2013-03-13T06:47:29 encapsulate lots of information? 2013-03-13T06:47:44 like linear independence for vectors or whatever 2013-03-13T06:47:54 there's a lot to be learnt from such a key definition 2013-03-13T06:48:06 ah, i see what you mean 2013-03-13T06:48:17 encapsulate probably isn't the right word, but yeah 2013-03-13T06:48:26 not information :P 2013-03-13T06:48:29 *nor 2013-03-13T06:48:32 i'm not really sure what you mean by pre-20th century philosophy of maths? 2013-03-13T06:48:36 yeah :P 2013-03-13T06:48:46 how would you phrase what I was trying to say? 2013-03-13T06:49:26 you are more talking about how they have far reaching and subtle consequences 2013-03-13T06:49:47 there's definitely some applied mathematicians at utas who I would describe as hostile towards the rigour of pure maths, so I enjoyed the bashing of them :P 2013-03-13T06:50:12 the author of the pdf talked about such definitions, I can't remember exactly what he said 2013-03-13T06:50:40 I mean the same thing a the author, in that math was more rooted concerned about what could be tied back to physical reality 2013-03-13T06:51:20 ah yes, i see that a lot 2013-03-13T06:51:22 i hate that 2013-03-13T06:51:33 it's not prominent with getting pure maths funding :( 2013-03-13T06:51:35 which was kind of my point the other day, it was a long time before concepts such as irrational numbers, 0, negative numbers, complex number etc were accepted 2013-03-13T06:51:37 now* 2013-03-13T06:51:53 "what practical applications does it have today" 2013-03-13T06:52:09 though i noted to my friend the other day, astro physics etc. don't have the same problem 2013-03-13T06:52:16 that's kind of different 2013-03-13T06:52:32 even though it arguably has less everyday applications 2013-03-13T06:52:36 that's more about what kind of mathematics are *worth* studying 2013-03-13T06:52:57 yeah, but pure maths is the backbone of mathematical modelling :( 2013-03-13T06:53:01 people fail to grasp that 2013-03-13T06:53:05 agree 2013-03-13T06:53:10 though I had a bad thought... 2013-03-13T06:53:41 one could argue pure maths is far ahead of where it needs to be as the backbone of science, so a higher proportion of research funds should be used finding the applications of the existing pure maths... 2013-03-13T06:53:43 but a deeper problem is when people have an idea that some mathematical objects are "real" and others aren't 2013-03-13T06:54:03 yeah, you see that problem in economics classes a lot, even from the teachers 2013-03-13T06:54:20 they forget the distinction with talking "within a model" and talking about real life 2013-03-13T06:54:37 ie. if X and Y happen then Z WILL happen is talking within a mathematical model 2013-03-13T06:54:55 /s/with/between 2013-03-13T06:55:21 i imagine all modelling disciplines have that problem 2013-03-13T06:55:57 that's an issue too... but a different pedagogical issue in mathematics about what makes an valid mathematical entity 2013-03-13T06:56:25 stemming from the same problem that people have historically had with the classes of numbers I mentioned before 2013-03-13T06:56:26 is there really an issue in maths with that now? or just of maths critics? 2013-03-13T06:56:47 yep 2013-03-13T06:57:01 certainly with students, look at how much trouble people have with infinity, 0.9999.... = 1, imaginary numbers, etc 2013-03-13T06:57:06 i think most mathematicians are willing to accept anything which holds up to reasonable rigour 2013-03-13T06:57:19 yeah, not who i'd class as mathematicians :P 2013-03-13T06:57:46 people who actually reject these ideas more often than not simply don't understand them 2013-03-13T06:58:08 ahh... but there are disagreements about that... e.g. http://en.wikipedia.org/wiki/Mathematical_constructivism 2013-03-13T06:58:46 that's against excluded middle yeah? 2013-03-13T06:59:14 not exclusively, but yes 2013-03-13T06:59:25 an extreme example: http://en.wikipedia.org/wiki/Finitism 2013-03-13T06:59:33 lets take X as a person who is against using the excluded middle 2013-03-13T06:59:52 they couldn't deny what's been done using it, only that they consider it the less useful body of mathematics to use? 2013-03-13T06:59:55 would that be fair to say? 2013-03-13T07:00:13 let's* :P bad english as always 2013-03-13T07:00:14 not sure, I can't argue that position very well at the moment 2013-03-13T07:00:36 "useful" too 2013-03-13T07:00:45 they'd be using their biased version of useful 2013-03-13T07:00:45 it's more that they don't believe it is logically valid, so the conclusions drawn from it are not logical 2013-03-13T07:00:52 not about usefulness 2013-03-13T07:01:04 but can't you just define it as logically valid 2013-03-13T07:01:08 in that sense is it like an axiom? 2013-03-13T07:01:15 i'm really bad at this fundamental kind of stuff :P 2013-03-13T07:01:51 is excluded middle part of ZFC? 2013-03-13T07:02:06 nope 2013-03-13T07:02:07 *** coeus has quit IRC (Ping timeout: 245 seconds) 2013-03-13T07:02:27 logic isn't part of ZFC as such 2013-03-13T07:02:45 ZFC are the axioms 2013-03-13T07:02:53 logic is how to derive theorems from axioms 2013-03-13T07:03:34 how do we decide what logic is/isn't valid? 2013-03-13T07:03:41 but yeah, I'm not that good at the fundamentals either 2013-03-13T07:03:44 i guess that's the debate, but aren't they kind of like axioms? 2013-03-13T07:03:47 I'm still trying to figure that out 2013-03-13T07:03:58 let me know when you do :P 2013-03-13T07:04:04 as best as I can figure logic is just a formalisation of our reasoning 2013-03-13T07:04:22 it is just codifying what we mean when we making certain statements 2013-03-13T07:04:37 i.e. the axioms of logic model our reasoning 2013-03-13T07:05:53 so can a contradiction argument always be phrased equivalently as a "since A/not A then not A/A"? And if so, don't we know of statements which can neither be proven true or false? 2013-03-13T07:06:13 i have a very bad understanding of Godel's work, enough to know that most people have no idea what he was talking about 2013-03-13T07:06:40 "axioms of logic"? 2013-03-13T07:06:59 are those the ZFC like axioms or the excluded middle etc. rules? 2013-03-13T07:07:35 most of the trouble with law of excluded middle come from dealing with infinity (and consequently - real numbers), wiki has examples http://en.wikipedia.org/wiki/Law_of_excluded_middle 2013-03-13T07:09:18 axioms of logic I don't mean ZFC, I mean things like law of identity, excluded middle, etc 2013-03-13T07:10:26 to be fair, you'd need to first show that r^s (r>0) is closed under real numbers and that R = rationals or irrationals 2013-03-13T07:10:42 then you could say rt(2)^rt(2) is either rational or irrational no? 2013-03-13T07:10:56 even defining r^s is a pita :P 2013-03-13T07:11:45 haha, as you said :P 2013-03-13T07:11:52 in general r^s = lim_i->infty r^q_i where {q_i} is a rational sequence converging to s, and you need to show the choice of rational sequence converging to s is arbitrary etc. etc. :P 2013-03-13T07:12:21 what then would be unreasonable with using the excluded middle? 2013-03-13T07:12:33 i would definitely disagree with using it before proving those things 2013-03-13T07:13:39 quite frankly I'm not sure... I've read a few bits and pieces, but not enough to argue convincingly from that side 2013-03-13T07:14:02 either that's a terrible example of i very much disagree with the people who feel that way :P 2013-03-13T07:14:08 or* 2013-03-13T07:14:57 another "slightly more difficult than people think" thing to explain to people is pi 2013-03-13T07:15:24 "pi is infinite" :( 2013-03-13T07:15:26 like take two distinct circles, how do we know the ratios of the circumference to the diameter are equal? that needs to be proved 2013-03-13T07:15:36 it also needs to be proved that the constant ratio is in fact pi 2013-03-13T07:15:37 yeah 2013-03-13T07:15:59 some people really struggle to grasp those two points 2013-03-13T07:16:08 or i suck at explaining it to laymen 2013-03-13T07:16:28 what points do they get stuck on? 2013-03-13T07:16:49 that pi(circle) could be non-constant 2013-03-13T07:17:16 i try to use the example of square's side length over area 2013-03-13T07:17:17 yeah, fair enough 2013-03-13T07:17:30 another example is circles on the earth, I suppose 2013-03-13T07:17:45 what about them? :P 2013-03-13T07:17:51 i don't know geometry very well 2013-03-13T07:18:15 circumference is not a ratio of radius 2013-03-13T07:18:26 wut? 2013-03-13T07:18:31 constant ratio*? 2013-03-13T07:18:37 yeah 2013-03-13T07:18:50 on the surface of the earth 2013-03-13T07:18:51 that is a much better example, thanks 2013-03-13T07:19:00 well, surface of an ellipse 2013-03-13T07:19:14 let's be honest, the earth is pretty unelliptical 2013-03-13T07:19:19 surface of an ellipse? 2013-03-13T07:19:27 generalised sphere 2013-03-13T07:19:46 earth is close enough to spherical 2013-03-13T07:19:49 :P 2013-03-13T07:19:52 i was joking :P 2013-03-13T07:20:26 I work on maps and most of the time I can assume the earth is spherical :P 2013-03-13T07:20:57 have i also told you about how I wished google used people's "trip data" for riding/walking paths? 2013-03-13T07:21:02 wish* 2013-03-13T07:21:05 haha 2013-03-13T07:21:16 imagine how well that'd map out walking tracks on mountains etc. 2013-03-13T07:21:27 you'd have a whole lot of fun working out how to path find too 2013-03-13T07:21:30 ie. use the data 2013-03-13T07:21:40 it's a tricky problem in general, yeag 2013-03-13T07:21:53 eg. frequency of track use vs. average time taken to travel it etc. 2013-03-13T07:22:15 and for cars you could collect data about how busy roads are on average at different times of day etc, 2013-03-13T07:22:20 or how busy they are right now even 2013-03-13T07:22:41 that would be boss when combined with automatic driving cars 2013-03-13T07:22:47 self-driving* 2013-03-13T07:23:16 a1k0n shot it down when i mentioned it to him though :P 2013-03-13T07:23:23 i forget what he saw as a fundamental flaw 2013-03-13T07:23:53 haha :P 2013-03-13T07:24:06 oh, here is a good summary of what I mean by laws of logic: http://en.wikipedia.org/wiki/List_of_rules_of_inference 2013-03-13T07:24:39 gross :P 2013-03-13T07:24:59 not exactly what I mean, but the same idea... and they are more fundamental than mathematical axioms 2013-03-13T07:24:59 did you see the pics from when I came off my push bike monday? 2013-03-13T07:25:10 noope 2013-03-13T07:25:16 i had to bath in detol before and redress my shoulder, no fun at all 2013-03-13T07:25:24 ah :( 2013-03-13T07:25:34 http://imgur.com/a/AkSCm 2013-03-13T07:25:50 worked myself over pretty well :P 2013-03-13T07:26:22 damn, that doesn't look fun at all 2013-03-13T07:26:34 you shouldn't have done that 2013-03-13T07:26:43 it's not too bad except when i am "helping it" 2013-03-13T07:26:51 :P 2013-03-13T07:27:00 my feet drying is the most painful part lately 2013-03-13T07:27:05 well, foot 2013-03-13T08:18:06 *** Quix0te has quit IRC () 2013-03-13T08:30:01 *** mcstar has joined #aichallenge 2013-03-13T10:13:21 *** sigh has quit IRC (Remote host closed the connection) 2013-03-13T11:09:57 *** loglog has joined #aichallenge 2013-03-13T11:16:33 *** amstan has joined #aichallenge 2013-03-13T11:16:33 *** ChanServ sets mode: +o amstan 2013-03-13T11:25:11 *** mceier has quit IRC (Quit: leaving) 2013-03-13T11:39:49 *** thestinger has joined #aichallenge 2013-03-13T12:04:23 *** epicmonkey has quit IRC (Ping timeout: 260 seconds) 2013-03-13T12:37:58 *** mceier has joined #aichallenge 2013-03-13T12:58:44 *** janzert has quit IRC (Read error: Connection reset by peer) 2013-03-13T13:16:57 *** janzert has joined #aichallenge 2013-03-13T13:24:55 thestinger: i have an n-ary monadic lifter http://hpaste.org/83996 :) 2013-03-13T13:25:26 if you needed one, i thought i'd share it 2013-03-13T13:31:23 *** dvladim has joined #aichallenge 2013-03-13T13:47:24 *** dvladim has quit IRC (Read error: Operation timed out) 2013-03-13T13:55:03 *** cyphase has joined #aichallenge 2013-03-13T14:14:26 lol@ logicomix 2013-03-13T14:19:25 antimatroid: it is not like the 'new' mathematics is so straightforward... 2013-03-13T14:19:55 5:21 there, im talking to a wall 2013-03-13T14:23:05 http://i.imgur.com/UQMnWXF.png 2013-03-13T14:26:29 *** UncleVasya has joined #aichallenge 2013-03-13T14:27:05 *** amstan has quit IRC (Ping timeout: 258 seconds) 2013-03-13T14:27:56 *** mattswe has quit IRC (Ping timeout: 245 seconds) 2013-03-13T14:28:38 *** ermau has quit IRC (Ping timeout: 256 seconds) 2013-03-13T15:08:24 *** amstan has joined #aichallenge 2013-03-13T15:08:24 *** ChanServ sets mode: +o amstan 2013-03-13T15:19:14 *** epicmonkey has joined #aichallenge 2013-03-13T15:24:57 *** foRei has quit IRC (Quit: Bye) 2013-03-13T15:28:49 *** mleise has joined #aichallenge 2013-03-13T15:50:17 mleise: it worked! 2013-03-13T15:51:00 mleise: took me a day to write 12 lines of haskell http://hpaste.org/83996 2013-03-13T15:59:38 mcstar: isn't that frustrating? 2013-03-13T16:00:04 no, it makes me calm, that it finally works 2013-03-13T16:00:09 I like my languages verbose so I feel like I've achieved something ^^ 2013-03-13T16:00:22 Also some companies pay by lines of code 2013-03-13T16:00:36 clearly, a bad practice 2013-03-13T16:00:40 :) 2013-03-13T16:00:45 I know but tell IBM 2013-03-13T16:01:05 IBM used to have Real Programmers... 2013-03-13T16:01:12 now look, where they are 2013-03-13T16:02:00 mleise: that piece of code is very interesting, it is kind of the extension of our previous problem 2013-03-13T16:02:13 that could evaluate an n-ary function 2013-03-13T16:02:29 this takes such a function, and transform them into another, with n-arguments 2013-03-13T16:02:49 but thats not all, it can deal with 'contexts' 2013-03-13T16:03:22 thats the monad, each new argument is a monadic value, so we need to properly feed them into our input function 2013-03-13T16:03:43 :D http://yro.slashdot.org/story/12/02/09/1624232/ibm-seeks-patent-on-judging-programmers-by-commits 2013-03-13T16:03:52 mleise: do you understand this example? liftMN (\a b c -> a+b+c) (Just 1) (Just 2) (Just 3) 2013-03-13T16:04:03 no I don't understand anything in your code 2013-03-13T16:04:17 just look at this line i pasted 2013-03-13T16:04:41 mleise: do you know option types? probably D has something like it too 2013-03-13T16:04:43 could you explain to me what it achieves in the real world? 2013-03-13T16:04:47 represent a value that can be missing 2013-03-13T16:04:59 mleise: thats what i am doing 2013-03-13T16:05:02 yes it is called a pointer :p 2013-03-13T16:05:09 well, yes 2013-03-13T16:05:25 but imagine, that it is implicitely checked for nullptr every time it is used 2013-03-13T16:05:39 if it is null, the whole computation fails 2013-03-13T16:05:52 if it isnt, you can proceed with the value that the pointer points to 2013-03-13T16:06:08 what does "fails" mean? 2013-03-13T16:06:15 does a segfault count? 2013-03-13T16:06:27 it fails gracefully 2013-03-13T16:06:36 you cannot not deal with the failure case 2013-03-13T16:06:49 i.e. you always have to program for failure 2013-03-13T16:07:06 the typesystem enforces you to do that 2013-03-13T16:07:26 with exceptions or pointers, you can choose to ignore them 2013-03-13T16:07:29 you cannot ignore this 2013-03-13T16:07:39 I see. Flatly speaking it is an "if (bla == null) { ... } else { ... }" 2013-03-13T16:08:09 yes, but the whole thing gives back a value 2013-03-13T16:08:20 imagine both branches have returns 2013-03-13T16:08:26 so the 'if' has a result to 2013-03-13T16:08:29 ah so it is "(bla == null) ? ... : ..." 2013-03-13T16:08:33 yes 2013-03-13T16:08:53 and the type of the 2 branches are the same, jsut as in C 2013-03-13T16:08:54 kewl, I understand you 2013-03-13T16:09:25 mleise: this thing is a monad, there are many more examples, but maybe this is the best example 2013-03-13T16:09:49 so, anyway, the problem is to use a function that doesn know about failure, and prep it to know about it 2013-03-13T16:10:03 like a totally context-less function \a b -> a + b 2013-03-13T16:10:16 allright 2013-03-13T16:10:33 obviously, you cant give this function values of type that encodes possible failure 2013-03-13T16:10:58 now liftM2 can do that 2013-03-13T16:11:43 it extracts the 2 values, if any of them is failure, the computation fails, if both of them are non failures, it gives the result of the function \a b -> a+b 2013-03-13T16:12:08 liftM2 (+) (Just 1) (Just 2) == Just 3 2013-03-13T16:12:11 for example 2013-03-13T16:12:20 liftM2 (+) Nothing (Just 2) == Nothing 2013-03-13T16:12:24 liftM2 (+) Nothing Nothing == Nothing 2013-03-13T16:12:29 liftM2 (+) (Just 1) Nothing == Nothing 2013-03-13T16:12:39 funny, this is how floating point works 2013-03-13T16:12:51 NaN + 2 = NaN 2013-03-13T16:13:16 so, liftM2 takes a pure function and lifts it into a context 2013-03-13T16:13:17 *** Scooper has joined #aichallenge 2013-03-13T16:13:32 for the Maybe type, it lifts it into a context of possible failure 2013-03-13T16:14:01 so, my liftMN can do this for an n-ary function that is homogeneous in its types, and lift it over n monadic arguments 2013-03-13T16:16:07 so you check all parameters (which must be of the same type) for "null" 2013-03-13T16:16:17 no 2013-03-13T16:16:44 the Monad typeclass defines an 'interface', i dont have to deal with this at all, jsut use the monadic composition function 2013-03-13T16:16:50 it is called bind >>= 2013-03-13T16:17:12 lists are a kind of monads too 2013-03-13T16:17:12 so this works with any monad? 2013-03-13T16:17:15 yes 2013-03-13T16:17:20 amazing 2013-03-13T16:17:25 for example, lets give it lists 2013-03-13T16:17:32 O.p 2013-03-13T16:17:37 0.o 2013-03-13T16:17:43 liftM2 (+) [1,2] [3,4] = [4,6,5,6] 2013-03-13T16:18:18 that's magic. you can do so much with the + operator? 2013-03-13T16:18:21 it gives a list that has all the results of (+) applied to all elements, it is a direct product of the elements 2013-03-13T16:18:33 mleise: no, the + just adds numbers 2013-03-13T16:18:41 mleise: it is not 'overloaded' for lists 2013-03-13T16:19:22 mleise: the type of the arguments, i.e [a] == list of a, is what determines what happens for a given monad 2013-03-13T16:20:04 ok, now how does the program know how to bind this list stuff to single values and create a product? 2013-03-13T16:20:54 is there something like "for each possible binding" ? 2013-03-13T16:21:19 let me find the definition of the list instance, and you will see 2013-03-13T16:25:03 mleise: http://www.haskell.org/ghc/docs/7.4-latest/html/libraries/base-4.5.1.0/src/GHC-Base.html#Monad 2013-03-13T16:25:13 from: instance Monad [] where 2013-03-13T16:25:54 *** amstan has quit IRC (Ping timeout: 258 seconds) 2013-03-13T16:26:44 "Sequentially compose two actions, passing any value produced by the first as an argument to the second." 2013-03-13T16:27:02 so >>= computes the product 2013-03-13T16:27:03 anyway, ill give you an example 2013-03-13T16:27:07 mleise: nooo 2013-03-13T16:27:15 m >>= k = foldr ((++) . k) [] m 2013-03-13T16:27:32 m is the monadic value, k is a function that takes a value, and gives a monadic value 2013-03-13T16:27:43 for lists, it is a foldr 2013-03-13T16:27:56 it folds the list(m) with the function: ((++) . k) 2013-03-13T16:27:59 starting frmo [] 2013-03-13T16:28:18 so k has the type: a -> [a] 2013-03-13T16:28:39 so you see, that whatever k gives back, >>= will concatenate up, with a foldr 2013-03-13T16:28:39 *** mattswe has joined #aichallenge 2013-03-13T16:28:57 yes 2013-03-13T16:29:08 so, lets see my example liftM2 (+) [1,2] [3,4] = [4,6,5,6] a little expanded 2013-03-13T16:29:26 this is equivalent with [1,2] >>= \x -> [3,4] >>= \y -> return (x+y) 2013-03-13T16:29:44 so, you pick a list, bind it with a function 2013-03-13T16:30:02 the elements of the list will be available as the lambda parameter 'x' 2013-03-13T16:30:15 now you pick another list, and bind it with a function 2013-03-13T16:30:26 those elements will be available as the 'y' parameter 2013-03-13T16:30:39 and the result of the computation is return (x+y_ 2013-03-13T16:30:42 and the result of the computation is return (x+y) 2013-03-13T16:31:00 but 'return' for the list monad. as you can see just puts the value in a list 2013-03-13T16:31:09 return (x+y) = [x+y] 2013-03-13T16:31:23 and this is concatenated up, in a double foldr 2013-03-13T16:31:29 expanded: 2013-03-13T16:31:42 foldr ((++) . (\x -> foldr ((++) . (\y -> [x+y])) [] [3,4])) [] [1,2] 2013-03-13T16:32:02 easy as pie 2013-03-13T16:32:20 does ++ mean append or something? 2013-03-13T16:32:26 concat 2013-03-13T16:32:34 yes, append 2013-03-13T16:32:39 we call it append 2013-03-13T16:32:39 no concat 2013-03-13T16:32:41 prepend is the fast operation 2013-03-13T16:32:43 concat is different 2013-03-13T16:32:53 * mleise is confused 2013-03-13T16:32:54 thestinger: this is in a foldr! 2013-03-13T16:33:09 mleise: concate concatenates up a list of lists into a single list 2013-03-13T16:33:19 ah! it's join() 2013-03-13T16:33:21 appends just puts together 2 lists 2013-03-13T16:33:30 -s 2013-03-13T16:33:31 after walking through the first 2013-03-13T16:33:50 silly lists 2013-03-13T16:33:50 no it doesnt walk through 2013-03-13T16:34:20 how does it not walk through? it doesn't even know how long the list is without that 2013-03-13T16:34:42 with foldr you can fold an infinite list too 2013-03-13T16:34:44 it could be infinite 2013-03-13T16:36:01 *** ermau has joined #aichallenge 2013-03-13T16:36:15 mleise: so, this was a complicated example, the Maybe monad is simpler 2013-03-13T16:36:49 wait a sec 2013-03-13T16:36:57 does every monad define its failure case? 2013-03-13T16:37:16 do you mean the 'fail' in the definition? 2013-03-13T16:37:18 is that an inherent property of monads? 2013-03-13T16:37:20 yes 2013-03-13T16:37:28 that is a appendix 2013-03-13T16:37:35 remains, a bad decision 2013-03-13T16:37:45 dont look at that 2013-03-13T16:37:48 :( 2013-03-13T16:37:52 >>= and return are what matter 2013-03-13T16:38:05 >> is basically >>= , it just drops the argument 2013-03-13T16:38:31 it is good for IO chaining if actions dont return values 2013-03-13T16:45:04 *** amstan has joined #aichallenge 2013-03-13T16:45:04 *** ChanServ sets mode: +o amstan 2013-03-13T16:45:05 oh bearophile again: "You see this idea used in normal Haskell documentation, where functions have links on the right to their source code" 2013-03-13T16:48:55 mleise: is he gone? 2013-03-13T16:49:10 no it's on the news group 2013-03-13T16:49:19 oh 2013-03-13T16:53:53 *** coeus_ has joined #aichallenge 2013-03-13T16:54:12 thestinger: http://hpaste.org/84005 2013-03-13T16:54:46 if you follow the natural order of appending, you dont need to traverse stuff superfluously 2013-03-13T17:00:15 thestinger: maybe a better example: let x = 1 : (x ++ [1]) in x this works fine 2013-03-13T17:00:46 (x is an infinite list, ++ doesnt need to traverse it to append in the end) 2013-03-13T17:40:03 *** amstan has quit IRC (Quit: Konversation terminated!) 2013-03-13T17:45:43 *** UncleVasya has quit IRC (Quit: UncleVasya) 2013-03-13T18:04:51 mleise: i like how every presentation with a Mac is about changing screensaver or dpms settings 2013-03-13T18:09:10 i find interesting how TV stations mistake video games for real world footage 2013-03-13T18:09:12 http://www.computerandvideogames.com/320372/itv-documentary-mistakes-arma-2-for-real-ira-film/ 2013-03-13T18:10:34 http://www.computerandvideogames.com/320372/itv-documentary-mistakes-arma-2-for-real-ira-film/ 2013-03-13T18:10:45 sorry, http://www.huffingtonpost.co.uk/2013/03/11/danish-tv-uses-assassins-creed-syria_n_2852558.html 2013-03-13T18:13:35 But it also works with action movie sets: http://www.mirror.co.uk/news/world-news/newsreaders-mistakenly-report-chicago-plane-1466681 2013-03-13T18:14:11 lol 2013-03-13T18:15:27 lol to the second 2013-03-13T18:22:10 oh 2013-03-13T18:22:17 true - do nothing, successfully 2013-03-13T18:22:29 ^ the unix utility command 'true' 2013-03-13T18:22:42 SYNOPSIS 2013-03-13T18:22:44 true [ignored command line arguments] 2013-03-13T18:22:46 true OPTION 2013-03-13T18:35:44 *** floWenoL has quit IRC (Quit: Lost terminal) 2013-03-13T18:37:46 *** epicmonkey has quit IRC (Ping timeout: 258 seconds) 2013-03-13T18:42:39 *** floWenoL has joined #aichallenge 2013-03-13T18:44:38 *** floWenoL has quit IRC (Client Quit) 2013-03-13T18:48:45 mcstar: the GNU one is actually broken though 2013-03-13T18:49:01 in what incredible way? 2013-03-13T18:49:45 i does nothing, unsuccesfully? 2013-03-13T18:49:54 or it does something? 2013-03-13T18:50:39 /bin/true --help >&- 2013-03-13T18:50:50 works fine with bsd/plan9 true 2013-03-13T18:50:57 exits with 1 with GNU true 2013-03-13T18:51:03 it can't even do nothing right. 2013-03-13T18:51:31 thestinger: why is that a bug in true? 2013-03-13T18:51:42 mcstar: because no matter what the input is, it's supposed to exit with 0 2013-03-13T18:51:51 but GNU true supports --help and --version, which means it outputs 2013-03-13T18:51:56 and since it outputs, you can make it fail 2013-03-13T18:52:01 so it *doesn't* succeed for all inputs 2013-03-13T18:52:09 oh, the others dont output anything? 2013-03-13T18:52:12 a use case for true/false it eating up input 2013-03-13T18:52:15 mcstar: yeah, they're silent 2013-03-13T18:52:16 dont have any flags? 2013-03-13T18:52:18 ok 2013-03-13T18:52:35 the printing itself meets the POSIX standard, but printing means it can fail so that's not okay 2013-03-13T18:52:48 at least, the way they implement printing. 2013-03-13T18:53:24 thestinger: make sure to tell them that 2013-03-13T18:53:29 they don't care. 2013-03-13T18:53:39 how ignorant of them 2013-03-13T18:53:43 XD 2013-03-13T18:55:20 mcstar: hopefully util-linux eats up coreutils 2013-03-13T18:55:26 because it's written by really sane people 2013-03-13T18:55:44 another breed than stallman's? 2013-03-13T18:56:18 mcstar: util-linux is the linus types 2013-03-13T18:56:24 open-source, not free software 2013-03-13T18:56:34 i guess some change is inevitable after several tens of years... 2013-03-13T18:57:09 it's open-source because that's the best way to write good software, not because software should be open-source for some fundamentalist religious reason :P 2013-03-13T18:57:43 *** amstan has joined #aichallenge 2013-03-13T18:57:43 *** ChanServ sets mode: +o amstan 2013-03-13T18:57:49 i dont agree that thats the best way 2013-03-13T18:57:53 but it is the cheapest 2013-03-13T18:58:53 stallman is weird, though 2013-03-13T19:18:24 *** Scooper has quit IRC (Quit: Leaving) 2013-03-13T19:21:55 mcstar: I wouldn't trust software that wasn't open-source with anything serious - would you trust Oracle, Microsoft or Apple to keep your business secure? 2013-03-13T19:21:59 *** mcstar has quit IRC (Ping timeout: 240 seconds) 2013-03-13T19:22:06 ugh. internets 2013-03-13T19:24:42 *** Areks|2 has joined #aichallenge 2013-03-13T19:26:00 *** Areks has quit IRC (Ping timeout: 264 seconds) 2013-03-13T19:44:18 *** ghave has joined #aichallenge 2013-03-13T20:02:17 *** Garf has quit IRC (Read error: Connection reset by peer) 2013-03-13T20:02:33 *** Garf has joined #aichallenge 2013-03-13T20:06:48 *** floWenoL has joined #aichallenge 2013-03-13T20:12:22 *** floWenoL has quit IRC (Ping timeout: 272 seconds) 2013-03-13T20:13:04 *** floWenoL has joined #aichallenge 2013-03-13T20:41:52 *** Quix0te has joined #aichallenge 2013-03-13T22:16:47 *** Garf has quit IRC (Read error: Connection reset by peer) 2013-03-13T22:50:07 *** foRei has joined #aichallenge 2013-03-13T23:01:47 *** mleise has quit IRC (Quit: Leaving.) 2013-03-13T23:02:08 http://li414-97.members.linode.com:2090/ranking how to make it work? where right TCP client? 2013-03-13T23:04:31 *** mleise has joined #aichallenge 2013-03-13T23:08:55 *** ghave has quit IRC () 2013-03-13T23:09:44 *** mleise has quit IRC (Quit: Leaving.) 2013-03-13T23:14:07 Accoun: no 2013-03-13T23:16:58 *** sevikkk has quit IRC (Ping timeout: 252 seconds) 2013-03-13T23:20:49 *** sevikkk has joined #aichallenge