Experimental IRC log happs-2007-10-12

Available formats: content-negotiated html turtle (see SIOC for the vocabulary)

Back to channel and daily index: content-negotiated html turtle

These logs are provided as an experiment in indexing discussions using IRCHub.py, Irc2RDF.hs, and SIOC.

15:11:06<shapr>hiya dino-_
15:11:08<shapr>How's code?
15:15:41<dino-_>shapr: hey :)
15:15:51<dino-_>Well, going slower than I had hoped during this brief period of unemployment.
15:16:12<dino-_>But I'm learning a lot.
15:16:25<dino-_>About threads, MVar and STM.
15:16:48<dino-_>And now the IO monad's implementation of MonadPlus is no longer a mystery to me.
15:17:11<shapr>ooh, It's a mystery to me..
15:17:19<shapr>I should jump onto that bandwagon
15:17:55<dino-_>Folk on #haskell just had talked to me the other day about it, that mplus in IO is basically like his: m `mplus` n = m `catch` \_ -> n
15:18:06<shapr>right
15:18:12<shapr>oh
15:18:23<dino-_>On case of failure, do the next action.
15:18:28<shapr>That makes sense.
15:18:35<dino-_>ya, it makes nice code sometimes.
15:18:42<dino-_>It's like 'or'. Do this or that.
15:19:00<dino-_>s/On/In/
15:19:36<dino-_>Very soon I want to tinker with happs 0.9.x again.
15:20:20<dino-_>Also, I have these vague feelings that the happs storage idea has value beyond web apps. Any old locally installed and running application could benefit from this in-mem-backed-by-disk storage, ya?
15:20:33<shapr>Yeah
15:20:39<shapr>Think of sqlite
15:20:43<dino-_>Places where people will now either.. yup
15:20:45<shapr>That's used by many programs.
15:20:50<dino-_>exactly
15:20:57<sjanssen>lambdabot could really use HAppS style storage
15:21:01<shapr>yeah!
15:21:05<dino-_>Call it the HPA, the HAppS Persistence Architecture or something.
15:21:08<shapr>heh
15:21:45<dino-_>That comes from the lovely Mrs. Dino who has been working on JPA stuff lately. Java Persistence Arch.
15:21:54<shapr>:-)
15:24:18<dino-_>Not using SQL db is very exciting.
15:24:45<dino-_>shapr: How's code for you?
15:25:11<shapr>Getting back up to speed, this past month I've been out of the loop entirely.
15:25:57<dino-_>I see. I've had chaos too. Lost job, interviewed with jobs, got new job starting 22nd. And now have parents visiting for a week starting tomorrow.
15:26:16<dino-_>It't not Haskell, but what can you do. Have to get paid.
15:26:42<shapr>yup
15:27:35<dino->I saw your amarohask thing, location change.
15:27:38<dino->amero
15:27:54<dino->We peek back there periodically to see what's up if anything.
15:28:28<dino->Hey, I wanted to ask something. Now, I know almost nothing about TH yet. I've kind of purposefully avoided it yet in an effort to just learn 'normal' Haskell.
15:28:50<shapr>yeah?
15:29:00<dino->Coming form Java and even cpp stuff that was always rigorously documented with API docs, I'd love to be able to haddock HAppS-Begin.
15:29:08<dino->But haddock, she no like the TH
15:29:18<shapr>Yeah...
15:30:04<dino->So, is the TH there just as a convenience or does this stuff absolutely require it or else?
15:30:46<shapr>Some of the stuff could probably be done with arrows instead of TH, but some of it really does require TH.
15:31:10<dino->Like I said, I don't really understand what the TH is or does. I have vague impressions it's sort of like a preprocessory thing. Or maybe like those J annotations.
15:31:21<shapr>Have you done any lisp?
15:31:25<dino->nope
15:31:33<dino->Haskell is my first and only FP.
15:31:38<dino->Hasn't been easy, let me tell you.
15:31:54<shapr>Do you know what lisp/scheme looks like?
15:32:08<dino->( yes ( I guess (I do ) ) )
15:32:19<shapr>And the basic structure is (op arg1 arg2 arg3)
15:32:34<shapr>Have you done any parsing? You know what an abstract syntax tree is?
15:32:51<dino->I know from reading Paul Graham's writings that macros are of critical important to Lisp/Scheme developers.
15:32:56<dino->importance.
15:33:12<dino->shapr: Parsing, no.
15:33:38<shapr>Ok, the lisp/scheme syntax is almost exactly the same as its internal representation.
15:34:06<shapr>Because of that, it's very easy to write code that processes code.
15:34:22<shapr>On the source level, rather than the standard Haskell level.
15:34:48<shapr>That's a macro.
15:35:16<dino->I see.
15:35:36<shapr>Template Haskell is pretty much the same thing. TH has a central datatype that represents a chunk of code as a datastructure, and you can pattern match on stuff and transform it.
15:36:18<dino->I see. So kind of much more than some blind preprocessor a-la C.
15:36:34<shapr>Right.
15:37:02<shapr>Lisp macros are quite blind, they don't do alpha renaming. They're called non-hygienic macros.
15:37:13<shapr>Scheme macros do alpha renaming and are called hygienic macros.
15:37:16<dino->Well, I'm not sure what's to be done about this in general. It's really a bigger problem that Haskell and Haddock have together.
15:38:00<dino->Huh, this is one of the first times I've seen someone point out a difference between Lisp and Scheme.
15:38:09<shapr>Template Haskell and the same sort of thing in ML are unique in that they each give different levels of type checking when processing the 'source'
15:38:13<dino->I figured there must be some, or they'd be called the same thing probably.
15:38:34<dino->mm
15:38:56<shapr>Lisp is the messy workshop of a sixty year old life-long toolshop owner. It has everything, but new users can rarely find it.
15:39:12<dino->Sadly, I was hoping that happs' use of TH was more of a convenience than a necessity.
15:39:24<shapr>Scheme is the stripped down powerful and portable workshop that has the tools that can build the tools to do anything.
15:40:07<dino->At the risk of annoying people, I have the impression that the impurity would bother me and have avoided the both of them so far.
15:40:26<dino->But I should probably learn Scheme sometime.
15:40:50<shapr>http://mitpress.mit.edu/sicp/
15:40:58<shapr>That's a good approach to learning Scheme.
15:41:07<dino->I have that book, it's very cool that they make the PDF freely downloadable.
15:41:12<shapr>yeah
15:41:22<dino->But have not read very far into it yet.
15:42:22<dino->I have to run. Thanks for chatting. I always learn a lot around here.
15:47:35<shapr>sure ttyl

Back to channel and daily index: content-negotiated html turtle