00:16:20 -!- ehird has set topic: let awesome channel = channel == Channel { topic = "esoteric programming languages", internationalHub = True, logUrl = "http://tunes.org/~nef/logs/esoteric" } in filter awesome channels -- [#esoteric].
00:17:58 -!- oerjan has set topic: let awesome = (==) Channel { topic = "esoteric programming languages", internationalHub = True, logUrl = "http://tunes.org/~nef/logs/esoteric" } in filter awesome channels -- [#esoteric].
00:18:15 -!- ehird has changed nick to aoesunthsoneuah.
00:19:08 -!- aoesunthsoneuah has set topic: filter (Channel { topic = "esoteric programming languages", internationalHub = True, logUrl = "http://tunes.org/~nef/logs/esoteric" } ==) channels -- [#esoteric].
00:32:12 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:36:55 -!- aoesunthsoneuah has changed nick to ehird.
00:38:24 -!- ehird has quit (Remote closed the connection).
00:42:46 <RodgerTheGreat> ooh, pretty: http://upload.wikimedia.org/wikipedia/commons/3/36/AckermannComplexFig2a.jpg
00:42:47 <oerjan> can't we all just get a LOGN?
00:43:34 <oerjan> BWAHAHA *CACK* *WHEEZE*
00:48:08 <Slereah-> Does pi calculus have some simple, deterministic transformation rules?
00:48:40 <Slereah-> Also does it actually have a way to define the system before defining its behaviour.
00:49:10 <Slereah-> Everything I found assumed that there was already a bunch of agents connected.
00:55:19 <oerjan> well it's definitely non-deterministic
00:56:51 <oerjan> of course there are ways to make systems where there is only one rule that can fire at a time - you can encode lambda calculus in it after all
00:57:28 <oerjan> well one substantial rule
00:58:15 <oerjan> afaiu everything other than sending+receiving a message is reversible
00:58:34 <Slereah-> But what happens if you have something like -a<x>.P'|a(y).Q'|a(y).R'?
00:59:12 <oerjan> definitely non-deterministic, iirc
00:59:30 <oerjan> and if i understand your notation
00:59:58 <Slereah-> It are "P sends x through a, Q and R are open for business"
01:00:19 <oerjan> and all use the channel name a
01:00:45 <oerjan> so yes, either Q or R could receive the x
01:01:49 <Slereah-> I suppose I could just add some arbitrary rule to decide who gets it.
01:02:08 <Slereah-> Like the first agent open for business in the list.
01:05:11 <Slereah-> What about that other thingy, do I have to define the system separately?
01:05:18 <Slereah-> Or can it be expressed with the language itself?
01:06:29 -!- Phenax has joined.
01:08:01 <Slereah-> You know, the little agents and their communication channels.
01:08:17 <Slereah-> In everything I found so far, they're just assumed to exist ex nihilo.
01:08:37 <oerjan> you have just one expression really
01:08:52 <oerjan> which then evolves by applying a rule to it
01:09:49 <oerjan> so agents will be separated by |'s i assume
01:09:49 <Slereah-> Most things in pi calculus focus on what it's supposed to mean, not too much on the rules.
01:11:51 <Slereah-> Any way to create agents apart from the !P = P|!P ?
01:12:26 <oerjan> that's the only way to get duplication iirc
01:12:43 <Slereah-> That's a challenge right there.
01:14:29 <oerjan> unlimited duplication that is
01:15:43 <oerjan> a(y).(Q|Q) could be used to get two identical processes, say
01:16:59 <oerjan> anyway i don't know much more than the basic definitions for pi-calculus
01:18:07 <Slereah-> Problem is, pi calculus is like the less popular brother of lambda calculus.
01:18:13 <Slereah-> It are hard to find good ressources.
01:21:33 <Slereah-> And right now, I'm trying to find a way to fit it in some awesome language.
01:36:20 -!- oerjan has quit ("Good night").
02:20:30 -!- Tritonio_ has quit (Remote closed the connection).
02:48:42 -!- Corun has quit ("This computer has gone to sleep").
03:31:30 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)).
03:31:40 -!- Slereah_ has joined.
03:33:35 -!- Slereah- has joined.
03:50:33 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
05:20:28 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
05:30:59 -!- Sgeo has quit ("Ex-Chat").
07:27:21 -!- Judofyr has joined.
07:33:35 -!- Slereah- has quit (Read error: 110 (Connection timed out)).
07:35:15 -!- olsner has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:09 -!- olsner has quit ("Leaving").
09:03:17 -!- Corun has joined.
09:05:34 -!- Judofyr_ has joined.
09:05:41 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
09:09:51 -!- Iskr has joined.
09:36:07 -!- Corun has quit ("This computer has gone to sleep").
10:03:19 -!- Corun has joined.
10:34:46 -!- jix has joined.
10:37:44 -!- Corun has quit ("This computer has gone to sleep").
11:00:18 -!- Corun has joined.
11:27:55 -!- Tritonio has joined.
12:10:41 -!- timotiis has joined.
12:47:53 -!- ehird has joined.
12:47:58 <ehird> um, ais523-log-reading:
12:48:07 <ehird> pikhq has given away your identity on the agora lists..
12:48:12 <ehird> if I recall correctly you don't like that
12:48:21 <ehird> I guess it can be passed off as a name coincidence
12:48:26 <ehird> it's not like 'Alex Smith' is particularly unique
12:58:30 -!- Tritonio has quit (Remote closed the connection).
13:21:34 -!- Sgeo has joined.
13:51:15 <Sgeo> THIS, MY GOOD SIR, IS THE YEAR FUTURE
13:52:31 <Sgeo> http://pixelcomic.net/
13:53:30 <ehird> Sgeo: 'ELLIOTT' GOD DAMNIT
13:54:01 <Sgeo> I FIGURE THAT OUT EVENTUALLY BUT DIDN"T KNOW IF CORRECTING IT WAS WORTH IT SORRY DIDN"T REALIZE YOU"D APPRECIATE THE CORRECTION
14:07:32 <ehird> Sgeo: I just founded InconsisteNomic
14:07:33 <ehird> <ehird> 1. Rule 2 is false.
14:07:33 <ehird> <ehird> 2. Rule 1 is false.
14:07:33 <ehird> <ehird> 3. This is a nomic.
14:07:52 <ehird> (FUN FACT: not actually inconsistent)
14:23:13 -!- lifthrasiir has joined.
14:29:17 -!- RedDak has joined.
14:31:48 * Sgeo has a final today
14:31:54 <Sgeo> SQL and database normalization
14:45:31 -!- Slereah_ has joined.
14:46:07 <oklofok> Slereah_: i hear your doing pi!
14:47:10 <Slereah_> I swear, I didn't know she was only twelve!
14:47:34 <oklofok> i haven't done a 12-year-old in ages :<
14:48:12 <Slereah_> Do you happen to have that tutorial that was posted here some time ago?
14:48:44 <oklofok> do you remember anything about the link?
14:49:00 <oklofok> erm, what's some time ago?
14:49:22 <Slereah_> I dunno. Maybe a month or two.
14:49:32 <Slereah_> I tried searching the logs with "pi calculus"
14:49:38 <Slereah_> But the google, they do nothing
14:50:24 <oklofok> i found wikipedia's explanation about it sufficient iirc
14:50:57 <Slereah_> It has no rules for !P, just an equivalence.
14:51:05 <Slereah_> So I'm not too sure how to proceed with it
14:51:24 <oklofok> it's ages since i touched pi
14:51:37 <Slereah_> !P means that you can has copies of P.
14:51:38 <oklofok> (bsmntbombdood said it was hard so i had to learn it)
14:51:48 <oklofok> hmmm, i'll look at an page
14:52:08 <Sgeo> I probably should get ready to leave at some point
14:52:11 <Sgeo> If I miss my bus..
14:58:11 <oklofok> indeed, it doesn't seem to really explain !
14:58:36 <Slereah_> I just have no idea how to do something to compute it.
14:59:30 <oklofok> !x(y).P == x(y).P | !x(y).P.
15:00:42 <oklofok> it seems just that when you have the head !x(y) for some process, it doesn't ever get to the tail, just gives x(y) forever
15:01:23 <oklofok> and because you can't have ! as a value, it seems to me like P could just as well be 0
15:01:24 <Slereah_> How do you stop the recursion at some point then?
15:01:33 <oklofok> umm, don't send it anything?
15:01:57 <oklofok> it will just receive as long as someone is sending something
15:02:02 <oklofok> i mean, if i get this right
15:02:18 <oklofok> i'm basing this on !x(y).P == x(y).P | !x(y).P
15:03:02 <oklofok> when something is sent to a process with that as a tail
15:03:32 <oklofok> it is a special receiver that, when sent something to, continues to its tail, but makes a copy of itself before that
15:03:44 <oklofok> so basically, you do the duplication only when something is sent to you
15:04:25 <Slereah_> Though I'd like to find something with the set of rules well explained
15:06:12 <oklofok> well yeah, i'm not sure what exactly happens to names when you duplicate etc
15:06:29 <oklofok> i assume the new copy gets its own namespace, because if not, it would make noesnse
15:06:58 <Slereah_> Is the big book of pie worth buying?
15:07:57 <Slereah_> http://www.amazon.com/exec/obidos/ISBN=0521658691/portlandpatternrA/
15:08:50 -!- ehird has quit (Remote closed the connection).
15:10:28 <oklofok> i need to leave, nightwatchmanship starts in a few hours
15:11:55 <oklofok> there's so much great stuff on amazon
15:12:17 <oklofok> if only i was FUCKING RICH
15:35:04 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
15:56:05 -!- oklofok has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
16:04:16 -!- Tritonio has joined.
16:09:13 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
16:09:31 -!- RedDak has joined.
16:20:00 -!- RedDak has quit (Read error: 113 (No route to host)).
16:29:23 -!- RedDak has joined.
16:43:14 -!- dak has joined.
16:48:17 -!- dak has quit (Client Quit).
16:48:32 -!- dak has joined.
16:51:13 -!- Deewiant has quit ("Viivan loppu.").
17:02:34 -!- RedDak has quit (Read error: 110 (Connection timed out)).
17:02:57 -!- Deewiant has joined.
17:17:30 -!- Corun has quit ("This computer has gone to sleep").
18:48:46 -!- dak has quit (Remote closed the connection).
18:53:09 -!- ehird has joined.
18:53:54 -!- ehird has quit (Client Quit).
18:57:38 -!- ehird has joined.
18:57:42 <ehird> I am trying out stumpwm, indeed.
19:00:15 <ehird> lament: oh no what
19:00:43 -!- Judofyr has joined.
19:01:50 <ehird> lament: what's wrong with stumpwm
19:01:56 <ehird> oh, I guess you don't like emacs
19:01:57 <ehird> so it would follow
19:01:59 <lament> i dunno, never tried it
19:11:40 -!- Tritonio has quit (Remote closed the connection).
19:11:51 -!- jix has quit (Nick collision from services.).
19:12:08 -!- jix has joined.
19:12:16 -!- ehird has quit ("Lost terminal").
19:20:27 -!- Judofyr_ has quit (Connection timed out).
19:27:12 -!- RedDak has joined.
19:28:35 -!- ehird has joined.
19:47:29 -!- olsner has joined.
19:47:56 -!- RedDak has quit (Remote closed the connection).
19:55:40 -!- Deewiant has quit ("= Viivan loppu.").
19:56:14 -!- Deewiant has joined.
20:35:29 <ehird> Luciano Bello discovered that the random number generator in Debian's openssl package is predictable. This is caused by an incorrect Debian-specific change to the openssl package (CVE-2008-0166). As a result, cryptographic key material may be guessable.
20:47:12 -!- Sgeo[College] has joined.
20:53:39 -!- timotiis_ has joined.
20:56:24 <Deewiant> ehird: the patch in question: http://svn.debian.org/viewsvn/pkg-openssl/openssl/trunk/rand/md_rand.c?rev=141&view=diff&r1=141&r2=140&p1=openssl/trunk/rand/md_rand.c&p2=/openssl/trunk/rand/md_rand.c
21:06:25 -!- timotiis has quit (Read error: 110 (Connection timed out)).
21:09:10 -!- timotiis_ has changed nick to timotiis.
21:10:32 -!- Tritonio has joined.
22:03:55 -!- oerjan has joined.
22:20:36 -!- Iskr has quit ("Leaving").
22:32:48 -!- oklopol has joined.
22:37:45 -!- Sgeo[College] has quit ("http://www.mibbit.com ajax IRC Client").
23:03:49 -!- olsner has quit ("Leaving").
23:55:31 <GregorR> I feel like I'm right on the cusp of figuring out a way to arrange abstractions such that code written with no concurrency in mind could be massively concurrent, but every time I get closer to the solution I find a problem, the fix to which causes things to become serial again :(
23:56:10 <ehird> Zooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom
23:56:16 <ehird> GregorR: You want to go purely functional for that.
23:56:19 <ehird> It's the only way to have it reliable.
23:56:32 <GregorR> Well, that's the OBVIOUS solution.
23:56:36 <GregorR> I don't want the obvious solution :P
23:56:54 <GregorR> I want the "average moron X who doesn't know what a monad is could write concurrent code" solution.
23:57:13 <ehird> GregorR: Maintaining a system like that sounds scary
23:57:40 <GregorR> I don't think I'm going to come to a clean solution, so this isn't going to go anywhere, but it's an interesting thought experiment :P
23:58:18 <GregorR> Unfortunately, I keep ending up needing to maintain data dependencies in such a way that either everything turns serial or marking dependencies reduces to the halting problem.
23:58:48 <ehird> GregorR: I am afraid I think it's impossible
23:59:10 <GregorR> I don't think it is either.
23:59:12 -!- Corun has joined.
23:59:18 <GregorR> But that doesn't make it any less interesting of a thought experiment.
23:59:28 <ehird> I think about the halting problem allll day