00:00:55 -!- sebbu2 has quit ("@+").
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: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: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: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: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:30:43 <ihope_> That's a tree with either S or K at each leaf?
01:34:10 <bsmntbombdood> I don't need an actual implementation, just how to do it...
01:36:58 <ihope_> C doesn't have first-class functions, does it?
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:52 <ihope_> Assume what has closures?
01:38:58 <ihope_> Assume C has currying, you mean?
01:39:28 <ihope_> Should we go so far as to assume C is lazy?
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: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: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: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: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: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:53 <ihope_> So take the one that worked and translate that into C.
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: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:49:18 <ihope_> The one that returned 3.
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: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: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: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: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: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:12:01 -!- calamari has quit ("Leaving").
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: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:33:24 <GreaseMonkey> you shoulda joined that and saw who came on :D
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:05 -!- GreaseMonkey has quit ("buy viagra buy xanax buy... [VIRUS REMOVED]").
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:40:06 <oklopol> You are lying. struct { void *right, *left; }; is what you meant
19:53:52 -!- oerjan has joined.
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:51:36 <oerjan> ~exec sys.stdout("bar")
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: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:40 <lament> since you have to call the language used to programs turing machines something...
22:59:28 <fruitbag> I knew the spelling, but that was a slip.
23:03:55 <oerjan> Hey, the Babbage language almost exists and is esoteric :)
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:30 <lament> it doesn't have a name
23:07:15 <fruitbag> What's the most interesting esoteric programming language you pople have used?
23:09:10 <lament> hard to say what's the most interesting
23:09:26 <oklopol> i wrote quicksort in english yesterday
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: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:54 <oklopol> what has been done with unlambda?
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: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: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:16:19 <oklopol> you should put the functions in place or?
23:17:18 <fruitbag> lament: difficult is interesting.
23:17:20 <oklopol> whitespace makes no difference there right?
23:17:26 <fruitbag> Whatever is difficult is more interesting....
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: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:21:39 <lament> oerjan: oh, heh, i remember looking at one, years ago
23:22:23 <lament> nice use of PLEASE statements
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: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:41:44 -!- fruitbag has left (?).