[08:16] *** vmlemon_ has joined #kamaelia |
[08:44] *** vmlemon_ has joined #kamaelia |
[08:50] *** vmlemon_ has joined #kamaelia |
[10:55] *** MS- Working on Axon 1.6 release notes |
[10:59] *** Davbo has joined #kamaelia |
[11:02] < MS-> afternoon |
[11:03] < Davbo> Afternoon all |
[11:33] < Davbo> Haskell is weird. |
[11:36] < MS-> It's a functional language. Most functional languages are similar to each other and a different mindset |
[11:36] *** vmlemon_ wonders what a dysfunctional language would look like, if someone had the chance to write one (Java?) ;) |
[11:37] < MS-> The one I learnt in detail (did multi-thousand line programs in) was SML - which uses strict evaluation rather than lazy evaluation (which of course haskell uses) |
[11:37] < MS-> vmlemon_: It'd look like datfuncational language |
[11:37] *** Davbo didn't really *get* the strict and lazy stuff |
[11:38] < MS-> heh, you of all people should :) |
[11:38] < MS-> >>> X = [1,2,3] |
[11:38] < MS-> >>> X |
[11:38] < MS-> [1, 2, 3] |
[11:38] < MS-> X is a value that is a list |
[11:39] *** Davbo nods |
[11:39] < MS-> >>> def X(): |
[11:39] < MS-> ... return [1,2,3] |
[11:39] < MS-> ... |
[11:39] < MS-> >>> for i in X(): |
[11:39] < MS-> ... print i, |
[11:39] < MS-> ... |
[11:39] < MS-> 1 2 3 |
[11:39] < MS-> X() is a function that strictly returns a list of values |
[11:40] < MS-> Or rather X() returns the entire iterable |
[11:40] < MS-> as a strict response |
[11:40] < vmlemon_> *disfunctional |
[11:40] < vmlemon_> Stupid typo |
[11:40] < MS-> >>> def X(): |
[11:40] < MS-> ... yield 1 |
[11:40] < MS-> ... yield 2 |
[11:40] < MS-> ... yield 3 |
[11:40] < MS-> ... |
[11:40] < MS-> >>> for i in X(): |
[11:40] < vmlemon_> kamlogbot: poke |
[11:40] Reply: Not the eye! Not the eye! |
[11:40] < MS-> ... print i, |
[11:40] < MS-> ... |
[11:40] < MS-> 1 2 3 |
[11:41] < MS-> X() still returns an iterable, but it lazily generates values on demand |
[11:41] < Davbo> oh i see, yeah |
[11:41] < MS-> put another way, X() is value which is a strict list |
[11:41] < Davbo> it doesn't evaluate until you ask |
[11:41] < MS-> in the first case |
[11:41] < MS-> and X() is a lazy list |
[11:41] < MS-> in the second case |
[11:44] < Davbo> thanks MS- i get it now |
[11:46] < Davbo> this explains lambda functions too |
[11:48] < MS-> Python lambda's aren't quite the same as true lambda's by the way |
[11:48] < MS-> They're not as .. clean |
[11:48] < MS-> neither the expression form, nor the closure form |
[11:48] < MS-> It's something that annoys me about python occasionally |
[11:48] < Davbo> Yeah, it's different in Haskell |
[11:49] < MS-> Proper lambda's are nice |
[11:50] < MS-> Have you done currying yet? |
[11:50] < Davbo> it also explains why my lecturer goes on about tree's so much...(the data structure, not the plant) |
[11:50] < Davbo> reading about lazy evaluation now it looks like it's all handled in an expression tree |
[11:50] *** MS- nods |
[11:50] < Davbo> i don't think we've done that |
[11:50] < MS-> yep, you don't evaluate it until you need the alue |
[11:50] < MS-> /alue/value/ |
[11:51] < MS-> Currying is in a similar vein |
[11:52] < Davbo> this is cool: http://en.wikipedia.org/wiki/Functional_programming#Coding_styles |
[11:54] < MS-> compactness does not always equate to comprehensibility though |
[11:54] < MS-> Clearest example of that as a language is prolog |
[11:54] < MS-> You can do more in less lines in prolog than in many other languages and exponentially less people understand it |
[11:55] < Davbo> i suppose so |
[11:56] *** Davbo is amazed by how many students didn't seem to *get* recursion of lists in Prolog |
[11:56] < Davbo> after 2 lectures on it |
[11:57] < Davbo> the pattern is always same, act on the head then post the tail back to the function.. |
[11:57] < Davbo> My Prolog lecturer is learning Python, I might offer him some lectures ;-) |
[12:12] < MS-> heh |
[12:12] < MS-> Recursion is a surprisingly difficult concept for people to grasp |
[12:13] < MS-> Probably because it's really identical to iteration, but rarely taught that way |
[12:13] *** vmlemon_ has joined #kamaelia |
[12:13] < Davbo> lists in haskell == http://learnyouahaskell.com/listmonster.png |
[12:15] < MS-> Loading for that website == FAIL |
[12:17] < Davbo> it's appeared on reddit and hacker news (where all the old redditors have gone, http://news.ycombinator.com ) |
[12:17] < Davbo> so probably having somewhat of a /. effect |
[12:20] < Davbo> oh that's awesome! infinite lists |
[12:20] < Davbo> didn't know you could do that |
[12:20] < Davbo> side-effect of being lazy i guess |
[12:22] < vmlemon_> Hmm, anyone familiar with Google Code? |
[12:22] < MS-> vmlemon_: Depends on what you want to know :-) |
[12:23] *** vmlemon_ assumes that http://projectname.googlecode.com/svn/ is the "repository URL" for the purposes of configuring the Drupal SVN module... |
[12:24] < vmlemon_> Aah, seemed to work |
[12:27] < vmlemon_> Meh, they don't seem to give revision numbers in URLs, from what I can tell, unless there's a Special Tecnique |
[12:27] < vmlemon_> *Technique |
[12:27] < vmlemon_> (Although I'm not that familiar with SVN) |
[12:27] < Davbo> don't think that'd be anything to do with svn since it's googles frontend |
[12:28] < vmlemon_> Damn |
[12:28] < Davbo> right, i'm off to this: http://www.sheffieldoktoberfest.co.uk/ |
[12:30] < Davbo> cya later chaps! |
[12:30] < vmlemon_> See you Davbo |
[12:31] *** vmlemon_ didn't know they had an Oktoberfest in Sheffield... |
[12:34] < MS-> OK |
[12:34] < MS-> An advert for an electronic potato peeler |
[12:34] < MS-> That's strange |
[12:34] < MS-> "the best a potato can get" |
[12:34] < vmlemon_> Where? |
[12:34] < MS-> On TV |
[12:34] < MS-> gone now |
[12:34] < vmlemon_> Hah |
[12:34] < MS-> I mean |
[12:35] < MS-> *WHY* ? |
[12:35] < MS-> It's not like it's any different from a normal potato peeler |
[12:35] < MS-> (ie same shape, just has a shaking blade AFAICT) |
[12:35] < vmlemon_> Will it magically revive mouldy potatoes, or make them taste better somehow? ;) |
[12:36] < MS-> I mean it was a slly add - a mick take of the Gillette razor ads |
[12:36] < MS-> but they clearly meant it too |
[12:36] < MS-> which is *wierd* |
[12:37] *** vmlemon_ wonders if there's ever going to be viable replacement for FAT* that doesn't chew data, and is at least as interoperable between OSes... |
[12:38] < vmlemon_> (I've had to repair the FS on my phone's MMC card at least 5 times in the last week, after it somehow ended up getting corrupt and damaged a load of MP3 files in the process) |
[12:38] < MS-> SMB is the closest you get really |
[12:38] < MS-> but hardly counts |
[12:39] < vmlemon_> Although it's been used with at least 4 different implementations, each probably with their own bugs and quirks... |
[12:40] < vmlemon_> (Windows XP, Symbian OS, Linux and Mac OS X Leopard, and Mac OS 9 briefly) |
[12:42] < vmlemon_> I've seen Linux's dmesg spammed with panic messages whilst trying to read it, long random garbage filenames on Mac OS 9 (just before that box locked up entirely), and lost quite a bit of data in the process (although it wasn't exactly crucial stuff) |
[12:44] *** vmlemon_ wonders if there's a problem with the Flash memory chips being crappy/out of spec |
[12:54] < MS-> It could be that |
[12:54] < MS-> Windows tends to try and mask such error AFAICT |
[12:56] < MS-> http://www.kamaelia.org/ReleaseNotes060 - complete release notes for the release |
[12:56] < MS-> includes the Axon 1.6 release notes which are here: |
[12:56] < MS-> http://www.kamaelia.org/ReleaseNotesAxon160 |
[13:12] *** MS- goes off for a while |
[13:12] < MS-> (though feedback on the new release notes would be very welcome) |
[13:12] *** MS- is now known as ms-afk |
[13:14] *** vmlemon_ has joined #kamaelia |
[13:19] *** vmlemon_ has joined #kamaelia |
[14:11] *** vmlemon_ has joined #kamaelia |
[14:22] *** vmlemon_ has joined #kamaelia |
[15:31] < eikenberry> 3rd Paragraph... first sentence... this bit doesn't sound right. |
[15:31] < eikenberry> [...] does mean that you can exceptions thrown if the component [...] |
[15:31] < eikenberry> "you can exceptions thrown"? |
[16:35] < ms-afk> ta, I'll fix that :) |
[17:06] < vmlemon_> Exceptions Pong! ;) |
[17:39] *** vmlemon_ has joined #kamaelia |