00:22:45 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
00:30:54 -!- SimonRC has quit ("charset fiddling").
00:38:52 -!- SimonRC has joined.
00:54:57 -!- {^Raven^} has quit (herbert.freenode.net irc.freenode.net).
01:05:13 -!- {^Raven^} has joined.
01:19:42 -!- Keymaker has left (?).
02:20:24 -!- GregorR has joined.
03:13:38 -!- CXI has quit (Connection reset by peer).
03:14:51 -!- CXI has joined.
03:23:34 -!- Arrogant has joined.
03:48:57 -!- kipple has quit (Read error: 110 (Connection timed out)).
04:59:37 -!- Sgeo has quit.
06:00:36 -!- CXI has quit (Connection timed out).
06:46:18 -!- puzzlet_ has joined.
07:00:35 -!- GregorR has quit (Remote closed the connection).
07:01:23 -!- puzzlet has quit (Connection timed out).
07:03:20 -!- GregorR has joined.
07:05:17 -!- calamari has quit ("Leaving").
07:06:48 -!- GregorR has quit (Remote closed the connection).
07:07:21 -!- GregorR has joined.
07:11:43 <GregorR> The worst part is, I finally got them to turn off the logging, and now the network is crap XD
07:12:47 <Arrogant> There're two concerts I want to go to
07:12:55 <Arrogant> They're within TWO DAYS of each other
07:13:04 <Arrogant> I don't know if my body can survive both.
07:21:20 -!- GregorR has quit (Remote closed the connection).
07:21:25 -!- GregorR has joined.
07:33:00 <GregorR> Looks like Bart123 wasn't satisfied with our implementation of IRP.
07:33:07 <GregorR> GET A GOOD IMPLEMENTATION GOING!
07:42:38 -!- Arrogant has quit ("I AM QUIT HAVE A NICE DAY").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:10 -!- nooga has joined.
09:23:15 -!- nooga has quit.
10:10:51 -!- klutzy has joined.
10:14:33 -!- lirthy has quit (Read error: 104 (Connection reset by peer)).
10:37:33 -!- cmeme has quit ("Client terminated by server").
10:38:05 -!- cmeme has joined.
11:22:21 -!- Keymaker has joined.
11:57:36 -!- jix has joined.
12:09:26 <Keymaker> hey jix, is there specs yet for the new language of yours?
12:10:23 <jix> i have to write an interpreter first because i'm not sure wether my ideas work or not
13:22:24 <jix> it's very difficult to write a lazy interpreter
13:22:40 <jix> maybe i'm going to write a rhotor => haskell translator.. that should be easier
13:22:47 <jix> and faster
13:22:56 <jix> but haskell has a different io system
13:25:51 <fizzie> My god, it's full of monads.
13:26:17 <jix> and i'm using a lazy-k like io system
13:26:35 <fizzie> What did lazy-k have? Lazy infinite input/output lists?
13:29:39 <jix> is it possible to simulate that in haskell?
13:42:43 <fizzie> I don't really know enough about haskell to answer. Perhaps, but maybe not. Probably at least not without having the IO type everywhere.
13:49:40 -!- Keymaker has quit (Read error: 104 (Connection reset by peer)).
13:50:19 -!- Keymaker has joined.
13:53:09 -!- NoneGiven has joined.
13:54:12 -!- {^Raven^} has quit (Read error: 110 (Connection timed out)).
14:36:40 <jix> i just did it
14:36:50 <jix> getContents is your friend
14:37:03 <SimonRC> main = getContents >>= (putstr . runProg)
14:38:00 <SimonRC> < lambdabot> System.IO.interact :: (String -> String) -> IO ()
14:38:41 <jix> NARGH i just wrote interact
14:38:50 <jix> performOnIO:: (String -> String) -> IO ()
14:38:51 <jix> performOnIOtransformation= getContents >>= \ contents ->
14:38:51 <jix> putStr (transformation contents)
14:51:57 -!- Sgeo has joined.
16:05:15 -!- int-e has joined.
16:06:15 <Keymaker> done any brainfuck programs lately?
16:09:08 <SimonRC> either of you know much Haskell?
16:10:12 <SimonRC> You understand what a typeclass is?
16:10:34 <Keymaker> i understand nothing of such languages
16:10:42 <SimonRC> It's just I've found this, which apppears to be a very good idea: http://hackage.haskell.org/trac/ghc/wiki/CollectionClassFramework
16:21:46 <int-e> I'm not sure. The idea is sound, but there are some performance issues - if you write your code in terms of Collections throughout a lot of optimizations that apply to lists do not apply anymore.
16:23:10 <int-e> On the other hand that's an implementation problem (for ghc in that case).
16:37:43 <SimonRC> Shouldn't ghc substitute enough things at compile time to realise that you haven't changed anything?
16:38:25 <SimonRC> Anyway, once the library is distributed with ghc, it can be taught how to optimise it.
16:38:39 <int-e> SimonRC: within a single module, probably. But there are problems with big functions and separate modules
16:38:56 <SimonRC> keep them all together, then.
16:39:09 <SimonRC> maybe re=export them from wrapper modules
16:48:48 <int-e> I think I wouldn't want to use it.
16:51:40 -!- kipple has joined.
17:07:32 <jix> i just executed my first rhotor programm (but i had to parse it by hand)
17:08:43 <jix> my new language
17:09:49 <jix> it was inspired by the rho calculus (i didn't finished reading the article so i don't know wether i implemented the rho calculus or not (i think i didn't)) so i called it rhotor
17:10:12 <jix> only the parser is missing
17:13:18 <jix> i had to transform this x/<s,a/s.s,a><s,a,b/a,a,s<s,b>>,x into this (Function sa (Application (Function (Cons sb sc) (Application sb (Cons sb sc)) Nill) (Cons (Function (Cons sd (Cons se sf)) (Cons se (Cons se (Application sd (Cons sd sf)))) Nill) sa)) Nill) by hand
17:13:54 <jix> and you'll get funny error msgs if you make runtime errors
17:18:22 <SimonRC> use Parsec (I assume you're using Haskell).
17:19:48 <jix> lol i'm reading the parsec doc atm
17:20:59 -!- ihope has joined.
17:21:10 <ihope> New programming language: PF-PR
17:21:36 <ihope> I probably booched and made it Turing-complete, but... oh well.
17:23:48 <ihope> It's the primitive recursive functions, with some modifications.
17:24:24 <ihope> 0 and S are replaced with Z (the empty tape), @, <, >, and ..
17:24:39 <jix> SimonRC: hmm i'd like to use racc instead of parsec but racc is ruby only
17:24:56 <jix> parsec looks very complicated
17:33:56 <jix> i found one
17:34:06 <jix> but my syntax is a very stupid one
17:34:35 <jix> mixed left and right associative... stupid operator precedence... some special cases..
17:34:51 <jix> i could change the syntax to make it look like FxAFCsaAsCsaNCFCsCabCaCaAsCsbNxN
17:35:27 <jix> no that wouldn't work
17:35:30 <jix> it would look like FxEAFCsEaEAsECsEaENCFCsECaEbECaECaEAsECsEbNxEN
17:36:51 -!- calamari has joined.
17:37:04 <jix> moin calamari
17:37:44 <jix> my rhotor interpreter is working.. but i have no parser and still no final syntax...
17:39:28 <SimonRC> jix: you could use a non-derterministic parser, or partially-derterministic.
17:39:43 <jix> non-deterministic?
17:39:50 <jix> some cases undifined?
17:40:11 <jix> no my language has enough undefined cases....
17:41:00 <SimonRC> No, I mean use the <|> operator (or is the <|||> operator) that allows you to backtrack if it goes wrong.
17:45:41 <jix> no i don't want to use parsec
17:45:56 <jix> i think i'm going to write my own dedicated parser
17:47:43 <jix> my current rhotor implementation (no parser) is less than 120 lines of code
17:48:16 <jix> less than 100 *deleted unused code*
17:49:04 <jix> 87 *deleted even more unused code*
17:49:46 <int-e> . o O ( 1 line *deleted more unused code* dangit, it stopped working )
17:50:36 <jix> its going to grow soon
17:53:18 <SimonRC> jix: Haskel programs tend to shrink like that.
17:53:35 <ihope> Make them one-liners!
17:53:54 <jix> :( parsing FxEAFCsEaEAsECsEaENCFCsECaEbECaECaEAsECsEbNxEN would be very easy.. writing it wouldn't
17:55:03 <ihope> At least it's not SLOBOL, where programs take A Long Time to parse.
17:55:40 <SimonRC> jix: well it *is* an esolang
17:56:19 <jix> SimonRC: yes but it's hard enough to write without that syntax
17:58:25 -!- Sgeo has quit.
18:29:44 <ihope> Aah! It's exactly the same here as at #haskell!
18:29:58 * ihope runs away screaming
18:34:09 <calamari> jix: is rhotor your lang? I don't see it on the wiki
18:35:17 <ihope> Hmm. What does "Tczew reprezentowa? Rhotax" mean?
18:35:43 <Keymaker> calamari: it's brand new and under development
18:48:18 <Keymaker> YES!! memory pointer too far left! and i've been only working for hours! yay! i'm happy!
18:48:51 <ihope> Eep! Ack--ooh, argh.
18:50:00 <Keymaker> well, looks like it's time to investigate the program instruction by instruction..
18:50:38 <Keymaker> my brainfuck program has an error somewhere
18:52:46 <ihope> Geh, this computer's booched.
18:57:35 <Keymaker> this debugging is so annoying..
18:57:50 <Keymaker> i almost never get my brainfuck program running as supposed on the first try..
18:58:35 <ihope> I'd suggest writing it in some other language, then porting it to Brainfuck, but that, eh...
18:58:45 <ihope> Probably wouldn't work.
18:59:27 <int-e> hmm? isn't there a basic to brainfuck compiler?
18:59:44 <Keymaker> yes, but it's memory is finite
19:01:42 <Keymaker> what's the point writing brainfuck in another language? that kind of programs have almost zero value in my eyes
19:02:00 <Keymaker> i mean that if someone writes something program in another language and it's just translated to brainfuck
19:02:06 <Keymaker> that wouldn't be a real brainfuck program
19:02:08 <int-e> I agree. Writing a compiler on the other hand ...
19:02:18 <int-e> (a XXX to Brainfuck compiler I mean)
19:02:35 <int-e> that'd be a challenge.
19:03:30 <Keymaker> but the produced programs still would be worthless :)
19:03:55 <int-e> beyond demonstrating that the compiler works.
19:04:32 <int-e> anyway. where would you draw the line? if anyone uses a macro preprocessor, would that still be ok?
19:04:51 <ihope> Murp... blorp... computer games!
19:05:09 <Keymaker> hmm, dunno.. but using that wouldn't be probably quite suitable to many projects
19:05:43 <Keymaker> at least if they are going to be made optimized
19:06:45 <Keymaker> and assume macro preprocessor means like replacing As with ">++["
19:07:39 <int-e> maybe it'd also do stuff like 4+ -> ++++
19:07:39 <Keymaker> in that case i can see no problem if the coder writes the macros, since they are nothing more than just making it less work to type
19:08:30 <Keymaker> hmm, perhaps that kind of simple thing is ok, but not while((cell0 + cell1) > 2)..
19:08:49 <int-e> well. it's a purely hypothetical question for me right now. I'm not planning to write any big brainfuck programs and for a few hundred characters macros will not help, I think.
19:09:02 <calamari> Keymaker: depending on the code, sometimes I find it convenient to replace >>'s with variable names, then change back later
19:09:57 <calamari> my bf debugger lets you run such programs with the variable names
19:10:32 <calamari> for me, that was my biggest source of bugs
19:11:33 <calamari> of course, if it's more complicated code, that doesn't work so well and just gets more confusing
19:13:36 <int-e> if-then-else code tends to get confusing, too.
20:01:22 <Keymaker> although this is only part of the program.. a lot more left..
20:09:17 -!- Keymaker has left (?).
20:40:46 -!- nooga has joined.
20:41:11 * nooga has learned lambda calculus
20:41:18 * nooga is writing scheme interpreter
20:50:32 -!- jix has left (?).
20:50:36 <ihope> Lambda calculus is nice.
21:35:05 -!- NoneGiven has quit (Remote closed the connection).
22:08:37 -!- jix has joined.
22:13:06 -!- Sgeo has joined.
22:54:32 -!- nooga has quit.
22:56:04 -!- fungebob has joined.