00:00:00 --- log: started haskell/02.01.19 01:20:00 --- join: Darkvise (~Darkvise@206.133.237.91) joined #haskell 01:20:33 --- part: Darkvise left #haskell 03:37:52 --- join: Vutral (~ss@212.169.153.102) joined #haskell 04:01:54 --- quit: jemfinch (Remote closed the connection) 04:03:35 --- join: Vutr__ (~ss@port-212.169.145.24.flat4all.de) joined #haskell 04:08:24 --- join: nefph (~alife@sense-sea-MegaSub-2-56.oz.net) joined #haskell 04:08:37 --- quit: dmiles (Read error: 54 (Connection reset by peer)) 04:09:17 --- nick: nefph -> dmiles 04:17:03 --- quit: Vutral (Killed (NickServ (Ghost: Vutr__!~ss@port-212.169.145.24.flat4all.de))) 04:17:06 --- nick: Vutr__ -> Vutral 04:23:03 --- quit: dmiles (Read error: 104 (Connection reset by peer)) 05:29:31 --- join: dmiles (~alife@sense-sea-MegaSub-2-56.oz.net) joined #haskell 05:44:21 wheee 07:34:55 aw, jemfinch is gone 07:35:08 I was going to show him this bit of code that compiles and does not work. 07:43:25 --- join: dblack (dblack@ool-18be3b59.dyn.optonline.net) joined #haskell 08:33:32 --- join: Vutra_ (~ss@212.169.154.152) joined #haskell 08:37:29 --- join: dblack_ (~dblack@ool-18be3b59.dyn.optonline.net) joined #haskell 08:40:50 --- quit: Vutral (Read error: 60 (Operation timed out)) 09:06:43 --- join: djul (~jewel@master.debian.org) joined #haskell 09:11:44 y0 djul 09:12:58 hello 09:13:02 what's up? 09:13:12 I didn't know you were a debian maintainer... 09:13:13 not much, just at the (other) office surfing 09:13:21 though something tells me I should know that 09:13:23 * shapr thinks 09:13:30 yes I am (not a very good one though) 09:13:38 I want to become one 09:13:43 I just need to figure out how to build debs ;) 09:13:46 it's not hard 09:14:08 hm 09:14:14 what packages do you maintain? 09:14:37 not much important, I maintain the antlr java compiler compiler 09:14:41 oh, cool 09:14:47 my JVM kissme (and the classpath libs for that) 09:15:07 and one or two other silly things I've written but haven't finished yet 09:15:48 There might be haskell related packages that have been orphaned 09:16:14 oh, I remember I'd looked up the possible names for your future packages 09:17:27 did you and mister toad figure out the tokenizer? 09:17:37 not really 09:17:53 actually, PragDave wrote one 09:18:04 and I've thought of several other ways to write one 09:18:12 but I want to know why that way doesn't work 09:18:19 * shapr imitates a bulldog 09:18:37 PragDave's way doesn't work? 09:18:43 oh it does 09:18:45 it works fine 09:18:50 so do the other ways I thought of 09:18:57 but I want to *why* this way doesn't work 09:19:24 are you busy? 09:19:30 wanna look at the code? 09:19:33 it's five line 09:19:35 s 09:20:54 sure, but I don't have haskell access here 09:21:14 I suspect the problem with this code is obvious, but I've been staring at it too long 09:21:19 first_chunk char string = (takeWhile (/= char) string) 09:21:20 second_chunk char string = (drop 1 (dropWhile (/= char) string)) 09:21:30 splitY char tokens string = splitY char 09:21:31 (tokens ++ (first_chunk char string)) 09:21:31 (second_chunk char string) 09:21:33 that's it. 09:21:46 I'm not familiar with that /= operator 09:21:51 it means not equal to 09:22:27 when I run that with splitY ' ' "this is a test" 09:22:38 er 09:22:51 splitY ' ' [] "this is a test" 09:23:15 I expect to get ' ' ["this","is","a","test"] "" 09:23:17 in return 09:24:12 but it just runs forever 09:24:33 of course, there isn't a base case for the recursion? 09:24:40 er 09:24:45 I hadn't put one in 09:25:11 I assume when string is empty you want to stop 09:25:25 true 09:25:58 splitY _ tokens "" = tokens 09:26:34 whoa 09:26:55 awesome 09:27:00 thanks djul! 09:27:02 that fixed it! 09:27:11 * shapr bounces happily 09:27:17 * djul grins 09:29:52 cool, now I can go back to working through the Thompson book 09:30:18 hey djul, do you read the ll1 list? 09:30:29 no, what's that? 09:30:38 a compiler list? 09:30:40 kind of 09:30:48 mit had a meeting called "little languages" 09:31:09 http://ll1.mit.edu/ 09:31:26 there are two recent posts on the list that I'm thinking might be answered with Joy 09:31:37 lightweight? 09:32:05 er, right :) 09:32:11 not little 09:32:16 same concept 09:32:27 which posts? 09:33:23 * shapr tries to find the urls 09:35:58 http://www.ai.mit.edu/%7Egregs/ll1-discuss-archive-html/msg01312.html 09:36:01 that's one of them 09:36:09 but I can't find the message that is a response to 09:37:09 ah, think this is the original: http://www.ai.mit.edu/%7Egregs/ll1-discuss-archive-html/msg01311.html 09:37:47 as far as I understand functional programming, it means that the result of a function can always be directly substituted for its call 09:39:29 doesn't that mean that a Joy implementation could simplify a program before executing it by knowing ahead of time that stuff like "1 2 swap swap + ." is the same as "1 2 + ." ? 09:39:42 or am I missing something? 09:40:23 I haven't sent anything to the list, because I'm not sure I understand Joy and FP (and their email) well enough to have much of a clue. 09:41:17 as far as I understand functional programming, part of the power of referential transparency is that it lets you reason about a program as if it were an equation 09:41:53 if you find two duplicate branches in the AST of the program, resolving one resolves both of them 09:43:01 yes 09:43:24 so it sounds like Joy could do what they're asking for 09:44:02 well, I'll send a private email to the posters and ask them if they agree 09:44:46 --- quit: dmiles (Read error: 104 (Connection reset by peer)) 09:45:24 --- join: dmiles (~alife@sense-sea-MegaSub-2-56.oz.net) joined #haskell 09:45:45 n 09:46:06 I have to go in a few minutes 09:46:13 * shapr waves 09:46:21 have fun! 09:49:19 All of a sudden I'm lagged 09:49:33 I don't really get what they're after in those posts 09:49:51 optimization of redundant calls I think 09:49:57 Something like a language which allows to express more properties for an interface (Than what we're used to) 09:50:09 eh? 09:50:19 malformed english 09:50:36 A way to express more conditions for an interface 09:50:59 conditions about the actual execution versus the input and output parameters 09:53:02 now I'm leaving, see you on Monday 09:53:04 --- quit: djul ("Leaving") 10:01:38 --- nick: Vutra_ -> Vutral 12:47:42 --- quit: kepler (Remote closed the connection) 12:53:52 does haskell has database support ? 12:53:58 yup 12:54:02 odbc support is excellent 12:54:17 I think there's also a postgres lib 12:54:19 on linux ? 12:54:20 :> 12:54:21 that's all I've looked for :) 12:54:23 cool 14:15:18 --- quit: Vutral (Remote closed the connection) 15:23:17 --- join: nodie (~nodie@193-152-207-211.uc.nombres.ttd.es) joined #haskell 15:26:19 --- quit: nodie (Client Quit) 15:34:48 --- join: nodie (~nodie@213-99-66-214.uc.nombres.ttd.es) joined #haskell 15:34:51 hi 15:38:40 --- join: Vutral (~ss@port-212.169.142.198.flat4all.de) joined #haskell 16:01:20 hi nodie 16:02:28 shapr: what databases talk ODBC? 16:02:42 (/me appears, btw) 16:10:55 --- join: kepler (~kepler@adsl-81-160-231.asm.bellsouth.net) joined #haskell 16:11:09 * shapr exclaims at the sudden appearance of a Heffalump 16:11:17 er, many databases speak ODBC 16:11:28 100% of win32 dbs 16:11:37 and unixodbc 16:12:30 ahah, ta 16:12:43 there's a MySQL module for Haskell but it's horrible and I couldn't actually get it to work properly 16:13:17 I'm not a great fan of MySQL 16:13:57 yeah, it's a crappy basic database without proper relational facilities, I know :-) 16:14:06 ok, just thought I'd mention that :) 16:14:07 but it's nice and simple and does the job I need 16:14:25 kind of like what C is as a programming language 16:14:43 very close to nothing at all? 16:14:58 yeah, but easy to use, ubiquitous, etc 16:15:11 a good choice if you don't want to spend lots of time learning something better 16:15:27 I care about programming languages so I spend time on them. I don't care about databases really so I don't. 16:17:34 what do you use, HaskellDB or HaSQL? 16:18:40 I haven't used anything yet :) 16:18:46 I've just looked 16:19:12 oh, right :-) 16:19:24 I'd like to try it 16:19:26 I thought the fact that you said it was "excellent" meant you'd tried it :-) 16:20:23 no, what I thought was excellent is that the ODBC driver generates SQL 16:20:42 I think it's silly to write SQL 16:20:45 er 16:20:48 maybe "too complicated" 16:20:54 I've been doing it for years 16:21:18 at the very least, there should be a standard Para-SQL that lets me use all of my knowledge the same way from DB to DB 16:21:28 heh 16:21:38 at this point it's like having twenty incompatible dialects of C to port my programs to 16:23:20 have you done much SQL? 16:24:15 not really 16:24:28 just enough to implement a few small database backed systems in Perl 16:24:45 I'd like to reimplement them in Haskell but when I looked at the MySQL stuff I wasn't very happy with it 16:25:09 --- quit: smkl (Read error: 104 (Connection reset by peer)) 16:35:16 weird 16:35:46 so many people think Haskell in unapproachable 16:36:08 As I said, though, the barrier that these powerful functional tools 16:36:18 still have to surmount is that of approchability; if I could fully 16:36:24 "grok" Haskell or MetaSlang (the language used as Kestrel), I have 16:36:31 little doubt that I could do amazing things. Unfortunately, I'm forced 16:36:36 to "settle" for languages that mere mortals can use, with standard 16:36:42 libraries that cover a sufficient number of everyday programming tasks. 16:36:48 weird, eh? 16:37:04 similar reaction on #python when I asked people who tried to learn Haskell 16:37:11 stuff like "my brain hurt too much." 16:37:14 * shapr sighs 16:51:44 in future we will need meta-languages who let us manage the big complexity of future software 16:52:05 this type of problems cant be solved with c for example 16:54:19 good night 16:54:27 --- quit: nodie ("sleeping") 17:25:28 --- join: smkl (~sami@glubimox.yok.utu.fi) joined #haskell 17:55:49 --- quit: Vutral (Read error: 104 (Connection reset by peer)) 17:56:21 --- join: Vutral (~ss@port-212.169.142.198.flat4all.de) joined #haskell 18:22:35 --- quit: PragDave (Remote closed the connection) 18:24:22 --- quit: kepler (Remote closed the connection) 18:25:38 --- quit: shapr (Remote closed the connection) 19:32:01 --- join: jewel2 (jewel@master.debian.org) joined #haskell 19:39:56 --- part: jewel2 left #haskell 20:07:29 --- quit: dblack_ ("[x]chat") 20:08:08 --- join: dblack_ (~dblack@ool-18be3b59.dyn.optonline.net) joined #haskell 21:46:56 --- join: kepler (~kepler@adsl-81-160-231.asm.bellsouth.net) joined #haskell 21:47:36 --- quit: smkl (carter.openprojects.net irc.openprojects.net) 21:47:36 --- quit: Heffalump (carter.openprojects.net irc.openprojects.net) 22:10:49 --- join: Heffalump (ganesh@munchkin.comlab.ox.ac.uk) joined #haskell 22:11:44 --- join: smkl (~sami@glubimox.yok.utu.fi) joined #haskell 22:16:08 --- quit: Heffalump (carter.openprojects.net irc.openprojects.net) 22:19:15 --- join: Heffalump (ganesh@munchkin.comlab.ox.ac.uk) joined #haskell 22:55:45 --- join: jemfinch (~jemfinch@rpat-100-139.resnet.ohio-state.edu) joined #haskell 23:59:59 --- log: ended haskell/02.01.19