[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