←2006-01-27 2006-01-28 2006-01-29→ ↑2006 ↑all
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:42:16 <SimonRC> no shift needed
00:42:22 <SimonRC> erm, oops
00:42:24 * SimonRC goes to bed.
00:54:57 -!- {^Raven^} has quit (herbert.freenode.net irc.freenode.net).
01:05:13 -!- {^Raven^} has joined.
01:19:40 <Keymaker> good night
01:19:42 -!- Keymaker has left (?).
02:20:24 -!- GregorR has joined.
02:33:06 <calamari> hi
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:07:29 <GregorR> GAAAAAAAAAAAAR
07:07:33 <GregorR> Stupid connection >_<
07:10:46 <Arrogant> Break its face.
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:39 <Arrogant> ><
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:12:59 <Arrogant> Both are metal.
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:02 <GregorR> WE NEED TO BUCK UP!
07:33:07 <GregorR> GET A GOOD IMPLEMENTATION GOING!
07:33:10 <GregorR> COME ON, GUYS!
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.
08:02:17 <nooga> hi
08:03:10 <puzzlet_> hello
08:54:44 <nooga> hm
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:22:28 <Keymaker> hello
11:57:36 -!- jix has joined.
12:09:26 <Keymaker> hey jix, is there specs yet for the new language of yours?
12:10:07 <jix> no
12:10:13 <Keymaker> ok
12:10:23 <jix> i have to write an interpreter first because i'm not sure wether my ideas work or not
12:10:29 <Keymaker> ah
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:10 <jix> yep
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:28:27 <jix> yes
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:35:04 <SimonRC> hello
14:35:12 <Keymaker> hi
14:36:23 <SimonRC> jix: it is possible
14:36:36 <jix> i know
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:37:07 <SimonRC> tada!
14:37:17 <SimonRC> (see also: interact)
14:38:00 <SimonRC> < lambdabot> System.IO.interact :: (String -> String) -> IO ()
14:38:06 <SimonRC> (from #haskell)
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.
14:56:27 <SimonRC> hi
16:05:15 -!- int-e has joined.
16:05:43 <Keymaker> hi int-e
16:05:51 <int-e> hi
16:06:00 <SimonRC> hi
16:06:15 <Keymaker> done any brainfuck programs lately?
16:06:21 <SimonRC> me? no
16:06:27 <Keymaker> i meant int:)
16:07:39 <int-e> no.
16:07:57 <Keymaker> ok
16:09:08 <SimonRC> either of you know much Haskell?
16:09:24 <int-e> how much?
16:10:12 <SimonRC> You understand what a typeclass is?
16:10:34 <Keymaker> i understand nothing of such languages
16:10:38 <int-e> I believe I do.
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.
16:55:57 <SimonRC> hi
17:07:32 <jix> i just executed my first rhotor programm (but i had to parse it by hand)
17:08:36 <SimonRC> "rhotor"?
17:08:43 <jix> my new language
17:08:51 <Keymaker> nice name
17:09:02 <Keymaker> does it mean anything?
17:09:10 <SimonRC> describe...
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:03 <Keymaker> ok
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:14 <ihope> *BF-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:22 <SimonRC> nha, it's simple to use
17:33:32 <SimonRC> find a tutorial
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:36:57 <calamari> hi
17:37:04 <jix> moin calamari
17:37:18 <calamari> hi jix, how are you
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:41:31 <jix> try () ?
17:42:36 <SimonRC> maybe that
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:28:39 * SimonRC goes.
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:37:01 <calamari> cool
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:20 <ihope> Wait, what?
18:50:38 <Keymaker> my brainfuck program has an error somewhere
18:50:47 <ihope> Ah.
18:52:13 <calamari> whatcha writing?
18:52:20 <Keymaker> surprise :)
18:52:28 <Keymaker> you'll see when it's done
18:52:30 <calamari> hehe
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:11 <Keymaker> that'd be stupid
18:59:20 <Keymaker> lame,
18:59:27 <int-e> hmm? isn't there a basic to brainfuck compiler?
18:59:28 <Keymaker> and very hard in this case
18:59:44 <Keymaker> yes, but it's memory is finite
18:59:47 <Keymaker> etc..
18:59:59 <Keymaker> and i don't want to
19:00:02 <Keymaker> that's the main reason
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:02:41 <Keymaker> yeah
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:14 <Keymaker> i mean brainfuck projects
19:05:43 <Keymaker> at least if they are going to be made optimized
19:05:49 <Keymaker> and elegant
19:06:45 <Keymaker> and assume macro preprocessor means like replacing As with ">++["
19:06:49 <Keymaker> *and I
19:06:55 <Keymaker> right?
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:28 <Keymaker> ok
19:09:47 <Keymaker> int-e: yeah
19:09:57 <calamari> my bf debugger lets you run such programs with the variable names
19:10:08 <Keymaker> ah
19:10:32 <calamari> for me, that was my biggest source of bugs
19:10:42 <calamari> if I had one too many >'s
19:11:33 <calamari> of course, if it's more complicated code, that doesn't work so well and just gets more confusing
19:11:45 <calamari> for example [>>]
19:12:07 <Keymaker> yeah
19:12:14 <int-e> >[>]+<[-<]
19:13:36 <int-e> if-then-else code tends to get confusing, too.
19:14:04 <Keymaker> yeah
19:58:43 <Keymaker> ha! works now
20:01:22 <Keymaker> although this is only part of the program.. a lot more left..
20:09:14 <Keymaker> bbl, maybe
20:09:17 -!- Keymaker has left (?).
20:40:46 -!- nooga has joined.
20:40:54 <nooga> hi
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.
20:51:32 <nooga> yea
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.
←2006-01-27 2006-01-28 2006-01-29→ ↑2006 ↑all