←2008-06-04 2008-06-05 2008-06-06→ ↑2008 ↑all
00:05:41 -!- olsner has quit ("Leaving").
00:17:07 -!- Slereah has joined.
00:23:58 <Slereah> Can a function name in Scheme be anything?
00:33:38 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
00:34:44 -!- Slereah- has quit (Read error: 110 (Connection timed out)).
00:40:31 -!- timotiis has quit (Read error: 110 (Connection timed out)).
00:41:21 -!- Slereah has joined.
00:41:37 <Slereah> So, can you name Scheme functions to anything?
00:42:04 <tusho> Slereah: what
00:42:16 <tusho> you can name them valid symbol names
00:42:18 <tusho> which are .. pretty lenient
00:42:29 <tusho> +--++++++*%%3434 is a valid symbol, for instance
00:42:36 <Slereah> Even with already defined functions?
00:42:39 <Slereah> Or numbers?
00:42:47 <tusho> Slereah: 34 is not a valid symbol, no.
00:42:51 <Slereah> Oh.
00:42:55 <tusho> And yes, already defined functions, it just overrides them.
00:43:06 <tusho> 34a is not a valid symbol either (starts with a number) but a lot of implementations accept it
00:43:20 <Slereah> I was hoping of doing a small library of numbers for conveniance purpose.
00:43:29 <Slereah> Like 4 = s(s(s(s(0))))
00:43:33 <Slereah> Stuff like that
00:43:42 <tusho> Slereah: Well ... You could use '4'
00:43:54 <tusho> but I assume SICP is maeking you do the church?
00:43:57 <tusho> How about N4?
00:43:58 <tusho> Or..
00:44:04 <Slereah> No, it's not for SICP
00:44:07 <tusho> (N 4) -> (S (S (S (S N0))))
00:44:11 <Slereah> It's for der le Limp
00:44:20 <tusho> Slereah: how about:
00:44:38 <Slereah> I was hoping of doing a pretty much straightforward translation for the function definition part
00:44:44 <tusho> (define (N n) (if (zero? n) N0 (S (N (- 1 n)))))
00:44:53 <tusho> Slereah: with S=succ and N0=duh
00:45:07 <Slereah> I guess i could just check if something starts with a number and add some symbol to make it acceptable.
00:45:18 <tusho> Slereah: Eww.
00:45:19 <tusho> No!
00:45:25 <tusho> I dunno what you're doing but it sounds bad
00:45:41 <tusho> Have you read SICP, Slereah?
00:45:48 <tusho> I suggest reading it all the way through. It has tons of interpreters and compilers.
00:45:50 <tusho> Of scheme itself!
00:45:54 <tusho> They will help you a lot.
00:46:05 <Slereah> Well, problem is, it dwells a lot on stuff i already know.
00:46:18 <tusho> Slereah: Well, fine. But it pays to read through.
00:46:21 <tusho> It has lots of helpful scheme things
00:46:32 <Slereah> Well, I don't need that much scheme.
00:46:39 <Slereah> Just enough for mah esolang.
00:46:52 <Slereah> Although I'm not sure how much the pi part would require.
00:47:02 <Slereah> I still have no idea how to exactly implement it
00:47:11 <tusho> Slereah: Read through SICP. Srsly.
00:47:45 <Slereah> I dunno. I usually prefer to poke around a language and read up when something doesn't feel right.
00:49:14 <Slereah> Fuck is my internet shitty nowadays.
00:50:54 <tusho> Slereah: yah, well, that's exactly what'll get you writing shitty scheme
00:51:58 <Slereah> Would I really need that much for an esolang?
00:52:21 <Slereah> I mean, the Lazy K interpreter is less than ten lines long.
00:53:14 -!- uvanta has quit ("P").
00:53:56 <tusho> Slereah: Maybe not but you'll be much happier if you write nicer code.
00:54:02 <tusho> Scheme is quite a paradigm shift.
00:54:08 <tusho> Slereah: What scheme are you using?
00:54:14 <tusho> I suggest PLT Scheme most heartily.
00:54:18 <tusho> And the DrScheme editor it comes with.
00:54:24 <tusho> It does all that naffy indentation for you.
00:54:45 <Slereah> I don't use any scheme right now.
00:54:45 <Slereah> I am conceptualizing!
00:55:11 <tusho> :P
00:55:34 <Slereah> Mostly conceptualizing something on Python to compile it to Scheme
00:55:40 <tusho> Slereah: No!
00:55:47 <tusho> Scheme is a functional language (mostly) unlike Python
00:55:56 <tusho> translating python->scheme is pointless, and you might as well not use scheme
00:56:01 <tusho> It's a totally different paradigm
00:56:02 <Slereah> I'm not
00:56:09 <Slereah> i'm translating Limp to Scheme
00:56:14 <Slereah> Using python.
00:56:15 <tusho> ah, I see
00:56:17 <tusho> Slereah: that's a bit silly
00:56:21 <tusho> why not limp->scheme using scheme?
00:56:26 <tusho> sicp contains compilers in scheme
00:56:26 <Slereah> Python is the only language I sort of know how to parse with
00:56:36 <tusho> Slereah: Sick pee! Sick pee! Sick pee!
00:56:42 <Slereah> Ew.
00:57:14 <Slereah> Can you feed a function as an argument, outside of lambdas?
00:57:23 <tusho> Slereah: of course
00:57:27 <tusho> Code is data. Data is code.
00:57:33 <tusho> Slereah: Want a sekrit?
00:57:38 <tusho> (define (foo bar baz) quux)
00:57:39 <tusho> is
00:57:43 <Slereah> Is it "read SICP"?
00:57:43 <tusho> (define foo (lambda (bar baz) quux))
00:57:58 <tusho> Slereah: no, it's ^^that^^
00:58:30 <Slereah> ('cause I'm trying to write in the function)
00:58:43 <Slereah> Though I'm not too sure how to do the y thing though.
00:58:59 <Slereah> How do I... exctract the arguments of a function?
00:59:30 <tusho> Slereah: explain?
00:59:32 <tusho> You mean like
00:59:33 <tusho> (a b c d e)
00:59:35 <tusho> and a gets
00:59:38 <tusho> (b c d e)?
00:59:45 <Slereah> Well, works like this :
01:00:18 <Slereah> y ( f (x, y, z, ...)) gives you back the least value of y such that f = 0
01:00:43 <tusho> Slereah: Oh. Wait, is the 'y' in the function's arglist the 'y' in the u thing?
01:00:56 <Slereah> Yes.
01:01:07 <Slereah> has two arguments : the function, and one of its argument
01:01:19 <tusho> Slereah: So wait
01:01:19 <tusho> in
01:01:23 <tusho> mu_y(f(x,y,z,...))
01:01:27 <tusho> it extracts the arglists y?
01:02:06 <Slereah> It will use the function f over all values of y.
01:02:13 <Slereah> Until it finds a 0.
01:02:21 <tusho> Slereah: What.
01:02:27 <tusho> So like
01:02:29 <tusho> mu(f)
01:02:31 <tusho> -> f(ANYTHING)
01:02:34 <tusho> until f(THING) = 0
01:02:35 <tusho> and it returns THING?
01:02:49 <Slereah> Technically, I think that most of the time, there will only be one argument for it to be valid.
01:03:00 <Slereah> But I can see scenarios where more than one would happen.
01:03:14 <tusho> Slereah: Well, first, how are you going to generate ANYTHING?
01:03:17 <tusho> Do you want every integer?
01:03:22 <tusho> You can't just scheme to give you 'something'.
01:03:27 <tusho> That would be pretty vague
01:03:28 <Slereah> What?
01:03:36 <tusho> <tusho> mu(f)
01:03:36 <tusho> <tusho> -> f(ANYTHING)
01:03:40 <tusho> you can't pluck ANYTHING out of thing air
01:03:45 <tusho> you can feed it f(0),f(1) etc
01:03:49 <tusho> or f(a),f(ab),f(abc)
01:03:55 <tusho> but you can't just generate stuff the function wants
01:04:10 <Slereah> I'm not sure I follow your example.
01:04:44 <tusho> Slereah: What does mu(f) do.
01:04:56 <Slereah> It would work like this : (y f) would feed 0 as y to f.
01:05:06 <Slereah> If f(0) = 0, it returns 0.
01:05:11 <Slereah> Else, it feeds it 1.
01:05:15 <Slereah> And so on.
01:05:46 <tusho> Slereah: OK. So integers.
01:05:50 <Slereah> Yes.
01:05:52 <tusho> Something like:
01:05:56 <tusho> wait
01:05:59 <tusho> Slereah: What is 'y' in that case
01:06:02 <Slereah> Since it's recursive, there's only integers.
01:06:10 <Slereah> Well, f is a function of n variables
01:06:15 <Slereah> And y is one of them.
01:06:34 <tusho> Slereah: Lol wut
01:06:38 <tusho> Can't it just be
01:06:43 <tusho> u(f) = if f(0) = 0, 0
01:06:45 <tusho> otherwise 1
01:06:45 <tusho> etc
01:06:57 <Slereah> Well, it could have more than one argument.
01:07:16 <tusho> Slereah: How about ignoring the more-than-one argument aspect for now?
01:07:17 <Slereah> I don't see that happening often, but there's easy scenarios for it.
01:07:54 <tusho> (define (mu' f n) (if (zero? (f n)) 0 (+ 1 (mu f (+ n 1)))))
01:07:58 <tusho> (define (mu f) (mu' f 0))
01:08:03 <tusho> Slereah: Pretty trivial to understand, right?
01:08:04 <Slereah> For instance, y (p(1,2)(y,z))
01:08:13 <Slereah> Well, the function itself isn't the hard part
01:08:29 <Slereah> It's how to implement the multiple argument par
01:08:29 <Slereah> t
01:09:10 <tusho> Slereah: Ok.
01:09:17 <tusho> Slereah: Protip.
01:09:26 <tusho> (define (f . args) args is a list of my argumenst!! omg!!)
01:09:34 <tusho> (define (f a . args) args is a list of my argumenst, less the first one!! omg!!)
01:09:41 <tusho> Slereah: Protip 2.
01:09:46 <tusho> (apply f '(1 2 3)) => (f 1 2 3)
01:10:03 <tusho> Slereah: I believe you can do what you want with my mu and that.
01:10:51 <Slereah> I am not too sure about this.
01:11:13 <Slereah> Since the defition of doesn't contain the definition of f.
01:11:24 <tusho> Slereah: Shall I show you it?
01:11:27 <tusho> Slereah: Wait, so:
01:11:31 <tusho> (mu f a b)
01:11:32 <tusho> ->
01:11:34 <tusho> (f a b 0)
01:11:35 <tusho> (f a b 1)
01:11:36 <tusho> (f a b 2)
01:11:37 <tusho> etc?
01:12:28 <Slereah> What are a and b?
01:12:38 <Slereah> And that third variable over integers.
01:13:18 <tusho> Slereah: a and b are anything
01:13:35 <tusho> (mu f 1 2)
01:13:37 <tusho> -> (f 1 2 0)
01:13:38 <tusho> -> (f 1 2 1)
01:13:39 <tusho> -> (f 1 2 2)
01:13:40 <tusho> etc
01:13:49 <Slereah> But... mu f returns an integer, not a function
01:14:04 <tusho> Slereah: Scheme is not curries
01:14:05 <tusho> *curried
01:14:09 <Slereah> ...
01:14:13 <Slereah> What does it mean then?
01:14:24 <Slereah> Oh yes, multiple variables
01:14:34 <tusho> REVOLUTIONARY
01:14:52 <Slereah> Indeed.
01:15:19 <tusho> Slereah: I'm going now, have fun
01:15:21 <tusho> read my above stuff
01:15:24 <tusho> it tells you all you need
01:15:27 <tusho> bye for today :)
01:15:28 <Slereah> i hope so.
01:15:29 <Slereah> Bye
01:15:49 -!- tusho has quit (Remote closed the connection).
01:22:06 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
01:22:12 -!- Slereah has joined.
01:49:27 <augur> ya hello
01:53:46 <ihope> Porque ya se había hecho tan rico.
01:54:54 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
01:57:49 <augur> spanish is an esolang :(
01:58:51 <ihope> You mean it's difficult, or you just don't know it?
01:59:19 -!- bsmntbombdood_ has joined.
01:59:43 -!- bsmntbombdood has quit (Nick collision from services.).
01:59:47 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
02:12:32 <augur> i mean its ugly and horrible and evil ;)
02:13:39 <augur> pero entiende un poco porque trabajo a el apple store en miami y tengo muchos colombian customers
02:13:41 <augur> or something. lol
02:16:34 <augur> well, worked, not work, but i dont know spanish well enough to be able to conjugate :D
02:16:42 <augur> its just an ugly language i thing.
02:44:46 -!- Slereah has joined.
02:45:49 -!- Corun has quit ("This computer has gone to sleep").
02:49:21 -!- ihope_ has joined.
02:57:00 -!- Nocta has joined.
03:03:38 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
03:04:00 -!- Asztal has joined.
03:06:33 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
03:06:54 -!- Asztal has joined.
03:10:44 -!- fizzie2 has quit (leguin.freenode.net irc.freenode.net).
03:10:44 -!- Slereah has quit (leguin.freenode.net irc.freenode.net).
03:10:44 -!- ihope has quit (leguin.freenode.net irc.freenode.net).
03:10:45 -!- Nocta^ has quit (leguin.freenode.net irc.freenode.net).
03:10:57 -!- fizzie2 has joined.
03:11:34 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
03:11:39 -!- cmeme has joined.
03:12:15 -!- Asztal has joined.
03:12:29 -!- cmeme has quit (Client Quit).
03:12:40 -!- cmeme has joined.
03:17:50 -!- cmeme has quit.
03:18:01 -!- cmeme has joined.
03:23:11 -!- cmeme has quit.
03:23:22 -!- cmeme has joined.
03:28:33 -!- cmeme has quit.
03:28:43 -!- cmeme has joined.
03:33:54 -!- cmeme has quit.
03:34:05 -!- cmeme has joined.
03:34:24 -!- cherez has quit (Read error: 110 (Connection timed out)).
03:39:15 -!- cmeme has quit.
03:39:26 -!- cmeme has joined.
03:44:36 -!- cmeme has quit.
03:44:47 -!- cmeme has joined.
03:44:59 -!- cherez has joined.
03:49:57 -!- cmeme has quit.
03:50:08 -!- cmeme has joined.
03:55:19 -!- cmeme has quit.
03:55:29 -!- cmeme has joined.
04:00:40 -!- cmeme has quit.
04:00:51 -!- cmeme has joined.
04:06:01 -!- cmeme has quit.
04:06:12 -!- cmeme has joined.
04:11:22 -!- cmeme has quit.
04:11:33 -!- cmeme has joined.
04:16:43 -!- cmeme has quit.
04:16:55 -!- cmeme has joined.
04:22:05 -!- cmeme has quit.
04:22:15 -!- cmeme has joined.
04:27:26 -!- cmeme has quit.
04:27:37 -!- cmeme has joined.
04:32:47 -!- cmeme has quit.
04:32:58 -!- cmeme has joined.
04:38:08 -!- cmeme has quit.
04:38:19 -!- cmeme has joined.
04:43:30 -!- cmeme has quit.
04:43:40 -!- cmeme has joined.
04:48:51 -!- cmeme has quit.
04:49:02 -!- cmeme has joined.
04:50:49 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:54:12 -!- cmeme has quit.
04:54:23 -!- cmeme has joined.
04:55:21 -!- cherez has joined.
04:59:34 -!- cmeme has quit.
04:59:44 -!- cmeme has joined.
05:04:54 -!- cmeme has quit.
05:05:05 -!- cmeme has joined.
05:10:16 -!- cmeme has quit.
05:10:26 -!- cmeme has joined.
05:15:37 -!- cmeme has quit.
05:15:49 -!- cmeme has joined.
05:20:58 -!- cmeme has quit.
05:21:09 -!- cmeme has joined.
05:25:39 -!- sekhmet has changed nick to sekhmet_.
05:25:51 -!- sekhmet_ has changed nick to sekhmet.
05:26:20 -!- cmeme has quit.
05:26:30 -!- cmeme has joined.
05:31:41 -!- cmeme has quit.
05:31:51 -!- cmeme has joined.
05:37:02 -!- cmeme has quit.
05:37:12 -!- cmeme has joined.
05:42:23 -!- cmeme has quit.
05:42:34 -!- cmeme has joined.
05:47:44 -!- cmeme has quit.
05:47:55 -!- cmeme has joined.
05:53:05 -!- cmeme has quit.
05:53:16 -!- cmeme has joined.
05:55:11 <lament> cmeme
05:55:14 <lament> you are not cool
05:55:29 <lament> i like you no more!
05:55:55 <lament> augur: you're in miami and you haven't learned spanish yet?
05:55:58 <sekhmet> There was some guy on openbsd-misc who was asking about mp3 concatenation programs because he liked to run a cronjob to change IPs every single minute, yet he wanted to listen to web radio
05:56:06 <augur> no no
05:56:10 <augur> i live in fort lauderdale
05:56:10 <lament> sekhmet: LOL
05:56:12 <sekhmet> So that THEY couldn't track him
05:56:15 <augur> i worked in Aventura
05:56:19 <sekhmet> Perhaps cmeme is related
05:56:21 <augur> which is in north miami-dade county
05:56:24 <sekhmet> Sec, I'll try to dig up the link
05:56:29 <sekhmet> It was... bizarre.
05:57:47 <sekhmet> Ah yes, there it is!
05:57:47 <sekhmet> http://marc.info/?l=openbsd-misc&m=115298981814514&w=2
05:57:52 <sekhmet> I recommend the whole thread
05:58:26 -!- cmeme has quit.
05:58:37 -!- cmeme has joined.
06:00:54 <lament> so
06:00:55 <lament> like
06:00:59 <lament> do we kick cmeme?
06:01:13 <lament> i actually have no idea whom to ask when cmeme misbehaves
06:01:19 <lament> i don't know if nef is still in charge
06:02:18 <lament> on which note
06:02:41 <lament> once again i ask if there's any objection to having the irseek bot log this place too
06:02:55 <lament> and if there is
06:03:00 <lament> i'll ban whoever objects :P
06:03:48 -!- cmeme has quit.
06:03:58 -!- cmeme has joined.
06:06:59 -!- GreaseMonkey has joined.
06:09:09 -!- cmeme has quit.
06:09:19 -!- cmeme has joined.
06:14:30 -!- cmeme has quit.
06:14:41 -!- cmeme has joined.
06:19:51 -!- cmeme has quit.
06:20:02 -!- cmeme has joined.
06:25:12 -!- cmeme has quit.
06:25:23 -!- cmeme has joined.
06:30:33 -!- cmeme has quit.
06:30:44 -!- cmeme has joined.
06:35:54 -!- cmeme has quit.
06:36:05 -!- cmeme has joined.
06:41:16 -!- cmeme has quit.
06:41:26 -!- cmeme has joined.
06:46:37 -!- cmeme has quit.
06:46:47 -!- cmeme has joined.
06:51:58 -!- cmeme has quit (Connection reset by peer).
06:52:09 -!- cmeme has joined.
06:56:51 -!- ChanServ has set channel mode: +o lament.
06:57:04 -!- lament has set channel mode: +b *!*n=cmeme@*.b9.com.
06:57:19 -!- cmeme has quit (Client Quit).
06:57:46 <lament> now the question is, how do we get it back
06:58:27 -!- lament has set channel mode: -o lament.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:40:14 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
09:40:38 -!- Judofyr has joined.
09:54:13 -!- Hiato has joined.
10:30:06 -!- GreaseMonkey has quit ("Unisex.").
11:00:02 -!- Slereah- has joined.
11:42:16 -!- timotiis has joined.
11:49:37 -!- Slereah2 has joined.
11:57:02 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
12:08:47 -!- Judofyr_ has joined.
12:08:49 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
12:13:41 -!- Slereah- has quit (Read error: 110 (Connection timed out)).
12:16:14 -!- Judofyr_ has changed nick to Judofyr.
12:57:42 -!- Slereah3 has joined.
12:57:42 -!- Slereah2 has quit (Read error: 104 (Connection reset by peer)).
12:57:48 <Slereah3> Fuuuuuuck
12:59:07 -!- Corun has joined.
13:04:58 * Slereah3 buys "Communicating and Mobile Systems: the Pi-Calculus"
13:08:51 -!- Slereah3 has quit (Read error: 104 (Connection reset by peer)).
14:01:08 -!- Slereah4 has joined.
14:01:14 <Slereah4> KHAAAAAAAAAAAAAAAAAAAAN!
14:29:17 -!- cherez1 has joined.
14:29:30 -!- cherez has quit (Read error: 110 (Connection timed out)).
14:52:45 -!- Hiato has joined.
15:08:05 -!- pikhq has joined.
15:08:51 <pikhq> 'Lo, *.
15:09:46 <Slereah4> Hai
15:10:31 * pikhq waves at everyone. . . But this time from Boston, rather than from Colorado Springs.
15:10:35 <pikhq> (wheee!)
15:15:49 <oklopol> Slereah4: that's also on my list of books to buy
15:17:20 <Slereah4> It will arrive here in a week or so.
15:24:58 -!- cherez1 has changed nick to cherez.
15:26:37 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
15:27:47 -!- Corun has joined.
15:34:26 <Slereah4> "He emphasizes that interactive behavior is best represented by a non-deterministic automaton which cannot be equated (behaviourally) with a deterministic automaton."
15:34:33 <Slereah4> That doesn't sound good.
15:35:55 <pikhq> Huh?
15:36:05 <pikhq> Is that *supposed* to be meaningful?
15:36:42 <Slereah4> I'll have to wait for the book to find out!
15:36:55 <Slereah4> Fuck, the science forum of Amazon is lame
15:37:02 <Slereah4> It's 99% creationism threads.
15:37:42 -!- timotiis has quit (Read error: 110 (Connection timed out)).
15:44:31 -!- augur has quit (Read error: 110 (Connection timed out)).
15:55:33 <Slereah4> ...
15:55:43 <Slereah4> I ordered it from some store named "Quartermelon".
15:55:45 <Slereah4> Heh.
16:01:01 <Slereah4> It seems that all reviews think that this book is awesome
16:01:13 <Slereah4> All four of them.
16:08:12 -!- tusho has joined.
16:08:25 <tusho> I am trying the console first. :P
16:08:46 <Slereah4> The PLAYSTATION?
16:10:22 <tusho> No, the non-X11.
16:11:21 <tusho> also
16:11:22 <tusho> cmeme is a logbot.
16:11:24 <tusho> the ircbrowse.com one
16:11:57 <Slereah4> Oh.
16:12:27 <tusho> and
16:12:34 <tusho> lament: OBJECT to irseek
16:13:33 -!- tusho has quit ("X11?!").
16:27:57 -!- tusho has joined.
16:28:33 <Slereah4> Hello, TUSHY
16:28:40 <tusho> Hello, SLERRY
16:28:57 <Slereah4> Meh. It doesn't mean butt.
16:29:05 <tusho> ~xXx luv tushykins xXx~
16:29:25 <tusho> hmm, that is one downside to this nick Slereah4
16:29:46 <Slereah4> Well, the previous Slereah are still on this server.
16:29:57 <Slereah4> Why doesn't this server have ghost-handling?
16:30:03 <tusho> Slereah4: It does.
16:30:08 <tusho> /ns ghost FOO password
16:30:44 -!- Slereah4 has changed nick to Slereah.
16:30:53 <Slereah> My name is not FOO >:|
16:31:20 <tusho> WRONG
16:45:38 -!- Corun has quit ("This computer has gone to sleep").
16:46:12 <Slereah> After the one hour of back story in the first movie, I hope the new Batman will be two hours of pure Batman.
17:00:13 -!- Corun has joined.
17:05:54 <tusho> .
17:06:50 <Slereah> The first part of Batman Begin is so full of leather noise.
17:06:57 <Slereah> It sounds like a BDSM porno.
17:15:20 <tusho> Slereah: Well.
17:20:04 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
17:20:40 -!- Judofyr has joined.
17:26:43 -!- Corun has quit ("This computer has gone to sleep").
17:35:27 -!- jix has joined.
18:00:40 -!- Hiato has quit ("Leaving.").
18:03:00 -!- timotiis has joined.
18:05:51 -!- augur has joined.
18:06:02 <augur> oklopollll
18:06:27 -!- ihope_ has quit (Read error: 104 (Connection reset by peer)).
18:10:16 <oklopol> cool
18:12:39 -!- jix has quit ("CommandQ").
18:13:06 -!- jix has joined.
18:13:27 <augur> hey
18:13:39 <oklopol> yes
18:13:50 <tusho> no
18:14:04 <oklopol> what?
18:15:12 <tusho> maybe#
18:15:23 <augur> oklopol, wanna help design the language? :B
18:15:50 <oklopol> i want to design everything.
18:16:00 <oklopol> ...what language?
18:16:00 <augur> hahahahaha
18:16:22 <augur> the language im hypothesizing in proglangdesign which rhamphoryncus completely misses the point of
18:16:44 <Slereah> What would that language be?
18:17:06 <augur> well its nothing amazing right now just a few ideas that i'd like to toy with
18:17:20 <oklopol> (which x) had a nice declarative feel to it
18:17:25 <augur> namely quantification, maybe wh-phrase things, and such
18:17:27 <oklopol> i have a similar construct in muture
18:17:35 <oklopol> \x
18:17:42 <augur> really? i figured (which x) was rather functional
18:17:47 <oklopol> "the element of x that fits here"
18:18:17 <augur> (which x is y) is practically (filter fn xs)
18:18:19 <oklopol> well it's not really functional iiuc
18:18:29 -!- kar8nga has joined.
18:19:04 <oklopol> (cond (which x))
18:19:05 <oklopol> where cond can be anything
18:19:11 <oklopol> that returns a bool
18:19:33 <oklopol> shouldn't this return true if for some element in x (cond lement)?
18:19:36 <oklopol> *element
18:19:48 <oklopol> or was that just a syntactic thing?
18:19:59 <tusho> oklopol: muture?!
18:19:59 <augur> eh?
18:20:18 <augur> you're right, that's a better example
18:20:20 <oklopol> this kind of semantics for where isn't really functional, because it isn't "context-sensitive"... semantically
18:20:36 <oklopol> tusho: muture is one of my declarative langs
18:20:57 <tusho> oklopol: how many langs do you have again
18:21:11 <oklopol> well 5 in active processing
18:21:11 <augur> even? (which Integers) => [...,-4,-2,0,2,4,...]
18:21:21 <augur> but i suppose thats just the same as (even Integers)
18:21:27 <oklopol> but as i rarely finish my languages, i have lots.
18:21:39 <oklopol> for instance cise was never finished
18:21:51 <oklopol> but will prolly continue once i get my codes from my old machine
18:21:52 <augur> the idea of which i guess was more to allow it to stand in for a single item in non-predicative places
18:22:21 <oklopol> yes, but it's clearly of declarative nature
18:22:30 <oklopol> because you cannot evaluate it without knowing where it is
18:22:38 <augur> what?
18:22:46 <oklopol> well
18:22:53 <augur> its not declarative at all.
18:22:56 <oklopol> (which List) doesn't yield a result as such
18:23:07 <augur> (which foo).bar == 0
18:23:09 <augur> is equivalent to
18:23:22 <oklopol> hmm
18:23:28 <augur> first foo (\x -> x.bar == 0)
18:23:54 <augur> thats another notation i've been considering
18:23:56 <augur> something like
18:24:10 <augur> foo[i] | foo[i].bar == 0
18:24:26 <oklopol> (which (range 0 1000)) * (which (range 0 1000)) == 90
18:24:29 <oklopol> declarative prime check
18:24:42 <augur> yeah that could be declarative.
18:24:56 <augur> a lot of this stuff is vaguely constraint-like
18:25:02 <augur> like list comprehensions
18:25:14 <oklopol> it's a declarative construct. you can limit it to cases where you can optimize it to direct functional stuff, though, which you did earlier.
18:25:28 <oklopol> but the construct itself is inherently declarative
18:25:41 <augur> [(x,y) | x <- [0...1000], y <- [0...1000], x*y == 90]
18:25:44 <augur> in haskell talk
18:26:24 <augur> yeah i guess it is declarative, ok.
18:26:50 <augur> regardless
18:27:51 <augur> the idea is more that the (which ...) constructor would be interpreted as a search on the argument
18:28:06 <augur> so that
18:28:15 <augur> (which foo).bar == 1
18:28:18 <augur> would be equivalent to
18:28:46 <augur> if( foo[0].bar == 1 ){ foo[0].bar; } else if( foo[1].bar == 1 ){ foo[1].bar' } ...
18:29:34 -!- timotiis has quit (Read error: 110 (Connection timed out)).
18:31:02 <augur> tho i think i'd expand it to include more than one container
18:31:13 <augur> which foo, bar, baz: ...
18:31:37 <augur> which would be akin to list comprehensions i guess.
18:31:41 <tusho> oklopol: we should collaborate on a language
18:31:42 <tusho> the world would explode
18:31:51 <augur> i would love to see the result :)
18:32:02 <augur> it better be interesting, not another boring clone of existing languages
18:32:15 <tusho> of course
18:32:18 <tusho> I think of impossible things
18:32:22 <augur> oh?
18:32:25 <augur> do tel
18:33:17 <tusho> and oklopol thinks of impossible things that turn out to be possibe
18:33:17 <tusho> *possible
18:33:19 <tusho> oklopol: idea - how about every expression returns infinite results
18:33:47 <oklopol> might be interesting to make a language where all computation is directed towards checking whether the program will halt
18:33:57 <tusho> oklopol: yes!
18:34:11 <tusho> and that the actual halting function, since its a tc language, returns infinite {T,F,T,F,T,...}
18:35:27 <augur> oh god... :P
18:36:16 <oklopol> hmm
18:37:33 <tusho> oklopol: i think we're onto something
18:37:34 <tusho> oklopol: hmm
18:37:36 <tusho> every expression is a filter over the set of everything
18:37:40 <tusho> oklopol: yes?
18:38:01 <oklopol> :)
18:38:03 <oklopol> yes!
18:38:12 <oklopol> not what's the language where you loop by quinin?
18:38:14 <oklopol> g
18:38:19 <oklopol> *noq
18:38:22 <oklopol> *now
18:38:28 <oklopol> a*
18:41:25 <tusho> back
18:41:32 <tusho> oklopol: not sure what it's called
18:41:41 <tusho> however... our ideas combined ... are PAPTAIN CLAMET
18:43:26 <pikhq> I officially hate IRAF.
18:44:38 <oklopol> ah it was muriel.
18:45:27 <tusho> pikhq: I hate iraq too! Dems enemies of our FREEDOM!
18:45:59 <pikhq> tusho: IRAF is a scientific program with a painful, *painful* install process.
18:46:09 <pikhq> It's *installation manual* has 18 pages.
18:46:20 <tusho> pikhq: Yeah, installing our troops was painful. But it was for FREEDOM!
18:46:30 <pikhq> And, no, they don't use autotools.
18:46:45 <tusho> Autotools? Is that some terrorist weppon?
18:46:55 <pikhq> No, it's a hippy thing.
18:47:13 <tusho> Why can't we just nuke those darn hippie commies?
18:47:31 <oklopol> let's kill them
18:47:35 <oklopol> all.
18:47:41 <pikhq> You know, "Hey, man! Could you run 'cd weed&&./configure&&make&&make install'? I need some, man..."
18:48:33 -!- kar8nga has left (?).
18:48:59 <Slereah> What's "True" in Scheme?
18:49:02 <Slereah> T or 1?
18:49:08 <Slereah> Or something else?
18:49:09 <tusho> Slereah: #t
18:49:12 <tusho> #t, #f
18:49:13 <Slereah> 'kay
18:49:19 <tusho> Slereah: And, well, anything that isn't #f is true.
18:49:21 <tusho> And #f is not '().
18:49:25 <tusho> And 'NIL is not '() or #f.
18:49:32 <tusho> Lisp unifies those, for some reason
18:52:22 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
18:52:31 -!- Slereah4 has joined.
18:52:31 -!- Slereah4 has changed nick to Slereah.
18:52:49 <Slereah> [19:51:17] <Slereah> Would with one variable be (define ( f y) (cond ((= (f y) 0) y) ( #t ( f (+ y 1))))) ?
18:52:49 <Slereah> [19:51:55] * Disconnected
18:53:30 <Slereah> Used in the context of ( f 0).
18:54:18 <tusho> Slereah: Fyi, you could just use (if cond then else).
18:55:13 <tusho> Slereah: but ys
18:55:14 <tusho> *yes
19:01:44 -!- Hiato has joined.
19:04:00 -!- Slereah4 has joined.
19:04:13 <Slereah4> >:|
19:04:21 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
19:04:33 -!- Slereah4 has changed nick to Slereah.
19:06:02 <Slereah> Hm.
19:06:22 <Slereah> Thinking about it, there's actually very simple scenarios for the on many variables
19:06:31 <Slereah> And that might be used.
19:06:36 <Slereah> Like x * y
19:07:14 <Slereah> I do need that shit.
19:07:40 <tusho> <tusho> Slereah: Fyi, you could just use (if cond then else).
19:07:41 <tusho> <tusho> Slereah: but ys
19:07:41 <tusho> <tusho> *yes
19:07:49 <tusho> Slereah: get this right first
19:07:55 <tusho> Show me an if-using version.
19:07:55 <Slereah> [19:54:35] <Slereah> That's so not cool.
19:08:11 <tusho> Um, using a two-clause-with-one=#f-cond is incredibly bad style.
19:08:36 <Slereah> Isn't "if then" just a shortcut for the actual cond behind?
19:08:46 <tusho> Slereah: Why does this bother you?
19:08:49 -!- Phenax has joined.
19:08:52 <tusho> You're meant to think in as high-level terms as possible.
19:08:59 <tusho> If you don't want to, then you don't understand Scheme.
19:09:03 <tusho> Or at least you are willingly ignoring it.
19:09:08 <Slereah> Fine.
19:10:07 <tusho> Slereah: So what does your mu look like with if? :P
19:10:22 <tusho> (Also, I'd rename it 'mu'. 'µ' is not a valid symbol, even if your implementation accepts it.)
19:10:34 <Slereah> (define ( f y) (if (= (f y) 0) y ( f (+ y 1)))
19:10:43 <Slereah> Thusly?
19:10:53 <tusho> Slereah: Yes, but what's with the paren before µ?
19:10:54 <tusho> err
19:10:55 <tusho> the space
19:10:56 <tusho> ( µ
19:10:59 <tusho> should be (µ
19:11:04 <tusho> (And 'µ', 'mu'.)
19:11:12 <Slereah> Are the whitespace significant?
19:11:26 <tusho> Slereah: No but it looks ugly.
19:11:39 <Slereah> (define (mu f y) (if (= (f y) 0) y (mu f (+ y 1))))
19:12:00 -!- cherez has quit ("Leaving.").
19:12:13 <tusho> Yep.
19:12:23 <tusho> Slereah: OK, am I right in that the 'y' can be in any hole?
19:12:24 <tusho> e.g.
19:12:31 <tusho> mu_y(f(x,y,z))
19:12:34 <tusho> the 'y' is the mu-fed one
19:12:41 <Slereah> Well, it's a version for only one variable.
19:13:14 <tusho> Slereah: I mean, in the real mu
19:13:35 <Slereah> The real mu can be applied to any variable, yeah.
19:13:42 <tusho> Slereah: Hokay.
19:13:52 <tusho> Slereah: Remember my trick about apply?
19:13:59 <tusho> (apply func '(1 2 3)) -> (func 1 2 3)
19:14:16 <Slereah> Yes.
19:15:00 -!- cherez has joined.
19:15:55 <tusho> Slereah: Hm.
19:15:58 <tusho> Does mu allow this:
19:16:01 <tusho> mu_y(f(y,y))
19:16:06 <tusho> Slereah: Heyyy, wait.
19:16:09 <tusho> Your current mu is fine!
19:16:15 <tusho> (mu (lambda (x) (f x x)) 0)
19:16:28 <tusho> (mu (lambda (x) (f x y z)) 0)
19:16:31 <tusho> Slereah: See?
19:17:19 <tusho> Slereah: ..
19:17:44 <tusho> Slereah: Oi.
19:18:09 <tusho> Slereah: Hm, do you want to remove the 0 parameter?
19:18:55 <Slereah> Dr Scheme installed.
19:19:18 <tusho> Slereah: Can you answer me now.
19:19:23 <tusho> (Speficially, 'see' and 'do you want to remove')
19:19:24 <Slereah> wotwot
19:19:40 <tusho> Slereah: Look abov.
19:19:42 <tusho> e
19:19:47 <Slereah> Wall of text :o
19:20:09 <tusho> <tusho> Slereah: Heyyy, wait.
19:20:09 <tusho> <tusho> Your current mu is fine!
19:20:09 <tusho> <tusho> (mu (lambda (x) (f x x)) 0)
19:20:09 <tusho> <tusho> (mu (lambda (x) (f x y z)) 0)
19:20:09 <tusho> <tusho> Slereah: See?
19:20:12 <Slereah> Well, I'm okay with removing the zero.
19:20:15 <tusho> Slereah: that's the interseting bit
19:20:20 <tusho> Slereah: i.e. you only need a one-variable mu
19:20:26 <tusho> because you can use a lambda to call the function with moar
19:21:12 <Slereah> I suppose it would be a nice solution.
19:21:32 <tusho> Slereah: Yeah, it's elegant.
19:21:36 <tusho> Slereah: Now, removing the 0...
19:21:44 <tusho> Well, you just need (define (real-mu f) (mu f 0)).
19:21:53 <tusho> Except, rename mu to mu-internal
19:21:58 <tusho> So you can define (mu f)
19:22:04 <tusho> Slereah: Hmm.
19:22:07 <tusho> How about a nested define?
19:22:20 <tusho> (define (mu f) (define (inner f n) ... MU CODE HERE ...) (inner f 0))
19:22:25 <tusho> Slereah: Seems like the most elegant to me.
19:22:33 <tusho> (Oh, and start typing this into dr scheme. It'll do that indentation stuff.)
19:22:36 <Slereah> 'kay.
19:22:49 <Slereah> I'm poking around a little first.
19:22:56 <Slereah> > cons(1 2)
19:22:56 <Slereah> #<primitive:cons>
19:22:56 <Slereah> . procedure application: expected procedure, given: 1; arguments were: 2
19:22:58 <Slereah> Wot
19:23:12 <tusho> Slereah: Uh, you evaluated 'cons', then you evaluated (1 2).
19:23:16 <tusho> You tried to call 1 as a function.
19:23:20 <tusho> On what universe does that make sense?
19:23:32 <tusho> You don't even know the basic syntax of scheme. SICP, srsly.
19:23:36 <Slereah> Oh yes.
19:23:44 <Slereah> (cons 1 2)
19:23:45 <Slereah> Thar.
19:23:58 <Slereah> It makes sense in the Lisp paper :(
19:24:19 <tusho> Slereah: No.
19:24:21 <tusho> cons[1,2] does.
19:24:29 <tusho> Nobody used M-Expressions, because:
19:24:32 <tusho> eval[[cons,1,2]]
19:24:36 <tusho> Is not elegant.
19:24:40 <tusho> Same syntax for code&data=win.
19:24:55 <augur> your m-expression is also wrong :)
19:24:59 <augur> eval[cons[1,2]]
19:25:24 <tusho> augur: You fail!
19:25:30 <tusho> I was doing (eval '(cons 1 2)).
19:25:33 <tusho> That is eval[[cons,1,2]].
19:25:38 <augur> afaik its not
19:25:39 <tusho> eval[cons[1,2]] is (eval (cons 1 2))
19:25:39 <augur> you need a quote
19:25:46 <tusho> augur: M-Expressions do not have quotes.
19:25:48 <augur> eval[quote[cons,1,2]]
19:25:49 <tusho> [a,b,c] is '(a b c)
19:25:51 <augur> oh? i see.
19:25:53 <tusho> a[b,c] is (a b c)
19:25:54 <augur> nevermind then :)
19:26:00 <augur> i dont use m expressions, you see ^^
19:26:01 <tusho> Ergo, code is different from data, and it was hideously ugly.
19:26:07 <tusho> So they got rid of it
19:26:15 <augur> except in C :X
19:26:22 <augur> and c-likes
19:26:28 <augur> eval("cons(1,2)")
19:26:34 <Slereah> > (display "butt")
19:26:35 <Slereah> butt
19:26:38 <Slereah> I'm all set!
19:26:48 <tusho> augur: that is not a direct equiv.
19:26:51 <tusho> strings are unstructured.
19:26:53 <augur> but the problem THERE is that code and data are so very painful in structure
19:26:57 <augur> i mean
19:27:03 <augur> in lisp its blindingly simple
19:27:08 <augur> (procname arg arg arg)
19:27:11 <augur> just build a list
19:27:23 <augur> but to eval a string in, say, javascript
19:27:40 <augur> procname + "(" + arg1 + "," + ... + ")"
19:27:51 <augur> which is not as intuitive
19:28:14 <augur> lisp is sexy in regards to reflectivity and such, i agree
19:28:47 <tusho> augur: on another note, )I()£UI)(!U()U¬)(U¬()U)(U¬)¬()¬U)¬
19:29:02 <tusho> oklopol: Neu language syntax: (, ), U, I, ¬ and £
19:29:15 <augur> btw, in his SICP class brian harvey mentioned some sort of book that he read when he was younger which solved the Pilgrims and Cannibals problem in a number of different ways
19:29:28 <Slereah> What is this problem?
19:29:47 <augur> and the end of the problem involved constructing a data structure so finely tuned to the problem that you didnt have to do any computation you just read the solution off the structure
19:29:50 <augur> slereah: huh?
19:30:08 <Slereah> The cannibal problem
19:30:09 <augur> or maybe it was missionaries and cannibals
19:30:15 <augur> the idea is something like this:
19:30:22 <augur> you have a number of missionaries, say
19:30:30 <augur> and they're venturing through cannibal territory
19:30:34 <augur> they have to cross a river
19:31:03 <augur> and if there are ever a small enough group of missionaries, the cannibals will eat them
19:31:35 <augur> so you have to figure out how to transport people across the river in such a way that at no time are N or fewer people alone on either side of the river
19:31:41 <Slereah> Oh. It's like the river crossing problem, except with more cannibals
19:31:54 <augur> and without the fox travelling with you
19:32:02 <augur> the cannibals are on both sides at all times
19:32:17 <augur> anyway
19:32:20 <Slereah> Can't you offer them the goat?
19:32:38 <augur> supposedly theres a DATA STRUCTURE thats so tuned to the problem that you dont need to do any computation
19:33:28 <tusho> augur: the CannibalDataStructureDeluxe
19:33:33 <augur> :P
19:33:43 <Slereah> This sounds terrifying
19:33:51 <Slereah> Is it written in Malbolge?
19:34:12 <Slereah> Hm.
19:34:21 <Slereah> I wonder, are there trivial programs to write in Malbolge?
19:34:32 <augur> sure, ones that dont work :)
19:34:50 <Slereah> For instance, yes.
19:35:06 <tusho> Slereah: You can write a generator pretty easily.
19:35:18 <tusho> In lisp! (hi andrew cooke, writer of the malbolge hello-world)
19:35:24 <Slereah> Heh.
19:35:51 -!- jix has quit (Read error: 113 (No route to host)).
19:36:34 <augur> a what?
19:37:14 <pikhq> I wonder: is he in here?
19:37:17 <tusho> augur: a code generator for malbolge
19:37:17 <tusho> pikhq: no
19:37:23 <augur> oh ok
19:37:25 <tusho> he's around though
19:37:28 <pikhq> Shameful.
19:37:28 <tusho> http://www.acooke.org/
19:37:42 <pikhq> We need every major esoteric developer in here.
19:37:54 <tusho> warning: tiny font
19:38:02 <pikhq> (I'm sure I've said that in here once before. . . Need to grep the logs)
19:39:11 <Slereah> Let's bring Urban here.
19:39:15 <tusho> pikhq: let's emulate andrew's style
19:39:24 <tusho> (all lowercase, minimalist, brief)
19:39:24 <Slereah> And let him see what his language has wrought upon this earth
19:39:33 <tusho> i believe he knows
19:39:37 <tusho> how could he not?
19:39:43 <pikhq> Slereah: Let's bring Sukoshi back here kicking and screaming.
19:39:51 <tusho> (oh, and dense on the information-character ratio)
19:40:01 <Slereah> Who?
19:40:10 <pikhq> ... You don't know Sukoshi?
19:40:14 <Slereah> No.
19:40:18 <pikhq> n00b.
19:40:21 <tusho> he's relatively new pikhq
19:40:29 <pikhq> tusho: Argh. You're right.
19:40:39 <Slereah> Hey, I'm a physicist.
19:40:43 <Slereah> I don't do CS.
19:40:44 <pikhq> Speaking of which. . . tusho, I've never seen you around here.
19:40:45 <augur> i hve a better idea
19:40:45 <augur> why dont we help one another BECOME major esodevers
19:40:45 <augur> surely with our combined efforts we can out esolang the other guys!
19:40:58 <tusho> i may or may not be the one known as ehird, pikhq
19:41:01 <pikhq> Ah.
19:41:07 <tusho> and you are not emulating andrew's style, heretic!
19:41:18 <pikhq> augur: Some of us *are*.
19:41:28 <augur> are? what?
19:41:30 <Slereah> Like Ais
19:41:34 <Slereah> Ais is totally awesome
19:41:35 <tusho> another heretical statement!
19:41:37 <pikhq> Are major esolang developers.
19:41:46 <tusho> bah :p
19:41:47 <augur> well then why did you say we needed some? :P
19:41:51 <pikhq> *cough*Gregor*cough*
19:41:53 <augur> whats ais' language?
19:41:53 <pikhq> We need more!
19:42:03 <tusho> augur: ais won the wolfram prize
19:42:05 <Slereah> I dunno of his langs
19:42:10 <Slereah> But yes, that
19:42:12 <tusho> and maintains c-intercal
19:42:14 <Slereah> And it is totally awesome
19:42:24 <tusho> and invented:
19:42:40 <tusho> minimax, backflip, abcdxyz
19:42:44 <tusho> :≠, black
19:42:46 <Slereah> So... Who's Sukoshi?
19:42:47 <tusho> wiki cyclic tag, formula, forte
19:42:50 <tusho> underload, thutu, 1cnis
19:42:59 <tusho> Slereah: someone pikhq knows i think
19:43:02 <Slereah> Underload is quite nice, too.
19:43:34 <augur> oh, so he must've done a cellular automata-like language.
19:44:20 <tusho> augur: why?
19:44:30 <pikhq> Sukoshi *was* quite frequent in this channel a couple years ago.
19:44:35 <tusho> he did originally but gave it up. he uses perl code in his proof.
19:44:46 <tusho> pikhq: she(?) came in recently, no?
19:44:53 <pikhq> She did?
19:44:58 * pikhq spit-takes
19:45:06 <pikhq> Dammit; I missed it. :(
19:45:07 -!- Hiato1 has joined.
19:45:13 <tusho> pikhq: you were here!
19:45:15 <Slereah> What language did she do?
19:45:18 <pikhq> Dammit.
19:45:27 <tusho> Slereah: none, i think
19:45:58 <pikhq> I can't remember which ones she had done ATM, sadly.
19:46:16 <Slereah> Then she's no big time esolanger :o
19:46:26 <tusho> Slereah: she's not, no
19:46:29 <tusho> at least, not afaik
19:46:38 <pikhq> She is.
19:47:02 <pikhq> Among other things, she has designed a Brainfuck CPU in Verilog.
19:47:11 <tusho> oh, that was her?
19:47:26 <pikhq> I don't think she got *hers* out on the web, though.
19:47:26 <Slereah> That one? http://www.clifford.at/bfcpu/bfcpu.html
19:47:32 <Slereah> Oh.
19:47:49 <tusho> so, who here is excited about eso-std.org's future riches? like: pastebin with ais523-coded intercal highlighting, an online code-tester and REPL for the langs, integrated into the pastebin (for when you don't have an interpreter lying around), etc.
19:47:57 <tusho> and, future=soon.
19:48:03 <tusho> because, I actually have a server up.
19:48:18 <Slereah> Will we have an eso police to enforce the ESO standard?
19:48:20 <oklopol> that does sound pretty great
19:48:53 <pikhq> Sukoshi was also somewhat influential on the design of PEBBLE.
19:49:20 <pikhq> (although oerjan takes the prize for 'most help'. . .)
19:49:20 <oklopol> also prolly pretty hot
19:49:23 <tusho> Slereah: yes!
19:49:42 <tusho> but I'm currently hanging on a pun of 'Esoteric Standards'
19:49:44 <Slereah> Shoot to kill if you see another Brainfuck clone!
19:49:55 <pikhq> Slereah: Even if it's creative?
19:49:59 <pikhq> (see: Dimensifuck)
19:50:02 <tusho> standards in the sinatra sense: that way we can include 'the best' of esolang tools.
19:50:04 <Slereah> Is there such a thing?
19:50:10 <tusho> as well as well, actual standards
19:50:12 <pikhq> (see: Dimensifuck)
19:50:25 <tusho> dimensifuck, You Are Reading The Name Of This Esolang, ...
19:50:40 <Slereah> Well, those already exist.
19:51:07 <pikhq> But they *are* creative Brainfuck clones.
19:51:39 <pikhq> 0+^+v for all!
19:52:00 <tusho> oklopol: it will be awesome yes
19:53:38 <augur> hm
19:53:48 <oklopol> my hot comment was about sukoshi :)
19:53:54 <oklopol> but why not the pb too
19:53:56 <augur> i wonder what sort of data structure solves the missionaries problem
19:54:10 <augur> you know, i think i know
19:54:43 <Slereah> Many little huts, I suppose
19:55:01 <augur> i think it'd be the set of partitions
19:55:16 <augur> tho that would still require some computation.. hm.
19:55:33 <Slereah> Just do motherfucking brute force!
19:55:34 <augur> you'd need to read through and look for partition diffs which fit the constraints imposed by the problem
19:56:44 -!- jix has joined.
19:56:52 <augur> there are only 2^N possible partitions, where N is the number of cannibals and missionaries together
19:57:01 <lament> tusho: why do you object?
19:57:10 <tusho> lament: irseek sucks
19:57:14 <lament> tusho: explain.
19:57:22 <tusho> it's commercialised, the site interface is tacky, and the current way works fine
19:57:32 <lament> The current way doesn't work fine. I banned cmeme.
19:57:40 <tusho> lament: cmeme does ircbrowse.com.
19:57:42 <tusho> clog does nef's
19:57:44 <tusho> clog works fine
19:58:01 <tusho> lament: Anyway, eso-std.org is up and ready to host a logbot with full searching and a 'pretty' interface if ever needs be
19:58:08 <lament> tusho: how is irseek commercialized?
19:58:11 <tusho> and ais523 has root to that as well as me, and I can give you it if you like
19:58:29 <tusho> lament: it's a company and they're primarily out to make money.
19:58:33 <tusho> what other definition is there?
19:58:45 <lament> tusho: do you think that can negatively affect the channel in any way?
19:58:54 <lament> They won't spam us.
19:58:54 <tusho> lament: i dislike the service because of it
19:59:01 <tusho> so I would not wish for it to be the logger of this channel
19:59:10 <lament> i'm not saying they should be the logger.
19:59:16 <lament> "_the_ logger"
19:59:22 <tusho> lament: I would not wish for them to log it.
19:59:27 <lament> why not?
19:59:32 <tusho> I have already explained why.
19:59:36 <lament> I don't understand.
19:59:42 <lament> Out of spite?
19:59:46 <tusho> lament: no.
19:59:57 <lament> The presence of irseekbot in here won't cause you any harm.
20:00:03 <tusho> out of the interests of keeping a company's hands off of this channel, and because it's not a very good service in my mind anyway.
20:00:34 <tusho> lament: looking at what it _would_ offer us, positively, is a nice search function and a pretty log view.
20:00:44 <tusho> eso-std can start logging today and have an interface that nice by tomorrow, most likely.
20:00:57 <lament> tusho: and some free publicity. People use irseek.
20:00:58 -!- Hiato has quit (Read error: 110 (Connection timed out)).
20:01:06 <lament> When they search irseek for things like brainfuck, they will not find us.
20:01:17 <tusho> lament: good: we'd end up banning them for being annoying spammers, mostly.
20:01:19 <lament> People who search eso-std already fonud us.
20:01:28 <tusho> Have you seen some people who have just found brainfuck?
20:01:29 <tusho> Ugh.
20:01:33 <lament> tusho: So you object to this channel being more widely known?
20:01:40 <lament> You want to keep it a secret?
20:01:52 <tusho> lament: because of its subject matter and what i've seen... I don't think advertising via irseek is a good idea.
20:02:01 <lament> it's not advertising, it's logging
20:02:12 <lament> what i really don't get is freenode policy
20:02:13 <tusho> lament: but you just gave it advertising us indirectly as a good point
20:02:15 <lament> this is a public channel
20:02:21 <lament> anyone can join it
20:02:25 <lament> it's not secret
20:02:35 <lament> without freenode's silly policy, any logger could join it anyway
20:02:39 <oklopol> indeed.
20:02:46 <tusho> lament: Anti-case: #wikipedia
20:02:49 <lament> i don't understand why that should not be allowed, provided the bot doesn't disturb anyone
20:02:55 <lament> what happened in #wikipedia?
20:03:02 <tusho> Daniel Brandt of wikipedia-review constantly scours logs for personal information and anything he can use against them,
20:03:08 <lament> hehe
20:03:10 <tusho> quotes it out of context, and puts it on his wikipedia-watch site.
20:03:13 <lament> well, we're already logged
20:03:16 <tusho> He puts secret loggers in there.
20:03:26 <tusho> the freenode policy is useful to them because they can stop him
20:03:27 <lament> being logged in a different place won't change the fact that all our logs are already online
20:03:28 <augur> i think i know what the data structure is :o
20:03:34 <lament> furthermore
20:03:48 <lament> you can ask the irseek people to get rid of the bot at any time
20:04:03 <lament> i just don't see any benefit to _not_ having it here
20:04:07 <tusho> lament: I would but I doubt they'd listen.
20:04:13 <lament> they seem very polite
20:04:22 <tusho> Meh, anyway that log interface sounds like a fun project anyway. I'll probably start working on it.
20:04:23 <lament> after the bad PR they got initially, they're really trying to be nice
20:04:27 <tusho> (Regardless)
20:07:43 <lament> well, i won't invite them if you object to it
20:07:58 <lament> but i still don't understand your reasoning
20:08:23 <lament> "they're commercial therefore it's somehow bad in principle"
20:12:47 <Slereah> ...
20:12:51 <Slereah> There's a google code?
20:12:55 <Slereah> What the fuck is google code
20:14:24 <tusho> a google code search
20:17:54 <oklopol> sure about that?
20:18:01 <tusho> ya
20:18:47 <oklopol> i thought it was something a bit more extensive than the codesearch
20:18:52 <oklopol> not that i actually know / care
20:19:11 <oklopol> lament: just ban tusho and let them put the bot here, tusho's new, who cares ;)
20:19:40 <tusho> :D
20:19:44 <Slereah> Come on, tusho is awesome!
20:19:51 <tusho> yeah I only came in here a few days ago!
20:20:05 <Slereah> But already, he's taking the channel by storm!
20:21:32 <lament> i think that's not fair
20:21:40 <lament> i think we should invite irseekbot into the channel, and let them duel
20:21:44 <tusho> lament: (i'm ehird.)
20:21:53 <tusho> OH SHIT, now you have reason to ban me!
20:22:08 <lament> DUEL TO THE DEATH
20:22:26 <lament> man against the machine!
20:22:29 * tusho kills irseekbot
20:22:32 * tusho looks
20:22:35 <tusho> It's not here!
20:22:39 <tusho> That musta been a good kill.
20:22:41 <tusho> Battle over.
20:22:57 <lament> Bottle over.
20:23:18 <tusho> No.
20:24:04 <Slereah> 99 bottles over the wall.
20:25:21 <lament> what digital camera should i buy?
20:27:55 <augur> i think ive found all solutions for the 3x3 missionary problem :o
20:29:06 <Slereah> 3x3?
20:29:35 <augur> 3 missionaries, 3 cannibals.
20:30:05 <augur> well, there are infinitely many solutions, but only a finite number without repetition
20:30:59 <Slereah> and I assume that the goal is to make it short
20:31:18 <augur> yeah, shorts path
20:31:23 <augur> through the solution space
20:37:59 <tusho> is graue ever around?
20:39:21 <Slereah> Who?
20:39:27 <Slereah> GRAWP?
20:41:43 <tusho> No. graue
20:48:11 <tusho> lament: WHAT
20:54:12 -!- pikhq has left (?).
21:07:27 -!- Deformati has joined.
21:10:25 <Slereah> What is the purpose of "let"?
21:11:00 <augur> variable binding
21:11:03 <augur> in a functional way
21:11:16 <augur> in lisp, for instance
21:11:17 -!- Hiato1 has quit ("Leaving.").
21:11:22 <augur> (let ((x 5)) ...)
21:11:24 <augur> is equivalent to
21:11:34 <augur> ((lambda (x) ...) 5)
21:11:51 <Slereah> Oh.
21:12:25 <augur> (let ((x 5) (y 10)) ...) -> ((lambda (x y) ...) 5 10)
21:12:26 <augur> etc
21:15:10 <augur> in some languages let is just the var decl keyword
21:15:15 <tusho> ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzZZZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzzZZZZZZZZZZZzzzzzzzzzzzZZZZZZZzzzzzZZZZZZZZZZZZZzzzzzzzZZZZZZZZZZZZzzzzzzzzZZZZZZZZZzzzzzzzzZZZZZZZZZZzzzzzzzZZZZZZZZzzzzzzzzZZZZZZZzzzzzzzzzZZZZZZZzzzzzzzzzZZZZZZZzzzzzzzzzzzzZZZZZZZZzzzzzzzzZZZZZZZZZZZzzzzzzzzZZZZZZZZZzzzzzzzzzzzzZZZZZZZZZZZZZZZZZZzzzzzzzzzzzzZZZZZZZZZzzzzzzzzZZZZZZZZZZZzzzzzzzZZZZZZZZZZZZZZZzzzzzzzzzzzzZZZZZZZZZZZzzzzzzzzzzzzzZZZ
21:15:15 <tusho> ZZZzzzzzzzzzzzzzZZZZZZZZZZZZZzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
21:15:39 <Slereah> Is that your new lang?
21:15:47 <Slereah> Snorefuck
21:15:50 <augur> its called syzygy
21:17:51 <tusho> ZZZzzzZZZZZZZZZZZZZZZZzzzzzzzzzzzZZZZZZZZzzzzzzzzZZZZZZzzzzzZZZZzzzzZZZZzzzZZzzzZZZzzzzzZZZzzzZZZzzzzZZzzzzZZzzzZZZzzzZZZz
21:18:04 <augur> hello world program?
21:18:17 <augur> is there an esolang with unary numbers?
21:18:19 <Slereah> More like goodnight world
21:18:20 <Slereah> Amirite?
21:18:22 <augur> thats like brainfuck or something right?
21:18:25 <Slereah> Yes
21:18:29 <Slereah> It's called "unary".
21:18:33 <augur> ok.
21:18:38 <Slereah> Programs in it are impossibly long.
21:18:41 <augur> but like languages without number prims
21:18:46 <augur> where you have to increment a counter
21:18:55 <augur> is effectively unary
21:19:04 <augur> is brainfuck/befunge/etc like that?
21:19:05 <augur> malbolge?
21:19:19 <Slereah> Unary uses Brainfuck with three bits per instruction
21:19:22 <Slereah> and then adds 1 in front.
21:19:34 <Slereah> And then converts it to unary, with "0" as a symbol.
21:19:46 <Slereah> And it's terribly long.
21:20:36 <tusho> http://www.reddit.com/r/programming/info/6m5el/comments/c048udz MESSAGE OF THE DAY.
21:21:22 <tusho> Slereah: simplest way to do unary BF:
21:21:30 <tusho> treat it as a string of ascii characters
21:21:31 <tusho> TADA
21:21:35 <Slereah> "Imperative languages generally rely on a concept of linear time, while aliens, as we know, are fully 4-dimensional beings, able to move back on forth in time freely."
21:21:55 <Slereah> tusho : Wot?
21:22:05 <augur> hahaha
21:22:08 -!- Deformative has quit (Read error: 110 (Connection timed out)).
21:22:18 <augur> aliens program functionally :)
21:22:34 <tusho> Slereah: well, imagine this
21:22:39 <tusho> 34 EF 32 04
21:22:42 * Slereah has "this" in his mind
21:22:47 <tusho> that's 4 ascii characters (err, whatever)
21:22:51 <tusho> it's 4 bytes, regardless.
21:22:53 <tusho> So:
21:22:57 <tusho> 34EF3204
21:23:02 <tusho> Just convert that hex number into unary
21:23:07 <tusho> Fucking huge, yes. But tada.
21:23:07 <Slereah> Oh.
21:23:16 <Slereah> Could be worse.
21:23:17 <tusho> Then just do it in reverse and feed it into an interp
21:23:23 <Slereah> You could Gdel it out :o
21:24:29 <tusho> Slereah: Well, hello world - ,[.,] - is insanely large in it.
21:24:33 <tusho> As in, OH MY GOD
21:26:06 <Slereah> So... 1f5b2e1f5d
21:26:17 <Slereah> 134673735517
21:26:40 <Slereah> 134,673,735,517 bits.
21:26:41 <augur> hm
21:26:43 <augur> apparently
21:26:54 <augur> functional reactive programming has temporal entities as first class values
21:27:14 <tusho> augur: I am going to write a C->Lisp compiler in Lisp.y/n
21:27:32 <tusho> Slereah: your second deduction is wrong
21:27:38 <augur> c->lisp?
21:27:41 <augur> why?
21:27:53 <tusho> augur: because the other way is more common
21:27:57 <tusho> and I like c compilers
21:27:58 <augur> ok
21:28:06 <augur> slereah
21:28:22 <Slereah> Roughly 16 Go :o
21:28:31 <augur> 1f5b2e1f5d in binary wouldnt be billions of bits
21:28:44 <augur> it would be 40 bits.
21:28:48 <Slereah> No, but 1f5b2e1f5d in unary would be.
21:28:53 <augur> oh, in unary
21:29:01 <augur> then dont use the term bits :p
21:29:03 <augur> use uh..
21:29:10 <augur> uits
21:29:11 <Slereah> But you could encode them with bits
21:29:15 <Slereah> 1 for 1
21:29:16 <Slereah> 0 for eof
21:29:22 <augur> still
21:29:25 <Slereah> (Because well, you do need eof)
21:30:24 <tusho> Uits, ha
21:30:34 <tusho> Slereah: no
21:30:34 <Slereah> I prefer tits.
21:30:35 <tusho> cycle the program!
21:30:43 <Slereah> Wot?
21:30:45 <tusho> Wait, no.
21:30:49 <tusho> If you cycle the program it's just 1=1+x
21:31:13 <tusho> now, who wants to hear my cool anti-spam idea.
21:31:35 <Slereah> It would probably better to change hex to something lighter.
21:31:38 <augur> thats a useless program.
21:31:38 <augur> so
21:31:38 <augur> reactive programming
21:31:38 <augur> whathink?
21:31:44 <Slereah> For instance, code with 1-2-3-4-5-6-7-8
21:31:56 <Slereah> In like, base 9.
21:32:13 <tusho> Well yeah. but still
21:32:21 <tusho> augur: want to hear my anti-spam idya?
21:33:19 <tusho> augur: it's very awesome
21:35:03 <augur> maybe
21:35:05 <augur> you know
21:35:09 <augur> john c dvorak gets no spam
21:35:30 <tusho> augur: dvorak is a self-aware idiot
21:35:44 <augur> a self-aware idiot that gets no spam!
21:35:48 <tusho> that is, he's aware he's an idiot and does it for the money and fame
21:35:53 <tusho> and he's also a total fuckwit
21:38:10 <tusho> augur: so
21:38:13 <tusho> here's my idea
21:38:18 <tusho> it's similar to spampoison but cleverer.
21:38:37 <tusho> basically, on every page on your site link to this page (just put it as 'Anti-spam' or something)
21:38:38 <tusho> and
21:38:44 <tusho> on every page with an email address
21:38:48 <tusho> put it a few times at the top
21:38:49 <tusho> now
21:38:54 <tusho> this page
21:39:02 <tusho> has the regular loads-of-fake-random-email-addrs
21:39:05 <tusho> but
21:39:14 <tusho> they're @male.yourdomain (yes, male :P)
21:39:18 <tusho> now
21:39:21 <Slereah> Hawt
21:39:22 <tusho> occasionally
21:39:25 <tusho> there's a link to
21:39:27 <tusho> ?moar=D8as9$u
21:39:30 <tusho> that is
21:39:32 <tusho> ?moar=random_id
21:39:38 <tusho> which is a seed to generate more emails
21:39:40 <tusho> and
21:39:48 <tusho> whenever anyone emails to @male.yourdomain
21:39:53 <tusho> it logs their email and info
21:39:58 <tusho> and BANS THEM from emailing anything @yourdomain
21:40:14 <tusho> (at the top of the page is a note telling you that in big bold letters so real users don't do it)
21:40:47 <tusho> now you not only block spammers before they get to harvesting your addr [because the link is first] but you have a list of spammers!
21:41:56 <tusho> augur: ooh, another idea
21:42:01 <tusho> when you DO email @male.yourdomain
21:42:04 <tusho> the first time,
21:42:16 <Slereah> Do you even need to have the email adresses on the site?
21:42:16 <tusho> it bounces back an email saying 'You have been automatically banned by this anti-spam blah blah blah'
21:42:19 <tusho> and
21:42:21 <tusho> then it says
21:42:28 <tusho> 'To unban yourself, reply to this email (quoting it)'
21:42:29 <Slereah> Or is there a way to put it in the sourcecode
21:42:35 <tusho> and it has a thing like
21:42:36 <Slereah> So that only spambots will see it
21:42:39 <tusho> '98e79d87a98479374923487f98d948yr943uf8r34'
21:42:53 <tusho> and
21:43:02 <tusho> when it receives that to, like, @male-unblock.yourdomain
21:43:03 <tusho> it unblocks the email
21:43:14 <tusho> (since only a human would be able to reply to that correctly)
21:43:16 <tusho> Slereah: For a start it must be a seperate pgae for the 'moar' trick
21:43:20 <tusho> and a lot of spammers e.g. automate IE
21:43:26 <tusho> so only _viewable_ stuff is counted
21:43:30 <Slereah> Oh.
21:43:37 <Slereah> Too bad.
21:43:50 <tusho> Slereah: still
21:43:53 <tusho> it's just a discreet link
21:43:55 <tusho> at the bottom of your page
21:43:58 <tusho> in small font if you like
21:44:08 <Slereah> Make it black on a black background!
21:44:10 <Slereah> Or something
21:44:17 <tusho> (and at the top of pages that have emails, in a small font: '(If you're a spammer, you might like [this], [this], or maybe [even this])')
21:44:26 <tusho> Slereah: Only viewable links are 100% guaranteed to work
21:44:33 <Slereah> Why?
21:44:40 <tusho> Slereah: Because a lot of them automate IE.
21:44:49 <tusho> to avoid traps like this
21:44:55 <Slereah> But isn't black on a black background still visible for a robot?
21:44:55 <tusho> if they don't they will in the future
21:44:57 <tusho> anyway
21:45:03 <tusho> Slereah: Not if it automates IE.
21:45:10 <tusho> Anyway.
21:45:12 <tusho> This is what it does:
21:45:26 <tusho> - their email database becomes commercially useless
21:45:34 <tusho> - they cannot email you spam
21:45:40 <tusho> - you have a list of all spammers
21:45:59 <tusho> You could report the list to the police, for instance. Or give it to an anti-spam project.
21:46:10 <Slereah> Or trolls.
21:46:25 <tusho> (To avoid lawsuits, put at the top of the page something like 'By sending messages to this address, you hereby agree to have your details recorded and sent off and blah blah asshole')
21:46:38 <Slereah> But they're robots
21:46:44 <Slereah> What if they call robo-lawyer?
21:47:07 <tusho> Slereah: well, 'or use a program on behalf of yourself'
21:47:24 <tusho> but, robo-lawyers are PURELY LOGICAL BEINGS and therefore can't use the chewbacca defense
21:47:26 <tusho> I think we're safe
21:47:35 <tusho> besides, a spammer prosecuting someone for fighting spam? That'll never fly.
21:47:41 <Slereah> You can use the old logic bomb.
21:47:47 <Slereah> THIS SENTENCE IS FALSE!
21:47:52 <Slereah> DOES NOT COMPUTE
21:47:53 <Slereah> DOES NOT COMPUTE
21:47:55 <Slereah> KA BOOOM
21:48:00 * tusho has quit (Read error from host)
21:48:04 <Slereah> Holy shit
21:48:09 <Slereah> Tusho was a robot all along!
21:48:17 * tusho has joined #esoteric
21:48:18 <tusho> yes
21:48:20 * tusho has left #esoteric
21:49:18 <tusho> wait why am i still here
21:49:38 <Slereah> Magic?
21:49:58 <augur> o.o
21:49:58 <tusho> DOES NOT COMPUTE
21:50:02 * tusho has quit (Read error from host)
21:50:25 <augur> it doesnt help that you can tell the difference between server messages and /me messages
21:50:25 <augur> :P
21:50:41 <tusho> augur: I'll just hack the server than
21:50:55 * tusho has quit (Killed: K-Line by lilo: OVER MY DEAD BO- wait)
21:50:57 <augur> o noes!
21:51:12 <tusho> why didn't I make a dead lilo joke earlier, I wonder
21:51:14 <tusho> it's been years
21:51:20 <tusho> i am normally master of the Too Soon
21:52:08 <augur> lilo?
21:52:28 <Slereah> OF LILO AND STITCH?
21:52:38 <Slereah> I only ever saw porn of it, so I don't know much!
21:52:48 <augur> hahaha
21:53:25 <Slereah> The translation from limp to scheme isn't that hard for the functional part
21:53:29 <Slereah> It's mostly already there!
21:53:33 <Slereah> Or easy to build.
21:53:35 <tusho> augur: lilo - founder of freenode
21:53:44 <augur> oic
21:53:46 <tusho> car hit bike splat lol coma (time passes) oh he died
21:53:50 <tusho> that was in 2006
21:54:00 <Slereah> Was he in the car or on the bike
21:54:03 <tusho> bike
21:54:35 <Slereah> Problem is, I'm not too sure how to do a conditional in pi calculus
21:54:47 <Slereah> Without adding some operator to it
21:54:56 <tusho> Slereah: Make it lambdalicious
21:55:37 <Slereah> Well, the thing is, the only thing I have no idea how to do is how to do input on a conditional.
21:56:10 <Slereah> For the output, since it will depend on the functions, I can just output 0.
21:56:19 <Slereah> If I don't want nufin.
21:56:26 <augur> dude i love SICP
21:56:27 <augur> lol
21:56:37 <Slereah> Why don't you marry it then.
21:56:45 <augur> :o
21:56:48 <augur> ::marries SICP::
21:56:53 <tusho> e's taken
21:56:53 <tusho> sorry
21:56:55 <tusho> I'm already mar-
21:57:02 <tusho> SICP IS A POLYGAMISRT
21:57:03 <tusho> :((sd*asd(asd*(
21:57:05 * tusho kills self
21:57:13 <augur> dont kill self
21:57:16 <augur> its a neat language
21:57:20 <augur> leave ungers language alone!
21:57:24 <augur> :(
21:57:47 <tusho> BEST LANGUAGE: N+1Q
21:57:53 <Slereah> Wot
21:59:41 <Nocta> wtf
22:00:05 <Slereah> Hm.
22:00:09 <Slereah> I'm thinking
22:00:18 <augur> NO DONT
22:00:25 <Slereah> since there's no difference between a channel and an object in pi.
22:00:38 <tusho> Slereah: channel=object=LAMBDA
22:00:40 <Slereah> The input or not could be decided by a function too.
22:01:01 <Slereah> Instead of doing a(x), I could do f(stuff)(x)
22:01:20 <Slereah> I dunno. I sort of wanted to keep the two separated.
22:01:37 <Slereah> I'd better wait for the book t get a better feel of pi.
22:01:39 <Slereah> Hm, pie.
22:02:07 <Slereah> For I made it my life mission to bring to life the neglected computational models in esoteria.
22:02:10 <tusho> .3
22:02:25 <tusho> Slereah: idea
22:02:30 <tusho> NOP-CALCULUS
22:02:53 <Deewiant> :sb end
22:02:59 <Deewiant> hmm
22:03:01 <Deewiant> wrong window
22:03:06 <Slereah> Heh.
22:03:32 <Slereah> tusho : Neglected, not non-existent
22:03:38 <tusho> Slereah: Invent it!
22:03:56 <Slereah> It isn't my life mission
22:04:01 <Slereah> Do it yourself.
22:04:04 <augur> is there any programming language thats not piet-like which requires the you program visually in order to actually achieve anything quickly?
22:04:08 <tusho> Slereah: But ... you're Slereah
22:04:15 <tusho> augur: yes
22:04:16 <tusho> subtext
22:04:17 <tusho> I believe
22:04:19 <tusho> non-eso, well. eso.
22:04:36 <Slereah> I'm Slereah, not ais :o
22:05:14 <tusho> Slereah: :|
22:05:45 -!- Deformati has changed nick to Deformative.
22:14:07 <augur> im looking at subtext
22:14:14 <augur> and i dont know
22:14:19 <augur> its so.. bulky
22:16:13 <tusho> Hi.
22:16:20 <tusho> Subtext sucks yeah
22:16:28 <augur> i mean
22:16:47 <tusho> Oh, and.
22:16:49 <augur> i can easily imagine a text based language that achieves similar results
22:16:54 <tusho> I'm workign on a fun dependently-typed language
22:17:03 <tusho> Basic syntax, basically like haskell.
22:17:17 <tusho> id : forall \a. a -> a; id a = a;
22:17:56 <augur> forall \a???
22:18:30 <tusho> augur: forall is a function
22:18:33 <augur> right
22:18:34 <augur> but
22:18:35 <tusho> forall : (Type -> a) -> a
22:18:35 <augur> \a?
22:18:40 <tusho> (\a. b) is a lambda
22:18:47 <tusho> like Haskell's (\a -> b)
22:18:52 <tusho> because: forall : (Type -> a) -> a
22:19:02 <augur> oh i see what you're doing
22:19:17 <augur> no i dont :D
22:19:29 <tusho> augur: types are just code
22:19:32 <augur> i know that
22:19:40 <augur> but i dont see how your forall is working
22:19:47 <tusho> augur: well, the function itself is magical
22:19:47 <tusho> but
22:19:51 <tusho> forall (\a. a -> a)
22:19:56 <tusho> it's just calling forall with a function
22:19:59 <tusho> that takes a type and returns a type
22:20:03 <augur> but whats the functon?
22:20:06 <tusho> augur: a primitive
22:20:13 <tusho> it's just Haskell's 'forall'
22:20:20 <augur> no i mean what is (\a. a -> a)
22:20:52 <tusho> augur: uh, a function
22:20:56 <tusho> it takes an argument a, and returns (a -> a)
22:21:02 <tusho> (->) : Type -> Type -> Type;
22:21:03 <tusho> obviously
22:21:06 <augur> ok.
22:21:06 <tusho> it's the function type
22:21:13 <tusho> so
22:21:18 <augur> thats weird to me
22:21:20 <tusho> forall \a. a -> a : Type
22:21:22 <augur> haskell doesnt do it that way
22:21:29 <tusho> augur: haskell has a seperate type and value language
22:21:38 <tusho> in this, the type system language is the value language
22:21:41 <augur> in haskell the id function would be of type
22:21:46 <tusho> augur: I know haskell, kthx.
22:21:49 <augur> ok.
22:21:58 <tusho> But apparently you were not telling the truth when you said you understood types as values..
22:22:07 <augur> no, i didnt understand your notation
22:22:09 <augur> kthxbai
22:22:34 <tusho> augur: can you understand this
22:22:37 <tusho> func (\a. a + 1)
22:23:06 <Slereah> What's a kitty program in Scheme?
22:23:13 <augur> yes, its a function func applied to a lambda \a.a+1
22:23:16 <Slereah> Googling cat and scheme did not fare too well.
22:23:27 <tusho> augur: what about this
22:23:30 <tusho> forall (\a. a + 1)
22:23:35 <augur> :P
22:23:36 <tusho> it's a function forall applied to a lambda \a.a+1
22:23:40 <tusho> right?
22:23:42 <augur> yes.
22:23:50 <tusho> augur: now
22:23:51 <tusho> imagine this
22:23:55 <tusho> (->) : Type -> Type -> Type;
22:24:04 <tusho> that is, (a -> b) where a and b are types, is a type
22:24:09 <tusho> augur: (->) is just a regular function
22:24:13 <tusho> takes two types, returns a type.
22:24:14 <tusho> Denotes a function.
22:24:17 <tusho> augur: Understand so far?
22:24:20 <augur> yes :P
22:24:29 <tusho> augur: ok
22:24:34 <tusho> forall (\a. a -> a)
22:24:58 <tusho> forall : forall \a. (Type -> a) -> a; (Yes obviously we get into recursion here.)
22:25:08 <tusho> So, {{forall (\a. a -> a)}} is a Type.
22:25:15 <tusho> It happens to be the type of id.
22:25:29 <augur> ok now i think you're over my head but whatever :P
22:25:33 <tusho> augur: what
22:25:42 <tusho> you understand forall (\a. b)
22:25:45 <tusho> and a -> b
22:25:49 <tusho> but not forall (\a. a -> b)?
22:25:50 <augur> nevermind tusho
22:25:51 <tusho> that makes no sense
22:26:09 <tusho> Slereah: ok, do _you_ grok dependent types
22:26:25 <Slereah> No.
22:27:28 <tusho> Ok, who does.
22:27:42 <Slereah> You?
22:28:21 <oklopol> augur: is there an esolang with unary numbers? <<< in many languages you have to build numbers from zero and succ, and in many languages you just have increment, decrement and zero-check, but "having unary numbers" doesn't really mean anything :)
22:28:35 <tusho> oklopol: do you understand dependent types
22:29:12 <augur> tusho doesnt like that i didnt understand him so now hes determined to find someone who does understand him so he wont feel alone
22:29:33 <augur> tusho: my problem is more with your use of forall on a LAMBDA not on a TYPE
22:29:36 <augur> thats what i dont get
22:29:51 <Slereah> Don't worry tusho, we still love you
22:29:57 <tusho> augur: forall gives its lambda a forall'd type.
22:29:59 <Slereah> Even if you love dependant types
22:30:09 <tusho> forall (\a. In here, 'a' is a 'forall'd type)
22:30:10 <augur> what?
22:30:19 <tusho> augur: one line up.
22:30:21 <tusho> forall (\a. In here, 'a' is a 'forall'd type)
22:30:27 <augur> what?
22:30:34 <tusho> augur: what? what? what? what? what?
22:30:37 <tusho> forall (\a. In here, 'a' is a 'forall'd type)
22:30:46 <augur> i can keep typing what all night long
22:31:08 <tusho> augur: maybe you would get further if you explained which part doesn't make sense.
22:31:20 <augur> i did: foralling a lambda.
22:31:29 <tusho> augur: how about this
22:31:38 <tusho> giveMeAForalldTypePlease (\a. In here, 'a' is a 'forall'd type)
22:31:49 <augur> nope, that makes no sense.
22:31:56 <tusho> augur: why the hell not
22:32:03 <augur> because you're confusing.
22:32:24 <tusho> augur: 'forall a. b' in haskell
22:32:27 <tusho> is:
22:32:34 <tusho> 'give me a forall'd type - call it a - and then, b'
22:32:49 <tusho> my 'forall' just makes that explicit: the 'giving' is where it gives it to the function it's passed.
22:33:23 <augur> well your forall is confusing to me.
22:33:36 <oklopol> i don't see why people are so obsessed with preventing spam, i never get any, and i always boldly give out my villsalo@tkukoulu.fi email address without encryption
22:33:40 <tusho> augur: wow really.
22:33:50 <augur> haskells is clearer to me, yes.
22:34:04 <tusho> augur: yes, but haskell is two languages
22:34:09 <tusho> 'haskell', and 'haskell's types'
22:34:11 <augur> well whatever
22:34:12 <tusho> mine is just one unified language.
22:34:16 <augur> good for you
22:34:19 <tusho> it is its own type system
22:34:28 <tusho> oklopol: sure - but this way lets you report spammers
22:34:30 <tusho> which is phun
22:36:39 <Slereah> Is there a list of cat programs somewhere?
22:38:08 <oklopol> nopol is based on nop-calculus ofc
22:38:33 <augur> tusho did you just confuse the haskellians as well? lol
22:38:39 <tusho> augur: no.
22:38:46 <augur> i think you did
22:39:00 <tusho> augur: most of them actually understand dependent types, types-as-values, values-as-types, and type systems
22:39:03 <tusho> far more than me, too
22:39:11 <tusho> so, no, you're the only confused one
22:39:24 <augur> and yet they're not assholes when someone doesnt understand it like you are
22:39:44 <tusho> augur: I haven't been an asshole.
22:39:44 <augur> they're kind and gentle and loving
22:39:47 -!- jix has quit ("CommandQ").
22:39:52 <tusho> If you'd kindly point out where I have been...
22:40:54 * Slereah points to tusho's ass
22:41:15 <Slereah> *tusho's tushy
22:41:32 -!- jfredett has quit (Read error: 104 (Connection reset by peer)).
22:41:59 <tusho> suck it up
22:42:01 <tusho> wait, no, I'm not into that
22:42:50 <Slereah> This will be archived and held against you.
22:43:25 <tusho> Slereah: I've said far worse
22:43:42 <oklopol> tusho: i admit reporting spammers is fun, but i don't actually have anything against them
22:44:38 <tusho> oklopol: why not?
22:45:04 <oklopol> should i ?
22:45:54 <Slereah> Yes.
22:46:14 <augur> ok so tell me what you think of this model for a reactive language's implementation: you'd set up your definitions, like x^2 + y -> z, which would get transformed into a dependency table like x: (z,x^2 + y), y: (z,x^2+y)
22:47:15 <augur> when x or y is changed, the interpreter looks up the variable in the dependency table, and for all pairs, it goes through and updates the values in each of those variables useing the stored function
22:47:25 <oklopol> what's "->"
22:47:36 <oklopol> is it "?="
22:47:38 <augur> the arrow showing dependencies
22:47:40 <oklopol> *"="?
22:47:44 <oklopol> hmm
22:47:49 <oklopol> what does that mean?
22:47:54 <augur> x -> y means "the value of x gets pushed into y"
22:48:01 <augur> so whenever you change x, you also force a change in y
22:48:21 <augur> its sort of the reverse of a function i guess you could say
22:48:40 <oklopol> i guess you could say it's "="
22:48:59 <augur> if you had a function like z = x^2 + y, whenever you ask for z, it goes out and finds x and y and performs the function and returns the value
22:49:04 <augur> whereas reactively the reverse happens
22:49:26 <augur> whenever you change x or y, the change cascades to everything thats defined in terms of it
22:50:36 <augur> its just functions from the other direction
22:50:49 <augur> functions get called, which pulls values int
22:50:59 <augur> in*
22:51:01 <augur> reactions get triggered, which pushes values out
22:51:27 <augur> functions get values when values are requested, reactions push values when values change
22:52:21 <oklopol> dataflow programming, i get it
22:52:32 <augur> well, reactive programming, but sure.
22:52:42 <oklopol> yarrrrrrrrrrrr
22:53:40 <augur> anyway, so thats my idea of interpreting it: when you set up a reaction like x^2 + y -> z
22:54:07 <augur> what the interpreter does is set up an entry in the dependency table for x and for y, each saying that z gets the value x^2+y
22:54:49 <augur> so when you say 5 -> y, or something, the interpreter looks up y and says, aha, z depends on y, let me set the new value of z.
22:55:44 -!- Judofyr has quit.
22:56:39 <oklopol> AND FIXED-POINTS FOR CIRCULAR DEPENDENCY!!
22:56:48 <tusho> YES
22:56:48 <oklopol> EF, HAVE I MENTIONED EF TODAY??!?!?
22:56:59 <oklopol> ...that was fast.
22:57:25 <tusho> oklopol: now what I said about all expressions returning infinite values, your directed-to-halting-problem-computation idea, where the halting function returns the infinite cyclic list of {T,F,T,F,T,F,...}, and how every expression filters over the infinite set of everything
22:57:26 <tusho> DISCUSS
22:57:53 -!- Corun has joined.
22:59:26 <Slereah> Hm. I should start writing up the specs for Limp while waiting for the pi.0
23:02:40 <oklopol> tusho: coooool
23:02:51 <tusho> oklopol: I know
23:02:51 <oklopol> i was thinking, quining + H()
23:03:02 <tusho> oklopol: ok, now we have to munge that into my infinite-list-of-values thing
23:03:07 <tusho> I already mugned H() into it as you can see
23:03:11 <tusho> so we need to munge the quining into this paradigm
23:03:21 <tusho> and then make it into the exprs-filter-everything paradigm
23:03:22 <oklopol> H() needs to be the only way to loop
23:03:23 <tusho> once we've done that
23:03:26 <tusho> WE GET THE LANGUAGE!
23:03:50 <oklopol> :)
23:03:54 <oklopol> THE LANGUAGE
23:03:56 <oklopol> written in all caps
23:04:11 <oklopol> ALSO ALL SENTENCES CONTAINING THE NAME THE LANGUAGE SHOULD BE IN CAPS.
23:04:21 <oklopol> that's part of the name.
23:04:39 <tusho> oklopol: yes
23:04:43 <tusho> THE LANGUAGE WILL BE AWESOME
23:04:49 <tusho> oklopol: wow, it's like those right-to-left unicode characters
23:04:53 <tusho> they affect everything around them
23:04:59 -!- timotiis has joined.
23:06:27 <oklopol> yes!
23:06:34 <oklopol> exactly what i was thingering
23:06:37 <oklopol> *thinking
23:08:54 <tusho> oklopol: this is great
23:09:00 <tusho> oklopol: and this language is even implementable
23:09:05 <tusho> because H doesnt' actually caclulate it
23:09:06 <tusho> well it does
23:09:17 <tusho> it just gives a cyclic list of both possibilities (T and F)
23:09:21 <tusho> so it's not very useful
23:09:22 <tusho> but, it will be
23:09:24 <tusho> just not directly
23:09:25 <tusho> :D
23:17:21 <oklopol> i'm not in a very intelligent mood atm, so i can only humor you with random comments
23:17:30 <Slereah> Ah shit
23:17:37 <Slereah> I almost made a cat program
23:17:44 <oklopol> but i do think H might own in an esolang, as a looping construct
23:17:45 <Slereah> But it only worked once.
23:17:50 <Slereah> Bloody Scheme.
23:18:49 <Slereah> What does not compute in ((u) (u) (display (read))?
23:18:55 <Slereah> Where u is the Turing combinator.
23:19:16 <Slereah> It asks for input, output it, and then asks for input but never output it anymore.
23:20:13 <tusho> Slereah: Define u.
23:20:37 <tusho> Slereah: (And why not just use a regular loop? Scheme isn't combinator-land.)
23:20:39 <Slereah> (define (u) (lambda (x y) (y (x x y))
23:21:00 <Slereah> Well, I made the same program in Lazy Bird.
23:21:06 <oklopol> you're using it funnily
23:21:11 <Slereah> So I thought I might as well get my money's worth
23:21:15 <oklopol> define that is
23:21:37 <Slereah> Plus I'm not sure how to loop in scheme.
23:22:05 <tusho> wait
23:22:11 <tusho> Slereah: (u) is returning a lambda
23:22:12 <tusho> why not
23:22:18 -!- revcompgeek has joined.
23:22:19 <tusho> (define (u x y) (y (x x y)))
23:22:20 <tusho> used as
23:22:21 <Slereah> I could use recursion to get in the functional mood, but well.
23:22:22 <tusho> (u x y)
23:22:39 <Slereah> Does it matter that it's a lambda?
23:23:32 <tusho> Slereah: (define (u) (lambda
23:23:33 <Slereah> Nop, same problem
23:23:34 <tusho> bzzt! stupid.
23:23:43 <tusho> Why is 'u' a function that does nothing but return another function?
23:23:50 <tusho> Why not just define u to be the function:
23:23:52 <Slereah> Also, segfault error butt
23:23:53 <tusho> (define u (lambda (x y) ...
23:24:05 <tusho> Which then, optionally, reduces to (define (u x y) ...
23:24:19 <Slereah> Well, it's all fine and dandy
23:24:23 <tusho> oklopol: Slereah is treating scheme like a cross of Python and the lambda calculus, which is resulting in MUCH FUN for me..
23:24:26 <tusho> Slereah: No, no it's not.
23:24:35 <Slereah> But it works exactly the same way as the lambda :o
23:24:47 <Slereah> That is, not very well.
23:25:10 <Slereah> Why does it no work?
23:26:40 <tusho> Because you're not learning scheme, you're just inputting crap into the interp.
23:26:47 <Slereah> :o
23:26:50 -!- oklofok has joined.
23:26:51 <Slereah> Hm.
23:26:52 <Slereah> Wait
23:27:00 <Slereah> The first y could probably go away
23:27:42 <Slereah> It works no better :o
23:39:21 -!- Slereah5 has joined.
23:39:22 <Slereah5> Oh shitcock.
23:39:39 <Slereah5> I need moar niggabits
23:40:01 <Slereah5> [00:26:52] <Slereah> The first y could probably go away
23:40:01 <Slereah5> [00:27:33] <Slereah> It works no better :o
23:40:01 <Slereah5> [00:28:14] * Disconnected
23:40:08 <Slereah5> Was I saying
23:40:09 <tusho> <Slereah> It works no better :o
23:40:09 <tusho> * Slereah5 (n=hax@ANantes-252-1-5-151.w82-126.abo.wanadoo.fr) has joined #esoteric
23:40:14 <Slereah5> But at least, no segfault!
23:40:25 <tusho> Slereah: I hope you're using the Dr Scheme IDE?
23:40:34 <tusho> And not, like, editing with notepad and running it from the commandline.
23:40:35 <Slereah5> Yes, yes I am.
23:40:44 <tusho> Slereah: And actually running the scheme inside it?
23:40:46 <tusho> With the Run button?
23:41:03 <Slereah5> Not the run button, no.
23:41:31 <tusho> Slereah: What, then?
23:46:38 -!- oklopol has quit (Connection timed out).
23:49:00 -!- Slereah5 has quit (Read error: 104 (Connection reset by peer)).
23:49:09 <augur> :(
23:49:12 <augur> missoklopol
23:49:15 -!- Slereah has quit (Read error: 110 (Connection timed out)).
23:49:39 -!- Slereah5 has joined.
23:49:41 <Slereah5> >:|
23:49:48 -!- Slereah5 has changed nick to Slereah.
23:54:09 <Slereah> Seems to be stable now.
23:54:21 <Slereah> Although still low
23:54:42 <tusho> awwkage
23:56:49 <Slereah> Them Scheme input is no fun.
23:56:59 <Slereah> Or output, I'm not too sure
23:58:45 <Slereah> Well, it works perfectly with input alone
23:58:50 <Slereah> But not output alone
←2008-06-04 2008-06-05 2008-06-06→ ↑2008 ↑all