←2007-02-07 2007-02-08 2007-02-09→ ↑2007 ↑all
00:00:55 -!- sebbu2 has quit ("@+").
00:02:52 <SevenInchBread> hmmm.... egobot could use a Thue interpreter.
00:02:55 * SevenInchBread makes one.
00:02:59 <SevenInchBread> !help
00:24:47 -!- ShadowHntr has quit (Client Quit).
00:40:56 -!- pikhq has quit (Read error: 110 (Connection timed out)).
01:01:53 <ihope_> *Writing* a Thue interpreter?
01:01:58 <ihope_> Surely there already is one.
01:02:03 <ihope_> And besides, Thubi's better :-p
01:02:10 <ihope_> s/p/P/
01:17:51 <SevenInchBread> yes well... Thue interpreters take all of ten minutes. :)
01:18:04 <SevenInchBread> but I've already been diverted to a fungeoid of my own.
01:18:30 <SevenInchBread> I feel dirty though... because I'm using C-style arrays in Python to represent the program.
01:18:35 <ihope_> Gasp!
01:18:38 <ihope_> Is that a bad thing?
01:18:46 <SevenInchBread> Not really.
01:19:07 <SevenInchBread> It fits the task... fairly well... and I'm assuming it's faster (being a direct wrapper over C stuff)
01:21:23 <bsmntbombdood> I wonder if there's a straightforward way to compile lambda calculus into C
01:22:05 <bsmntbombdood> or SKI
01:22:11 <SevenInchBread> This is a pretty neat language so far... I'll reveal it once I'm done with the interpreter.
01:22:53 <ihope_> bsmntbombdood: 'course there is.
01:22:56 <ihope_> I mean, well.
01:23:04 <ihope_> Uh...
01:23:16 <bsmntbombdood> like...
01:23:18 <ihope_> Well, you need closures.
01:23:26 <ihope_> You need a way to represent trees in C.
01:23:42 <ihope_> Find me one of those, then we'll talk.
01:24:22 <bsmntbombdood> tree as in sexp?
01:25:46 <bsmntbombdood> that's easy, struct { void* right, left}
01:26:35 <SevenInchBread> yup.
01:30:02 <bsmntbombdood> ihope_: ...
01:30:43 <ihope_> That's a tree with either S or K at each leaf?
01:31:01 <bsmntbombdood> sure
01:31:17 <bsmntbombdood> no
01:31:38 <bsmntbombdood> struct leaf {leaf *right, left; int func; }
01:31:59 <bsmntbombdood> that's a tree with either S or K at each leaf
01:33:46 <bsmntbombdood> so....
01:34:10 <bsmntbombdood> I don't need an actual implementation, just how to do it...
01:36:43 <ihope_> Well, lemme think.
01:36:58 <ihope_> C doesn't have first-class functions, does it?
01:37:11 <bsmntbombdood> yeah it does
01:37:18 <ihope_> It does?
01:37:22 <bsmntbombdood> yeah
01:37:51 <ihope_> Well, I guess you still have the issue of closures.
01:38:04 <ihope_> Unless C supports currying more nicely.
01:38:33 <bsmntbombdood> assume it does have closures
01:38:52 <ihope_> Assume what has closures?
01:38:55 <bsmntbombdood> C
01:38:58 <ihope_> Assume C has currying, you mean?
01:39:08 <bsmntbombdood> sure
01:39:28 <ihope_> Should we go so far as to assume C is lazy?
01:39:32 <bsmntbombdood> no
01:39:45 <ihope_> Okay, lemme think...
01:40:29 * ihope_ ponders thunks
01:41:34 <ihope_> ~exec s = lambda x: lambda y: lambda z: lambda: x(z)(y(z))(); k = lambda x: lambda y: lambda: x(); sys.stdout(s(k)(3)(4))
01:41:34 <bsmnt_bot> <function <lambda> at 0xb7cabbfc>
01:42:28 <ihope_> ~exec s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x(); sys.stdout(s(k)()(3)()(4)())
01:42:37 <ihope_> Not callable?
01:42:41 <ihope_> ~exec s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x(); sys.stdout(s(k)()(k)()(4)())
01:42:48 <ihope_> Mmh.
01:42:57 <ihope_> ~exec s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x(); sys.stdout(s(k)()(k)()(self.raw)())
01:43:09 <ihope_> Um.
01:43:15 <ihope_> ~exec s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x(); sys.stdout(s(k)()(k)()(lambda: 3)())
01:43:16 <bsmnt_bot> 3
01:43:19 <ihope_> There we go.
01:43:31 <ihope_> ~exec s = lambda x: lambda y: lambda z: lambda: x(z)(y(z))(); k = lambda x: lambda y: lambda: x(); sys.stdout(s(k)(3)(lambda: 4))
01:43:31 <bsmnt_bot> <function <lambda> at 0xb7cabbfc>
01:43:35 <ihope_> Yeah.
01:43:53 <ihope_> So take the one that worked and translate that into C.
01:44:03 <bsmntbombdood> those extra lambdas are for lazyness?
01:44:07 <ihope_> Yep.
01:44:33 <ihope_> I think I managed to do it better once before, but oh well...
01:44:42 <ihope_> ...actually, lemme see here.
01:44:50 <ihope_> ~exec s = lambda x: lambda y: lambda z: lambda: x(z)(y(z))(); k = lambda x: lambda y: lambda: x(); sys.stdout(s(k)(3)(lambda: 4)())
01:44:59 <ihope_> ~exec s = lambda x: lambda y: lambda z: lambda: x(z)(y(z))(); k = lambda x: lambda y: lambda: x(); sys.stdout(s(k)(lambda: 3)(lambda: 4)())
01:45:09 <ihope_> Yeah.
01:45:16 <ihope_> Go with the one that worked.
01:45:26 <bsmntbombdood> s = lambda x: lambda y: lambda z: lambda: x(z)(y(z))(); k = lambda x: lambda y: lambda: x();
01:45:29 <bsmntbombdood> that?
01:49:03 <ihope_> Yep.
01:49:12 <ihope_> No, not that.
01:49:18 <ihope_> The one that returned 3.
01:49:50 <ihope_> Actually...
01:49:54 <bsmntbombdood> s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x();
01:49:57 <bsmntbombdood> ?
01:50:06 <ihope_> Yes, that ridiculity.
01:51:24 <bsmntbombdood> damnit
01:51:26 <bsmntbombdood> error: ‘func_t’ declared as function returning a function
01:53:21 <ihope_> Darn different notations for all this stuff.
01:54:16 -!- oklopol has quit (Success).
01:54:21 <bsmntbombdood> ok, i'm lost
01:54:27 <ihope_> I'm confusing myself.
01:54:46 <ihope_> Then again, I've been doing it all wrong, surely.
01:55:31 -!- oklopol has joined.
01:55:40 <ihope_> ~exec s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x(); sys.stdout(s(s(k)()(k)())()(s(k)()(k)())()(lambda x: lambda: 3))
01:55:40 <bsmnt_bot> <function <lambda> at 0xb7cabcdc>
01:55:46 <ihope_> ~exec s = lambda x: lambda: lambda y: lambda: lambda z: lambda: x(z)()(y(z)())(); k = lambda x: lambda: lambda y: lambda: x(); sys.stdout(s(s(k)()(k)())()(s(k)()(k)())()(lambda x: lambda: 3)())
01:56:04 * ihope_ makes a funny face
01:56:15 <ihope_> See? I'm confused.
01:57:19 <ihope_> C is not what I'd call the best programming language in the world.
01:57:33 <ihope_> I have not yet seen anything I can call the best programming language in the world.
01:58:00 <ihope_> Well, okay, *maybe* Z-notation.
01:58:06 <bsmntbombdood> what's that
01:58:33 <ihope_> A program description language, I think.
01:58:44 <ihope_> Catch you later. It's suddenly bedtime, as they say.
02:00:35 -!- ihope_ has quit (Read error: 131 (Connection reset by peer)).
02:06:50 <bsmntbombdood> ok...i've got delays working
02:07:50 <bsmntbombdood> only...27 lines of code
02:12:01 -!- calamari has quit ("Leaving").
02:14:32 <bsmntbombdood> actually...i don't think i need ti
02:18:25 <SimonRC> Heh, my lecturer has mucked up "respectively" in the homework.
02:19:02 <SimonRC> He askes us to give a refutation if the clause is satisfiable and a satisfying assignment if it isn't.
02:41:24 <bsmntbombdood> ...
02:49:57 -!- oklopol has quit (Read error: 110 (Connection timed out)).
02:53:49 <SimonRC> bsmntbombdood: it should be the other way round.
03:16:36 -!- oklopol has joined.
03:32:21 -!- ShadowHntr has joined.
04:09:40 -!- SevenInchBread has quit (Read error: 113 (No route to host)).
05:11:42 -!- GreaseMonkey has joined.
05:30:29 -!- Arrogant has joined.
05:43:39 -!- Sgeo has quit ("Leaving").
06:42:26 -!- oklofok has joined.
06:42:34 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
06:57:14 -!- ShadowHntr has quit ("End of line.").
07:01:43 -!- oklopol has joined.
07:02:40 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
07:03:32 -!- sebbu has joined.
07:24:31 -!- oklofok has joined.
07:25:19 -!- oklopol has quit (Read error: 110 (Connection timed out)).
07:25:20 <SimonRC> :-S
07:28:07 <Arrogant> #esosleeping
07:33:24 <GreaseMonkey> you shoulda joined that and saw who came on :D
07:34:31 <SimonRC> :-S
07:38:21 <Arrogant> Nah.
07:40:19 <GreaseMonkey> you don't live up to your name then
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:48 <GreaseMonkey> gonna go, cya
08:18:05 -!- GreaseMonkey has quit ("buy viagra buy xanax buy... [VIRUS REMOVED]").
08:28:54 * SimonRC goes
08:32:59 -!- RodgerTheGreat has quit.
08:33:32 -!- RodgerTheGreat has joined.
08:41:27 -!- oklofok has quit (Read error: 110 (Connection timed out)).
08:47:30 -!- oklopol has joined.
09:22:33 -!- wooby has joined.
09:32:51 -!- oerjan has joined.
10:13:54 -!- wooby has quit.
10:37:13 -!- Arrogant has quit ("Leaving").
11:08:59 -!- jix has joined.
11:42:18 -!- oerjan has quit ("leaving").
11:57:56 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
12:33:44 -!- helios24 has quit (Read error: 110 (Connection timed out)).
12:45:48 -!- jix has joined.
13:03:23 -!- sebbu2 has joined.
13:07:34 -!- kxspxr has joined.
13:10:48 -!- sebbu has quit (Read error: 60 (Operation timed out)).
13:12:09 -!- kxspxr has quit (Client Quit).
13:16:20 -!- kxspxr has joined.
13:22:10 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
13:32:25 -!- kxspxr has left (?).
13:53:36 -!- helios24 has joined.
13:58:35 -!- kxspxr has joined.
16:09:27 -!- sebbu2 has changed nick to sebbu.
16:16:44 -!- helios24 has quit ("Leaving").
16:19:38 -!- FabioNET has joined.
17:06:02 -!- tgwizard has joined.
17:58:00 <oklopol> <bsmntbombdood> that's easy, struct { void* right, left}
17:58:20 <oklopol> you probably mean struct { void *right, *left}
18:04:40 -!- nazgjunk has joined.
18:14:22 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
18:14:42 -!- nazgjunk has joined.
19:07:42 -!- sebbu2 has joined.
19:08:41 -!- FabioNET has quit ("A domani...").
19:15:39 -!- digital_me has joined.
19:16:53 -!- FabioNET has joined.
19:26:47 -!- sebbu has quit (Read error: 110 (Connection timed out)).
19:31:39 <bsmntbombdood> oklopol: yeah, that's what i mean
19:40:06 <oklopol> You are lying. struct { void *right, *left; }; is what you meant
19:41:29 <SimonRC> ug
19:42:13 <oklopol> rar
19:44:14 <bsmntbombdood> graf
19:53:52 -!- oerjan has joined.
20:26:35 <SimonRC> hi
20:26:45 <oerjan> ho
20:30:27 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
20:30:47 -!- fush has joined.
20:31:03 -!- fush has changed nick to nazgjunk.
21:07:44 -!- Arrogant has joined.
21:34:11 -!- Sgeo has joined.
21:38:55 -!- GregorR has quit (Nick collision from services.).
21:59:44 -!- FabioNET has quit ("A domani...").
22:17:51 -!- sebbu has joined.
22:26:22 -!- coredmp has joined.
22:28:11 -!- Arrogant has quit (Read error: 54 (Connection reset by peer)).
22:28:37 -!- coredmp has left (?).
22:29:23 -!- tgwizard has quit (Remote closed the connection).
22:34:09 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
22:39:50 -!- sebbu has quit (Client Quit).
22:48:14 -!- fruitbag has joined.
22:49:18 <oerjan> hm?
22:50:06 <lament> yes! hm!
22:50:34 <bsmntbombdood> foo
22:51:36 <oerjan> ~exec sys.stdout("bar")
22:51:36 <bsmnt_bot> bar
22:52:42 <bsmnt_bot> baz
22:53:17 <bsmnt_bot> qux
22:57:11 <fruitbag> I have two great names if I am ever to do my own programming languages.
22:57:24 <fruitbag> Either the Baggage programming language, or Turing.
22:57:30 <bsmntbombdood> lame
22:57:47 <oerjan> I believe Turing is already taken, don't know about Baggage
22:57:52 -!- ShadowHntr has joined.
22:58:14 <oerjan> BTW don't you mean Babbage?
22:58:18 <lament> Turing would be ridiculously confusing
22:58:29 <bsmntbombdood> yeah
22:58:40 <lament> since you have to call the language used to programs turing machines something...
22:59:12 <fruitbag> Ooops
22:59:14 <fruitbag> Yes, oerjan.
22:59:16 <fruitbag> Babbage
22:59:19 <fruitbag> What a stupid mistake...
22:59:28 <fruitbag> I knew the spelling, but that was a slip.
22:59:57 <fruitbag> bsmntbombdood: why lame?
23:00:41 <bsmntbombdood> bwxcauce
23:03:55 <oerjan> Hey, the Babbage language almost exists and is esoteric :)
23:04:06 <fruitbag> It does, oerjan?
23:04:07 <fruitbag> How so?
23:04:30 <oerjan> http://www.tlc-systems.com/babbage.htm
23:05:57 <lament> of course, once again, babbage is a confusing name
23:06:11 <lament> since you have to call the language used to program the analytic engine somehow
23:06:28 <oerjan> No, that is Ada.
23:06:30 <lament> it doesn't have a name
23:06:55 <fruitbag> Man... esoteric.
23:07:15 <fruitbag> What's the most interesting esoteric programming language you pople have used?
23:08:02 <lament> i'm not a pople :(
23:08:56 <fruitbag> People * ;w
23:09:10 <lament> hard to say what's the most interesting
23:09:13 <fruitbag> Unlambda looks interesting.
23:09:26 <oklopol> i wrote quicksort in english yesterday
23:09:32 <oklopol> that was quite esoteric
23:09:34 <oerjan> well, i like Unlambda, obviously
23:09:35 <lament> different langs are interesting for very different reasons
23:11:00 <lament> eg smetana is interesting because it seems so completely pointless; and wireworld is interesting because there's a pretty computer implemented it in; and unlambda is interesting because it eats your brain; and jot is interesting because every number is a valid program.....
23:11:36 <oklopol> i think wireworld was more interesting before the computer to be honest
23:11:43 <oklopol> i used to play with it before that :<
23:11:48 <fruitbag> ```s``s``sii`ki : `k.*``s``s`ks : ``s`k`s`ks``s`ks``s`k`s`kr``s`k`sikk : `k``a`ksk
23:12:00 <fruitbag> ^ print Fib numbers
23:12:15 <oklopol> !fds ```s``s``sii`ki : `k.*``s``s`ks : ``s`k`s`ks``s`ks``s`k`s`kr``s`k`sikk : `k``a`ksk
23:12:17 <fruitbag> Unlambda is great.
23:12:19 <oklopol> make it! :P
23:12:54 <oklopol> what has been done with unlambda?
23:12:57 <oklopol> everything?
23:13:12 <oklopol> that's the most complex i've seen or heard about :\
23:13:13 <lament> and fugue is interesting because it's in music notation, and irp is interesting because it's so silly, and befunge is interesting because it's so pretty yet fairly easy to use, and kayak is interesting because it's so... quantum :)
23:13:39 <oerjan> What, you haven't seen any of the Unlambda self-interpreters?
23:13:41 <lament> and thue is interesting because it eats your brain very gently
23:13:52 <oklopol> oerjan nope
23:14:15 <fruitbag> For the mathematician, Unlambda may be interesting.
23:14:51 <lament> for a mathematician, lazy-k would probably be preferrable to unlambda.
23:14:52 <oklopol> the mathematician on ork?
23:14:56 <oklopol> *in
23:15:10 <oerjan> Mine is at http://oerjan.nvg.org/esoteric/interpreter.unl
23:15:43 <lament> i find unlambda UNinteresting because it's too difficult.
23:15:45 <bsmntbombdood> oerjan: lol
23:16:10 <bsmntbombdood> I don't understand unlambda
23:16:19 <oklopol> you should put the functions in place or?
23:16:25 <oklopol> is it just like that?
23:16:35 <oerjan> Huh?
23:16:40 <oklopol> hmm
23:16:43 <oklopol> nm :=)
23:17:18 <fruitbag> lament: difficult is interesting.
23:17:20 <oklopol> whitespace makes no difference there right?
23:17:21 <fruitbag> I disagree.
23:17:26 <fruitbag> Whatever is difficult is more interesting....
23:17:32 <fruitbag> That's what I've found out.
23:17:43 <lament> oerjan: wow, you actually wrote that by hand?
23:18:00 <oklopol> oh, forgot to say, oerjan, that's fucking sick :\
23:18:12 <fruitbag> You people should code in Intercal
23:18:18 <fruitbag> Intercal!
23:18:18 <lament> fruitbag: why?
23:18:31 <fruitbag> lament: great stuff.
23:18:48 <lament> ookay
23:18:49 <oerjan> Yep :)
23:19:07 <oerjan> I have coded in Intercal. An Unlambda interpreter :D
23:19:14 <lament> oerjan: not bad, i don't think many people do taht
23:20:19 <fruitbag> I have an interesting on an esoteric programming language...
23:20:22 <oerjan> http://oerjan.nvg.org/esoteric/intercal/
23:20:32 <fruitbag> What about a programming language based on electronic circuits?
23:20:49 <bsmntbombdood> it's called VHDL
23:20:52 <bsmntbombdood> :P
23:21:39 <lament> oerjan: oh, heh, i remember looking at one, years ago
23:21:45 <lament> oerjan: *at that one
23:22:23 <lament> nice use of PLEASE statements
23:22:35 <oerjan> Why thank you.
23:23:18 <fruitbag> If I were ever to do a programming language, I'd call it `Ramanujan'.
23:23:57 <lament> If I were ever to do a programming language, I'd call it "Your pants".
23:24:30 <lament> "I'm an expert in your pants"
23:24:45 <lament> "Now take this code and re-write it in your pants"
23:26:15 <oerjan> Heh, a search for "Ramanujan programming language" instead leads to the Unlambda page
23:30:19 <fruitbag> Well, good tlaking here.
23:30:22 <fruitbag> Later for now...
23:31:31 -!- digital_me_ has joined.
23:31:41 <lament> oh no! it's me, but digital!
23:32:13 * lament examines how few bits they digitized me to
23:33:17 <lament> jesus christ, no wonder audiophiles prefer vinyl.
23:34:59 <oklopol> oh please tell us
23:41:44 -!- fruitbag has left (?).
←2007-02-07 2007-02-08 2007-02-09→ ↑2007 ↑all