00:00:00 --- log: started haskell/02.01.07 00:25:39 --- join: shapr (~user@195.156.199.178) joined #haskell 02:48:11 hi 02:48:19 hi lodewijk 02:48:26 I don't think I've seen you on here before 02:48:40 are you learning Haskell? or already using it? 03:11:54 hoi lodewijk, hoe gaat het met je? 03:22:40 --- join: julien (~julien@uu212-190-122-70.unknown.uunet.be) joined #haskell 03:28:24 hi julien 03:28:25 what's up? 03:36:12 hi shapr 03:36:18 happy New Year 03:36:59 hi julien, happy new year to you too 03:37:19 have you done any new haskell code? 03:37:29 I stayed up late last night reading about type classes 03:37:34 I think I understand them 03:37:42 I'm not quite sure how to use them yet 03:37:46 or maybe I do know.. I'm not sure 03:44:26 --- quit: jewel (Read error: 110 (Connection timed out)) 03:54:35 --- join: jewel (~jleuner@57.66.12.99) joined #haskell 03:55:36 --- quit: lodewijk (Remote closed the connection) 05:55:18 --- join: teek (teemu@k72.viikki.hoasnet.fi) joined #haskell 06:11:31 hi teek 06:28:04 --- join: aleksi (~aleksi@ip213-185-38-217.laajakaista.mtv3.fi) joined #haskell 06:28:18 hi 06:28:29 aleksi: does mtv3.fi use haskell? 06:28:44 hello 06:28:54 shapr, I really don't know 06:29:03 I'd guess they don't but can't say for sure 06:29:07 oh, I thought you worked for them or something :) 06:29:20 it's my home connection (adsl) going through their servers 06:29:24 oh cool 06:29:29 I watch mtv3.fi pretty often 06:29:29 but it surely would be cool 06:29:47 I ended up here through http://www.pragmaticprogrammer.com/loty/ 06:29:49 gah, "pretty often" is bad english 06:29:54 oh! nice to see you! 06:29:54 in case you haven't heard about it before 06:30:04 I heard about it last night for the first time 06:30:13 I just joined the pragprog list on eGroups today 06:30:24 I love the PragProg book 06:30:35 though I have had "had to learn some haskell" for couple of years now, first efforts during autumn 06:30:46 then you may know more than I do 06:30:56 I'm still learning 06:31:10 shapr, actually I haven't even started yet :) 06:31:32 oh I see 06:31:35 "had to learn" 06:31:37 I get it 06:31:39 oh, you do some lojban too? 06:31:43 yup 06:31:58 hi both of you, I've never heard of pragprog before. Is there large community behind that ? 06:32:00 for a long time? 06:32:10 are you finnish? 06:32:11 aleksi: much like you and haskell ;) 06:32:19 nope, I'm American, living in Tornio 06:32:27 i'm Finn, shapr's not 06:32:29 teek, can't say if there's any community yet 06:32:31 but I guess it's getting bigger should there be one :) 06:32:41 shapr, oh, that's great! :) 06:32:42 I spoke to chad and dblack last night on #loty 06:33:03 so funland populate this channel do they ?) 06:33:09 sure, why not 06:33:22 .fi is the hippest geeky country in the world, right? :) 06:33:22 shapr, I found out about today, so not much experience 06:33:31 about lojban? 06:33:51 or #haskell? or #loty? 06:33:56 * shapr has scoping problems 06:34:30 shapr, #loty I mean 06:34:34 oh 06:34:47 I thought to learn a language two years ago, but then I choosed ruby 06:34:50 I learned about it yesterday 06:35:03 last year was too busy, so this year it's time for #haskell 06:35:05 I chose Scheme two years ago, but I didn't get very far into it. 06:35:14 I've learned some elisp though 06:35:20 ocaml being a second contender 06:35:41 I've heard good things about ocaml also 06:35:49 shapr, hmm.. I guess I should have said I tried a little lisp and ML last year, but didn't go very far, no coding almost 06:36:23 ocaml is pragmatic, but haskell is better, if the main purpose of learning is to think in new ways 06:36:23 I've actually done coding for Haskell 06:36:39 for me, haskell is about learning new thought patterns 06:37:22 I've only written one chunk of code so far though 06:37:44 and it doesn't look much like a functional programmer wrote it. 06:37:53 http://kungens.kemi.fi/~shae/Mandelbrot.hs 06:41:13 shapr, are you sure you're erisson ?= 06:41:14 ) 06:41:46 er, yes... why? 06:42:18 it's sounds just so swedish and they have it ericson :) 06:46:03 well, it's not swedish... 06:46:09 it's american ;) 06:46:56 where did you pick up my last name? from my webpage? 06:51:38 shapr from the snippet you just posted 06:51:50 quite a lot of code, although to some extent quite clear 06:51:56 other parts, not too much 06:52:09 oh 06:52:26 I'd be happy to explain it if you wish :) 06:55:16 shapr, have you measured the speed of your program? 06:55:33 nope 06:56:10 dennisb profiled it for me once 06:56:10 that was nifty 06:56:10 If I need more speed, I know I can switch to using the Array module 06:59:09 I'm using debian, and I think the ghc5.02.00 for debian was built without profiling enabled 07:05:30 --- quit: shapr (carter.openprojects.net irc.openprojects.net) 08:07:09 --- join: x99 (~proff@suburbia.net) joined #haskell 08:08:29 --- join: shapr (~user@195.156.199.178) joined #haskell 08:09:21 re 08:09:50 did I miss anything exciting? 08:26:47 --- quit: shapr ("home time") 08:44:32 uhuh 09:53:18 --- join: shapr (~user@p-c2fbaba8.easy.inet.fi) joined #haskell 09:54:09 hi! 09:55:38 hey shapr 09:55:39 anyone awake? 09:56:07 hey jewel, what's up? 09:56:16 I'm busy investigating Java bindings for sdl 09:56:45 anything interesting? 09:57:07 I'm investigating type classes in Haskell 09:57:21 not yet 09:57:26 what do you mean 'type classes'? 09:58:27 it seems that part of programming in Haskell is creating your own types 09:58:51 like when I wrote Mandelbrot.hs, xbill advised me to create a MandelData type 09:59:08 so you can add a type to a 'class' 09:59:18 but it works kind of like a java interface 09:59:23 Eq is a 'class' 09:59:38 and it requires the type to implement methods == and /= (equals and not equals) 10:00:04 and Ord (ordered type) builds on Eq 10:00:19 it extends it to include > < >= <= etc 10:00:45 so I was thinking how I could create my own types, type classes, and what methods I would define on them 10:01:14 oh, you can type your functions with Eq, Ord, and any other type class 10:01:41 best thing I've been able to come up with is the Food type class, with methods, 'sucks' and 'nifty' 10:01:43 :) 10:06:28 hehe 10:06:50 Yeah I think encountered classes somewhere when wanting to print out data 10:07:00 I think there is a say method or something in some class 10:07:44 I read about Show and Visible last night 10:07:48 I was wondering last night when reading and working through my scheme books whether it is possible to create strucured data types with names (as in Java,C etc) 10:07:52 Show, that's it 10:08:07 what do you mean? 10:08:15 strucured data types with names? 10:08:24 like struct? 10:08:29 'complex' types? 10:08:29 Types with fields that you can access by naming the field 10:08:31 yeah 10:08:53 in scheme (AFAIK) you have to define a method which does the relevant car (cdr (car (car ))) etc 10:09:03 * shapr thinks 10:09:11 I'd bet you can use type classes to do that 10:09:37 instead of implementing == just implement getValue 10:09:39 stuff like that 10:09:53 * shapr tries it 10:10:14 * shapr gets out his book 10:12:30 * shapr turns up the music 10:17:00 * jewel is going to insert a hard disk and reboot (in some order) 10:17:11 --- quit: jewel ("Client Exiting") 10:18:13 hrm 10:18:13 I think I've got most of it 10:18:13 ok, here's what I have so far: 10:18:13 class NamedMethod a where 10:18:13 getX :: a 10:18:13 getY :: a 10:18:13 instance NamedMethod a where 10:18:13 getX (x,y) = x 10:18:13 getY (x,y) = y 10:18:13 but I got the instance part wrong 10:18:13 I think I need to explicitly add certain types to the class NamedMethod 10:18:13 is this what you were asking for? 10:27:00 anybody with a greater clue than I here? 10:27:48 I'd like to create a type class, NamedMethod 10:28:07 I thought I'd have it be a two part tuple, with methods getX and getY 10:28:42 oh 10:29:01 * shapr finds the problem 10:37:26 --- join: jewel (~jleuner@57.66.12.99) joined #haskell 10:37:47 re! 10:38:03 hi 10:38:11 * jewel curses "modern hardware" 10:38:16 it didn't work btw... 10:38:21 I'm not exactly sure why not 10:38:25 what's up with your hardware? 10:38:27 what didn't? 10:38:35 Just hard disks failing 10:38:44 the type class I was trying to whip up 10:38:45 but the issue I have is with how cumbersome the process is 10:39:03 how do you determine white belt status? 10:39:23 I wrote a program that worked ;) 10:39:28 no matter how tiny 10:40:20 * shapr points to Mandelbrot.hs 10:40:20 want me to add you to the list? 10:41:40 sure 10:41:59 But I think your program is more than one that "just works" 10:42:01 --- topic: set to 'Functional Programming, that's the opposite of Dysfunctional Programming (like VB) | we be loggin' http://tunes.org/~nef/logs/haskell/ | welcome to the Haskell Dojo | jewel, julien, and shapr are up to white belt!' by shapr 10:43:22 well, close enough 10:43:43 now if I could just figure out type classes 10:43:46 hmmmm 10:43:50 * shapr reads it again 10:44:14 maybe if I defined a firstItem method on a new type? 10:44:23 oh wait, I could do the foods example 10:47:55 hrm 10:48:55 * jewel tries to work on porting JRVM to classpath 10:49:21 what's JRVM? 10:49:21 ERC>java runtime virtual machine? 10:49:33 oh, classpath is the gnu java lib 10:50:56 * shapr reads the type class bit even more 10:51:18 grrrr 10:51:44 I wish I had a more flexible interactive interpreter for Haskell 10:51:50 maybe I should switch to hugs 10:51:58 jikes research virtual machine 10:52:04 it's a compiler-driver IBM Java VM 10:52:07 driven 10:52:26 wow, sounds nifty 10:52:32 jikes is the best javac I've seen yet 10:53:32 sounds like having a gcj-jit-jvm... or something 10:54:03 You can think of it as a JIT-only VM 10:54:17 But it has dynamic optimising compilers like Hotspot 10:54:22 ok, I can't use a type class to define a method on a complex type.. only a basic type, no synonyms 10:54:48 hm 10:56:46 nice 10:59:47 ok, I don't really know what to do with type classes. 11:01:29 * shapr gives it up and moves on 11:01:49 I think I might be able to do it another way 11:01:55 you're thinking of something like naming a field in an object? 11:02:11 --- part: teek left #haskell 11:02:31 bye teek! 11:02:39 yes 11:02:49 Like pair.first and pair.second 11:03:06 --- join: teek (teemu@k72.viikki.hoasnet.fi) joined #haskell 11:03:30 * shapr thinks 11:03:33 hi teek! 11:04:58 hi shapr, just lurking... doing other things same time ... 11:05:05 hey jewel, have you registered your nick with nickserv? 11:06:05 yes 11:06:08 * shapr puts out anti-lurk pellets ;) 11:06:36 --- quit: teek ("Coffee break") 11:07:05 oh, of course, you're founder of one the channels I hang out on 11:07:09 * shapr tries to remember which one 11:10:07 hm, nickserv won't tell me 11:10:57 lojban? 11:11:28 oh, of course :) 11:11:31 go'i 11:11:45 * shapr duhs 11:16:12 oh oh, maybe I could use an ST monad to save a state 11:16:50 lesse, someone on #haskell once told me that there's a variety of ST monad that expands in size as you put more state into it... 11:44:34 where do I find docs for the ST module? 11:45:04 hm 11:56:41 * shapr plays with input and output 11:56:57 do p <- getLine 11:57:02 putStrLn p 11:57:04 nifty 11:57:40 * shapr skips chapter 13 11:57:45 unlucky ;) 11:58:18 aha 11:58:36 I woner if algebraic types will do what you wanted from an objcet 11:58:39 er, object 12:05:24 --- quit: shapr (carter.openprojects.net irc.openprojects.net) 12:05:49 --- join: shapr (~user@p-c2fbaba8.easy.inet.fi) joined #haskell 12:08:53 wheeee 12:09:09 * shapr plays with algebraic types 12:19:11 --- quit: shapr (carter.openprojects.net irc.openprojects.net) 12:20:02 --- join: shapr (~user@p-c2fbaba8.easy.inet.fi) joined #haskell 12:21:11 * jewel is hungry 12:21:20 time to go zdani 12:25:49 * shapr waves 12:32:23 * shapr finds C-c = in haskell-mode 12:34:12 spiffy 13:04:21 mmm, recursive polymorphic algebraic datatypes 13:22:57 --- quit: shapr (carter.openprojects.net irc.openprojects.net) 13:22:59 --- join: shapr (~user@p-c2fbaba8.easy.inet.fi) joined #haskell 13:23:05 --- quit: shapr ("tribes2") 14:12:56 --- join: kholmes (~kholmes@client513.sedona.net) joined #haskell 14:41:14 --- join: kepler (~kepler@adsl-81-164-136.asm.bellsouth.net) joined #haskell 15:30:49 --- quit: kepler (Remote closed the connection) 15:36:14 --- quit: kholmes (Read error: 113 (No route to host)) 15:48:14 --- join: nodie (~nodie@193-152-220-164.uc.nombres.ttd.es) joined #haskell 15:48:18 hi 15:50:16 --- join: Slashdog (~jadrian@dial-b1-203-95.telepac.pt) joined #haskell 15:50:32 hi 15:50:36 hi 15:50:46 i'm learning haskell 15:50:54 * Slashdog is just passing by today :) 15:50:58 great ;-) 15:51:07 i see haskell in a function programming course in university 15:51:11 but 15:51:17 yes... 15:51:20 i don't see is future 15:51:38 why i must continuing learnig haskell? 15:51:52 eh, not sure if you *must* :-) 15:52:19 this is the cuestion 15:52:27 that's a pretty hard question... lots of discussions about how usefull languages like haskell are, are always happening 15:52:37 but 15:52:44 investigation on haskell is big 15:52:48 why don't you go to the archives of the comp.lang.functional newsgroup 15:52:51 and microsoft is interesting.... 15:52:55 no 15:53:00 news not... 15:53:06 and search for past threads on that 15:53:07 xD 15:53:14 i want 15:53:33 the opinion of someone who is in haskell world today 15:53:57 well... it is pretty powerfull in the expressivness sense 15:53:58 are companies injecting money in haskell investigation? 15:54:40 that is... in a couple of lines you can code a program that would take *much* more code lines in an imperative or OO language 15:54:48 but 15:54:59 i saw big programs in haskell 15:55:04 it's semantics makes it easier to prove correctness of programs 15:55:09 and they look like unreadble! 15:55:35 any language you don't know looks unreadable 15:56:30 you got to learn it to appreciate it ;-) 15:56:49 and I got to go cause I got lots of stuff to do :-) 15:56:53 see ya! 15:56:58 ok 15:57:02 thx 15:57:11 --- part: Slashdog left #haskell 17:05:05 bye 17:12:23 --- quit: pHa ("brb") 17:17:22 --- quit: nodie ("que me levanto a las 8!") 17:20:08 --- join: pHa (sjh@Riverview6.tbaytel.net) joined #haskell 18:01:58 --- join: kepler (~kepler@adsl-81-164-136.asm.bellsouth.net) joined #haskell 21:08:23 --- quit: smkl (Read error: 104 (Connection reset by peer)) 21:08:54 --- join: smkl (~sami@glubimox.yok.utu.fi) joined #haskell 23:15:00 --- quit: jewel (carter.openprojects.net irc.openprojects.net) 23:15:36 --- join: jewel (~jleuner@57.66.12.99) joined #haskell 23:59:59 --- log: ended haskell/02.01.07