←2007-07-10 2007-07-11 2007-07-12→ ↑2007 ↑all
00:10:57 <fax> http://img170.imageshack.us/img170/2310/hownottoteachrecursionyu0.png
00:13:26 <Sukoshi> fax: I was reading a slideshow on it
00:13:27 <Sukoshi> .
00:16:45 <bsmntbombdood> how can you "teach recursion"
00:16:49 <bsmntbombdood> that's stupid
00:18:06 <fax> bsmntbombdood: my computing teacher in high school fears recursion
00:18:13 <bsmntbombdood> lol wtf
00:18:18 <fax> but he taught really well
00:18:29 <bsmntbombdood> and what's a computing teacher?
00:18:38 <lament> recursion is a fairly difficult concept
00:19:08 <lament> actually recursion is a logical and simple consequence of the behaviour of functions, which is a fairly difficult concept that many don't teach properly.
00:19:32 <bsmntbombdood> nobody ever "taught" me recursion
00:19:43 <fax> bsmntbombdood: me neither...
00:19:46 <lament> most high school students have a rather vague understanding of even functions in math
00:19:57 <lament> and those never recurse
00:20:00 <fax> It doesn't mean that most kids in HS will be able to use it to their advantage
00:20:29 <bsmntbombdood> recursion makes most things so elegant
00:23:37 <lament> doesn't mean it's easy to teach or to learn
00:25:08 <bsmntbombdood> i don't see what's hard about it
00:25:23 <lament> that's okay, just don't assume that it's easy for others as well
00:25:47 <lament> i don't see what's hard about singing in tune, but some people just can't do it
00:26:08 <bsmntbombdood> signing is an actual physical skill
00:26:33 <fax> some peoples brain are conditioned in certain ways..
00:26:46 <bsmntbombdood> i think people are just stupid
00:26:58 <fax> I guess so
00:27:20 <fax> or dont care enough to bother
00:27:44 * SimonRC indicates _The Perils Of Java Schools_.
00:28:06 <bsmntbombdood> good essay, there
00:29:24 <Sukoshi> Recursion is slow and detrimental, which is why they don't learn it.
00:29:25 <Sukoshi> [/joke]
00:29:45 <fax> heh
00:29:48 <fax> they do learn THAT though
00:29:53 <Sukoshi> :P
00:30:02 <bsmntbombdood> "use a stack, not recursion"
00:30:14 <Sukoshi> I tend to use much more iterative code than recursive code, but I'm comfortable enough in both.
00:30:15 <bsmntbombdood> that makes me go )F(*)(S*DF)(*\$#JN)(*)(*)# every time i see it
00:30:19 <fax> heh
00:30:25 <Sukoshi> Well, a Stack *is* faster.
00:30:32 <fax> I like languages in which all the loop constructs are implemented as recursion
00:30:34 * bsmntbombdood beats Sukoshi
00:30:44 <lament> bsmntbombdood: no, people are not stupid
00:30:45 <bsmntbombdood> recursion is a fucking stack
00:30:53 <bsmntbombdood> lament: yes they are
00:30:58 <lament> bsmntbombdood: everybody has difficulty learning new things
00:31:05 <lament> bsmntbombdood: and many people have difficulty teaching new things
00:31:10 <Sukoshi> lament: He's having difficulty learning that.
00:31:11 <lament> bsmntbombdood: and many of those are teachers :)
00:31:45 <bsmntbombdood> conventional schooling is broken
00:32:07 <Sukoshi> Hippies are too.
00:32:35 <Sukoshi> Ever heard of balance bsmntbombdood ? People can like both.
00:32:38 <lament> These _are_ difficult concepts. They require a fairly big solid foundation of other concepts. Unfortunately, that foundation is often incomplete.
00:32:59 <Sukoshi> You're as uncomprimising as your hard-line counterparts on the iteration side.
00:33:11 <bsmntbombdood> Sukoshi: iteration is only tail recursion
00:33:19 <Sukoshi> *Sigh*
00:33:25 <lament> seems like you don't understand iteration, bsmntbombdood
00:33:37 <lament> :)
00:33:41 <oklopol> conventional schooling on the low levels is broken in that it targets only those in the class who do not listen.
00:33:45 <oklopol> low
00:33:46 <oklopol> i mean, young
00:33:48 <oklopol> :|
00:34:24 <bsmntbombdood> lament: how's that?
00:34:36 <oklopol> well, that's my experience, perhaps finland just sucks
00:34:58 -!- oerjan has quit ("Good night").
00:36:00 <lament> bsmntbombdood: iteration refers to repeating a command or a sequence of commands several times.
00:36:25 <lament> bsmntbombdood: why are you trying to explain it in terms of much more complex concepts?
00:37:51 <bsmntbombdood> iteration is a subset of recursion
00:37:56 <lament> no, it's not.
00:38:00 <bsmntbombdood> yes it is
00:38:26 <fax> I do not agree with that bsmntbombdood
00:38:33 <oklopol> i do!
00:38:33 <lament> bsmntbombdood: no, it's not.
00:38:40 <oklopol> but what do i know
00:38:40 <bsmntbombdood> how is it not?
00:39:17 <Sukoshi> bsmntbombdood: When you recurse, you execute a function multiple times, within the function's definition.
00:39:24 <lament> bsmntbombdood: "recursion" is a behavior of recursive functions.
00:39:42 <bsmntbombdood> iteration is a behavior of some recursive functions
00:39:43 <Sukoshi> bsmntbombdood: When you iterate, you execute a statement many times, not executing the function you are in.
00:39:46 <lament> bsmntbombdood: no.
00:39:54 <bsmntbombdood> yes
00:39:57 <lament> bsmntbombdood: iteration is a behavior of commands. Functions are never involved.
00:40:03 <fax> you can have some iterative process, which has zero to do with recursion
00:40:11 <fax> for example while(1) { .... }
00:40:11 <bsmntbombdood> everything is a function
00:40:18 <Sukoshi> Ugh.
00:40:24 <bsmntbombdood> (let f () ... (f))
00:40:28 <fax> thats not true in general bsmntbombdood
00:40:29 <Sukoshi> bsmntbombdood: There's a world outside of Scheme.
00:40:47 <Sukoshi> Is he attempting to be obtuse on purpose?
00:40:48 <bsmntbombdood> all iteration is reducable to recursion
00:41:01 <fax> yes and all men are reducable to tears
00:41:04 <Sukoshi> bsmntbombdood: Yes, and?
00:41:05 <fax> but it doesn't mean they *are*
00:41:15 <lament> bsmntbombdood: no
00:41:17 <lament> bsmntbombdood: not "reducible"
00:41:24 <Sukoshi> Well, abstractable to.
00:41:27 <lament> bsmntbombdood: it's not "reduction" when you actually introduce a new, alien concept to explain it.
00:41:55 <bsmntbombdood> if iteration isn't recursion, you need two different concepts
00:41:59 <bsmntbombdood> why not only have one?
00:42:12 <lament> bsmntbombdood: because there're two different concepts. Such is life.
00:42:13 <fax> bsmntbombdood: Because the *are* different
00:42:15 <fax> consider
00:42:16 <fax> FOO:
00:42:18 <bsmntbombdood> they aren't different
00:42:19 <fax> <somthing>
00:42:23 <fax> GOTO FOO;
00:42:44 <lament> bsmntbombdood: er, of course they're different.
00:42:47 <fax> there is nothing actually recursive about it, just because you can imagine some brackets around that
00:42:48 <bsmntbombdood> fax: (let foo () <something> (foo)), recursion
00:42:58 <oklopol> well, it's nice to think iteration is a subset of recursion, since iterative -> recursive is trivial, thile recursive -> iterative is not
00:43:03 <lament> bsmntbombdood: for example, if i tell you "shut up", there're no functions involved.
00:43:12 <lament> it's just a command.
00:43:39 <lament> And if i tell you "Go bang your head on the wall ten times", that's iteration, and again there're no functions involved.
00:43:42 <Sukoshi> *Squeak* Everything's a function.
00:44:04 <fax> I don't like laments examples :p
00:44:13 <Sukoshi> Well, he's true.
00:44:30 <Sukoshi> Recursion must occur *in the body of a function*, whereas iteration does not care about the function definition.
00:44:40 <bsmntbombdood> all computation is recursion
00:44:47 <bsmntbombdood> no need to introduce other concepts
00:44:49 <lament> bsmntbombdood: have you heard of wave-particle duality?
00:44:55 <bsmntbombdood> no
00:44:58 <fax> Sukoshi: I don't agree that recusion has to be a functional thing
00:44:59 <Sukoshi> O_O
00:45:21 <Sukoshi> fax: I would say that the majority (if not all) iterative processes are generalizable to recursive processes.
00:45:24 <lament> fax: then you're wrong. It has.
00:45:36 <bsmntbombdood> Sukoshi: yes, all
00:45:41 * bsmntbombdood gone for some time
00:45:47 <fax> lament: You fail to give any reasonable argument so your statement is useless
00:45:56 <fax> "Im right" does not hold
00:46:09 <Sukoshi> bsmntbombdood has obviously never encountered something called ``speed''.
00:46:09 <fax> Sukoshi: yeah, I mean they are
00:46:13 <Sukoshi> Or ``usefulness''.
00:46:22 <Sukoshi> He's just being a weenie.
00:46:23 <lament> fax: in this case, the argument is simply "consult any definition of recursion"
00:46:31 <fax> speed and usefulness is not relevant
00:46:42 <fax> lament: Maybe that definition is flawed...
00:47:13 <Sukoshi> Well, his argument is flawed to begin with.
00:47:15 <fax> for example there are many mathematical terms which have been Redefined for the purposes of computing
00:47:15 <fax> e.g. Natural numbers
00:47:32 <Sukoshi> Well, hmm. Not flawed.
00:47:36 <Sukoshi> He's just being an idiot.
00:47:49 <fax> Sukoshi: no need for that :(
00:47:51 <lament> fax: sure
00:47:56 <Sukoshi> fax: He is.
00:48:00 <fax> hes got an urge to reduce everything to axioms
00:48:06 <fax> dont we all? :)
00:48:18 <Sukoshi> It doesen't take a person with much brains to realize that recursion is a super-process of iteration.
00:48:33 <lament> fax: but i've never seen any disagreement about the meaning of recursion. The concept is actually central to computer science (since it forms part of the church-turing thesis)
00:49:00 <fax> Sukoshi: Now you are agreeing with bsmntbombdood :p
00:49:13 <lament> what's a superprocess?
00:49:15 <oklopol> (oklopol also agrees!)
00:49:22 <oklopol> (but silently.)
00:49:41 <lament> The problem is not with recursion vs. iteration
00:49:48 <lament> the problem is with functions vs. commands
00:50:16 <lament> the distinction between functions and commands is very much like the wave-particle duality
00:50:21 <lament> you need both concepts
00:50:27 <Sukoshi> Well, I assumed almost everyone understood that it's possible to generalize most iterative behavior into recursivity.
00:50:29 <lament> even though often they're mostly equivalent
00:50:48 <Sukoshi> But he's saying that there should be one and only one, and that's stupid.
00:51:12 <oklopol> i also agree with lament and Sukoshi
00:51:43 <SimonRC> zzzzzz
00:51:52 <lament> what's important in this case, as we were talking about _teaching_ recursion, is that commands are much more easily understood by many people
00:52:02 <lament> for this reason, iteration is easier to teach
00:52:31 <lament> and trying to shoehorn it into recursion removes that advantage
00:53:23 <lament> a command is a very human concept. Many *human* languages have special syntax for commands. What human language has functions?
00:53:42 * ihope ponders
00:53:57 <ihope> Many things are a little like functions.
00:54:17 <lament> well, you could say that words are
00:54:21 <bsmntbombdood> human language should not cloud computation
00:54:26 <ihope> "the front of" is like a function from a thing to its front.
00:54:37 <lament> ihope: hehehe
00:54:41 <ihope> :-)
00:55:12 <ihope> The fixed point: "that which is its own front"
00:55:24 <oklopol> was jsut thinking that :D
00:55:27 <oklopol> *just
00:55:33 <oklopol> though i didn't have that cool term.
00:55:41 <lament> bsmntbombdood: the key reason for not treating everything as functions is that side effects are MUCH easier to express in the imperative world
00:55:45 <oklopol> in mine it was infinite recursion.
00:55:53 <bsmntbombdood> you only need two concepts for computation: creation of functions, and calling of functions
00:56:34 <bsmntbombdood> there's no need to cloud the issue with unnecessary junk
00:56:58 <bsmntbombdood> lament: there's a reason SICP introduces side effects late in the book
00:57:02 <Sukoshi> No, you only need an infinite tape and modifications to this tape.
00:57:20 <lament> Sukoshi: i was just going to say that :)
00:57:25 <Sukoshi> lament: Heh.
00:57:33 <bsmntbombdood> equivelant but very different basises for computation
00:57:56 <Sukoshi> If you enjoy Church's point of view more than Turing's point of view, have fun. But don't go all One True Path.
00:57:56 <fax> all you need is λ
00:58:06 <fax> ~ λ λ λ all you need is λ ~
00:59:00 <lament> bsmntbombdood: lambda calculus is very clumsy at expressing certain concepts that the imperative model expresses very easily.
00:59:13 <bsmntbombdood> and the same the other way
00:59:26 <oklopol> lament: can you show an example?
00:59:33 <lament> bsmntbombdood: Do you know about spherical and cartesian coordinate systems?
00:59:40 <lament> oklopol: sure. PRINT "HELLO WORLD"
00:59:53 <oklopol> heh, you're right :P
01:00:48 <lament> bsmntbombdood: You only need one coordinate system. They're all equivalent. Yet for each problem, we pick whichever coordinate system makes the problem easier to solve.
01:00:54 <lament> Restricting ourselves to one would be pointless, since we already know they're equivalent.
01:02:52 <lament> For the same reason we have more than one programming language.
01:03:03 <lament> (going home, back in 20 minutes)
01:14:59 <Sukoshi> That's quite crazy lament.
01:15:02 <Sukoshi> I never could have thought of that.
01:15:36 <oklopol> Sukoshi: what do you mean by that?
01:16:07 <Sukoshi> oklokok: Sarcasm.
01:16:24 <oklopol> i mean, what is the purpose of your sarcasm :\
01:16:53 <Sukoshi> To rub it in.
01:16:57 <fax> just define a function which prints...
01:17:01 <fax> and strings
01:17:02 <oklopol> i see
01:19:16 <bsmntbombdood> lament: that doesn't mean iteration is a different concept thatn recursion
01:19:22 <oklopol> Sukoshi: is that a childish way to try to explain to someone why there's need for multiple concepts?
01:19:31 <oklopol> or what exactly are you rubbing :|
01:21:13 <oklopol> god, page 550 and still it seems like this guy's never heard of turing completeness
01:22:26 <Sukoshi> Heh.
01:22:32 <Sukoshi> That's Wolfram for ya.
01:22:52 <oklopol> "And one might therefore suppose that an alien intelligence vould exist which would be able to look at our pictures and immediately tell that they were produced by a very simple procedure. But in fact I very much doubt that this will ever be the case. For I suspect that there are fundamental limitations on what perception and analysis can ever be expected to do."
01:22:57 <oklopol> longish quote
01:23:32 <oklopol> i got that expression, at least
01:23:55 <lament> Sukoshi: i don't understand what you're trying to say.
01:26:39 <bsmntbombdood> polar and cartesion coordinates are exactly the same
01:27:00 <bsmntbombdood> polar = cartesian
01:27:05 <fax> theres an infinite number of ways to express the origin in polar
01:27:05 <bsmntbombdood> recursion > iteration
01:27:12 <fax> only one way in carteasian
01:27:37 <lament> bsmntbombdood: I wasn't talking about recursion vs. iteration. I was talking about functions vs. commands.
01:27:49 <bsmntbombdood> what's a command?
01:27:55 <lament> Go fuck yourself.
01:28:20 <bsmntbombdood> how is that not a function?
01:28:39 <fax> lament loses the ability to discuss :p
01:29:11 <bsmntbombdood> and fucking is hardly computational
01:29:14 <lament> bsmntbombdood: a function takes an argument and returns a result (unless it fails to halt)
01:29:29 <lament> bsmntbombdood: where does any of that happen in, say, PRINT "HELLO WORLD"?
01:29:44 <bsmntbombdood> that's not compuation
01:30:09 <lament> what about X=X+1 ?
01:30:14 <oklopol> set_reg_a 1
01:30:17 <oklopol> inc_reg_a
01:30:36 <lament> nice, JIT compilation provided by oklopol :D
01:30:43 <oklopol> :DD
01:30:47 <oklopol> that was an accident
01:33:56 <lament> bsmntbombdood: the imperative model includes the concept of "world state". The functional model doesn't (there's no world state in lambda calculus) unless you explicitly introduce it (or arbitrarily declare some value to be the "world state"). For this reason, the imperative model is so convenient for describing processes which change the world state.
01:38:00 <oklopol> thank you, wolfram, "it turns out in general to be impossible to determine in any finite way whether any particular thing can ever be generated from a short description."
01:38:14 <oklopol> 554 pages, and finally i know he knows the basics :)
01:38:25 <oklopol> teh basix.
01:39:45 <lament> oklopol: you're reminding me of my roommate. He was reading a really long book and constantly complaining about it (usually, about how long it was). It took him forever to get through it.
01:40:03 <oklopol> :P
01:40:30 <oklopol> i guess i should stop that and read.
01:40:38 <lament> (i kept telling him to stop reading him, and he said "No, it's awesome")
01:40:41 <lament> *stop reading it
01:41:19 <oklopol> i'll say the same
01:41:36 <oklopol> because i'm stupid like that
01:41:49 <oklopol> or whatever adjective i shoudl've put there
01:41:53 <oklopol> *should
01:42:50 <bsmntbombdood> lament: i never said assignment was bad
01:43:27 <bsmntbombdood> oklopol: kolgomorov complexity, anyone?
01:43:35 <lament> bsmntbombdood: I never implied you have...
01:43:48 <oklopol> bsmntbombdood: that's teh basix.
01:43:54 <bsmntbombdood> lament: yes you did
01:44:04 <lament> show me where.
01:44:05 <bsmntbombdood> your message 10 minutes ago
01:44:23 <fax> I like the proofs relating to kolgomorov complexity
01:44:36 <lament> bsmntbombdood: hm, i don't see it :(
02:13:16 <ihope> Isn't PRINT "HELLO WORLD" in lambda calculus comparable to the same thing in BF-without-IO?
02:18:58 <ihope> And isn't it really easy in Haskell? :-P
02:28:36 <lament> ihope: BF-without-IO is not "the imperative model", and Haskell is not "the functional model".
02:32:35 <lament> haskell gives a mechanism for dealing with the world state
02:32:53 <fax> :D
02:33:01 <fax> someone should teach me how to write Monads :p
02:33:03 <lament> but this mechanism is haskell-specific and is an _extension_ of the underlying lambda calculus stuff.
02:33:40 <lament> (and other mechanisms are possible)
02:54:51 <oklopol> Sukoshi: your idea about playing ca is considered in the book
02:54:53 <oklopol> at about 600
02:55:18 <oklopol> i love it how the human perception is constantly put down here :P
02:56:55 <oklopol> it's considered very briefly though
02:57:34 <oklopol> he just says the human ear cannot notice squat.
03:02:23 -!- peterius has joined.
03:10:18 -!- peterius has quit ("Leaving").
03:19:16 -!- GreaseMonkey has joined.
05:07:58 -!- kwertii has joined.
05:10:16 -!- RodgerTheGreat has quit.
05:14:23 -!- Sgeo has joined.
05:30:15 -!- fax has quit (" ").
06:44:23 -!- ihope_ has joined.
06:46:30 -!- kwertii has quit.
06:48:38 -!- Sgeo has quit ("Ex-Chat").
06:50:13 <Sukoshi> oklopol: Wow. How much do you read at a time?
06:50:24 <Sukoshi> That book is not interesting to warrant more than an hour of reading, I find.
06:52:21 <Sukoshi> Well, the beginning was interesting, but now it becomes like Wow-OMG-CELLAHLUHR-OTTOMATTA-IS-SO-COOLZ!!!
06:59:53 -!- ihope has quit (Connection timed out).
07:16:59 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:58:47 -!- ihope_ has quit (Read error: 104 (Connection reset by peer)).
09:18:29 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
09:19:29 -!- bsmntbombdood has joined.
09:50:12 -!- RedDak has joined.
10:35:29 <GreaseMonkey> hoffman encoding is legendary, and so is shift-LZ
10:36:59 -!- ehird has joined.
10:43:26 <Sukoshi> O rly?
10:44:42 <ehird> not rly.
10:56:08 <oerjan> Once upon a time there was a kingdom where people didn't know of a way to store data other than in full size. Also most people were poor and had little memory.
10:57:11 <oerjan> In a small village there lived three poor computer scientists named Huffman, Lempel and Ziv.
10:58:34 <ehird> heh
10:58:50 <oerjan> (The evil king Bill had decreed that noone needed more than 640K)
11:03:52 <oerjan> SPAM, SPAM, WONDERFUL SPAM
11:04:03 <oerjan> (wrong channel)
11:07:00 <ehird> http://esolangs.org/forum/kareha.pl/1184146786/l50 comments wanted
11:26:04 <GreaseMonkey> gnight everyone
11:26:15 -!- GreaseMonkey has quit (Connection reset by peer).
12:01:11 -!- RedDak has quit (Remote closed the connection).
12:27:57 -!- ttm has joined.
12:28:02 -!- RedDak has joined.
12:30:33 <oerjan> testing something
12:32:37 -!- ttm has left (?).
13:55:14 <ehird> Hmm... point-free lambda calculus
13:56:40 <ehird> ,xy is (x y), \x is (lambda some-internal-name. x), . pops off the argument stack (and makes the current argument the argument of the enclosing function), o changes argument stack "x y z" to "x z y", s changes argument stack "x y" to "y x", a returns the top element on the argument stack
13:58:14 <ehird> \\\s,a,,s..x should be SUCC, i.e. (lambda n. (lambda f. (lambda x. f ((n f) x))))
13:58:41 <ehird> ,\\\s,a,,s..x\\.. is two by way of SUCC 1
13:59:07 <oklopol> Sukoshi: if it weren't for sleeping i could easily read the book in one go
13:59:41 <oklopol> it's just once i wake up i rarely feel like reading, since my eyes hurt like hell
14:01:02 <oklopol> "easily"
14:01:03 <oklopol> ...
14:04:38 <oklopol> there is a 100 page period where very little is said and ca is idolized, but it gets more interesting
14:08:14 <ehird> hmm... are s, o, . and a enough to manipulate any argument list? i don't think so
14:12:50 <oerjan> ehird: hard to get below the third element without dropping something
14:19:08 <ehird> indeed
14:37:37 <ehird> maybe s = sN
14:37:43 <ehird> s1 is a b -> b a
14:37:49 <ehird> s2 is a b c -> c b a
14:37:50 <ehird> etc
14:37:57 <ehird> and o is oN
14:38:05 <ehird> o1 is a b c -> a c b
14:38:12 <ehird> o2 is a b c d -> a b d c
14:38:15 <ehird> etc
14:41:08 <ehird> so succ is ,\\\s1,a,,s1...
14:41:12 <ehird> err, \\\s1,a,,s1...
14:41:42 <ehird> s and o don't actually count as values, they just perform an action then defer to the next value
14:41:47 <ehird> but , . and a do
14:41:53 <ehird> which is why the above works
15:27:38 -!- RedDak has quit (Remote closed the connection).
15:33:04 -!- jix has joined.
15:43:43 <suifur> Sukoshi: Is smalltalk between Squeak and GST different? I'm getting fairly frustrated at inspecting sample codes and then trying my own in both Squeak and GST and getting nothing.
15:51:09 -!- ehird has quit (Read error: 104 (Connection reset by peer)).
16:20:44 -!- jix has quit (Nick collision from services.).
16:20:57 -!- jix__ has joined.
16:36:58 -!- sebbu has joined.
16:37:43 <Sukoshi> suifur: Somewhat.
16:38:12 <Sukoshi> GST is a bit closer to ST-80, IIRC.
17:01:34 -!- oerjan has quit ("Dinner").
17:01:40 <suifur> Sukoshi: thats annoying.
17:01:51 <lament> morning
17:02:03 <suifur> good day lament
17:26:48 -!- tokigun_ has quit (anthony.freenode.net irc.freenode.net).
17:31:49 -!- tokigun_ has joined.
17:58:15 <Sukoshi> suifur: Well then, stop Squeaking so much :P
18:00:06 <suifur> Sukoshi: lol
18:03:12 <suifur> Sukoshi: so we're for sure settling on GST then
18:03:13 <suifur> ?
18:10:36 <suifur> Sukoshi: http://pastey.net/70658-19km <--- Any ideas whats wrong with the last line?
18:40:59 -!- sebbu2 has joined.
18:56:47 -!- Sukoshi has quit (Read error: 105 (No buffer space available)).
19:02:30 -!- Sukoshi has joined.
19:02:35 -!- sebbu has quit (Read error: 110 (Connection timed out)).
19:02:36 -!- sebbu2 has changed nick to sebbu.
19:14:26 -!- tokigun_ has quit (anthony.freenode.net irc.freenode.net).
19:19:55 -!- tokigun_ has joined.
19:44:58 -!- ehird has joined.
19:48:35 -!- bsmnt_bot has quit (Read error: 145 (Connection timed out)).
19:50:45 <bsmntbombdood> point-free lambda calculus, is that the same as pointless lambda calculus?
19:55:07 <oklopol> yes, but the latter is a joke on the first
20:02:14 <lament> so something is a joke on itself?
20:02:19 <lament> since the two are the same...
20:02:33 <suifur> lament: pointless as in meaningless perhaps?
20:05:32 <oklopol> lament: it's a joke term for the first, is what i've understood.
20:49:46 -!- kwertii has joined.
21:24:12 -!- jix__ has quit ("CommandQ").
21:38:36 <ehird> bsmntbombdood, yes
21:38:56 <ehird> but it's nicely esoteric =)
21:58:02 <oklokok> errrr
21:58:10 <oklokok> seems i wrote an unlambda interpreter :D
21:58:16 <oklokok> gimme something to interpret
21:58:27 <oklokok> just started writing something random
22:00:39 <ehird> somebody should make a programming language resembling interactive fiction responses
22:00:40 <ehird> like
22:01:00 <ehird> say Hello, world! to the console.
22:01:55 <oklokok> i might've heard that before.
22:02:36 <SimonRC> I have seen that before
22:03:01 <Sukoshi> suifur: Well, I don't want to be dependent on a huge image.
22:03:58 <SimonRC> ehird: http://www.corknut.org/code/transcript/
22:04:03 <ehird> SimonRC, that's different
22:04:10 <ehird> the instructions don't relate to what happens
22:04:27 <oklokok> OMFG IT ACTUALLY WORKS?!?!?!!?
22:04:28 <oklokok> ...
22:04:29 <ehird> i'm thinking of metaphors like "Write a todo list and title it 'factorial': ..."
22:04:42 <Sukoshi> ehird: Like ORK ?
22:04:55 <ehird> kinda
22:05:00 <ehird> except less ... restrained
22:05:11 <ehird> today's IF parsers are very fluid and accept a wide range of english text
22:05:38 <lament> ehird: have you looked at inform?
22:05:42 <oklokok> ehird: i've made a lang called angle, which was an oo language that was pretty much english
22:05:53 <ehird> lament, of course I know about inform - are you specifically referring to inform 7?
22:05:59 <lament> yes
22:05:59 <ehird> because inform 7 is horrible, IMO
22:06:12 <ehird> well - it's also not what i'm aiming for
22:06:22 <ehird> it talks about programming concepts in direct forms, instead of using silly real-world metaphors
22:06:25 <lament> (people don't normally say "of course i know about inform") :)
22:06:52 <ehird> preferably, the program should consist of instructions which relate to a character following them, instead of a machine
22:07:36 <lament> there's several languages using "silly metaphors", none of them very interesting.
22:07:48 <lament> it just doesn't seem a very productive idea
22:07:56 <ehird> esoteric languages are not productive ideas
22:08:10 <lament> see for example [[Taxi]]
22:08:13 <Sukoshi> ehird: Tell Lost Kingdoms that.
22:08:41 <lament> in fact, {{Thematic}}
22:08:42 <kwertii> sooner or later, CS will get a major and fundamental breakthrough via esoteric language research...
22:08:50 <ehird> yeah right =)
22:09:07 <Sukoshi> Yes, when everyone begins hailing ORK as the new Language Of Choice.
22:09:23 <kwertii> cs, heck. Logic itself will be transformed...
22:09:53 <lament> ehird: by productive i mean "in terms of producing interesting esolangs"
22:09:57 <ehird> another silly idea: an ADHD language, where you can't program about the same thing for too long, otherwise the interpreter complains
22:10:18 <ehird> so you have to do everything in chunks and make sure each peice of code is not too similar to the last. heh
22:10:50 <lament> yes, that's silly.
22:10:58 <ehird> but fun.
22:11:09 <lament> not sure of that :)
22:11:32 <kwertii> how about a neurotic programming language that randomly refuses to execute?
22:11:35 <ehird> hah
22:12:07 <lament> i think something like that was proposed already.
22:13:09 <ehird> how about a language where the only two certain things are that you can access the current probability for the next instruction to execute and change it to a certain degree?
22:13:24 <lament> that sounds interesting
22:13:47 <ehird> any program would, of course, consist of hellish amounts of those two instructions to make sure everything works right
22:13:56 <ehird> :)
22:14:35 <ehird> and the probability change specifiers would be written in a language of their own, like a crazed numeric system =)
22:14:37 <ehird> *numeral
22:14:44 <lament> "Admittedly, while it is not hard to string Sartre statements together to create a Sartre-compilable text file, it can be quite hard to program in the Sartre paradigm. To wit, one may keep creating programs, one after another, like soldiers marching into the sea, but each one may seem empty, hollow, like stone. One may want to create a program that expresses the meaninglessness of existence, and instead they average two numbers."
22:15:00 <ehird> heh
22:15:38 <lament> "Unlike the integers in most programming languages, Sartre integers all have a value of zero"
22:15:55 <kwertii> hmmm, probabilistic programming...
22:16:11 <ehird> how about a 2d language based on a car with a not-entirely-sober driver
22:16:21 <ehird> you have to go to great measures to keep it on the right program path
22:16:46 <lament> MAXINT This is the maximum integer value allowed by the particular Sartre implementation: zero.
22:16:53 <lament> MININT This is the minimum integer value allowed by the
22:16:54 <lament> particular Sartre implementation. If using the Dada
22:16:54 <lament> extensions, MININT is duck sauce; if not, it is zero.
22:16:54 <ehird> and the only form of branching is to allow the car to swerve based on a condition
22:16:57 <kwertii> All possible jump targets are arrayed with the condition evaluated numerically between 0 and 1, plus a random factor.
22:17:10 <ehird> by making builders build barriers on one direction conditionally
22:17:24 <ehird> you have to start the building of them a while before the car arrives so they're built in time.
22:17:36 <kwertii> would it be possible to actually produce useful calculation in a language with random jump influence? could you work around that in your program?
22:18:03 <lament> kwertii: yes.
22:18:10 <lament> it would just be a lot of pain and no fun.
22:18:25 <kwertii> lament: how would you do that? because your test conditions would also be randomly affected...
22:19:30 <lament> a bunch of locks
22:19:38 <lament> there's a language where lines are executed in a random order
22:19:48 <oklokok> thue!
22:20:00 <lament> an imperative language :)
22:20:13 <kwertii> but.. wouldn't your lock changing code also be nondeterministic?
22:20:49 <kwertii> I'm missing something ..
22:20:52 <oklokok> yes, but you would have a meta language where you could write infinitely long pieces of code to get around that.
22:21:00 <ehird> kwertii, you could check if it's safe to do a conditional by doing something like "if true; ok all good; else nope not ready"
22:21:32 <oklokok> ehird: the problem is all that could fail as well
22:21:38 <kwertii> ehird: it spins until the desired jump happens?
22:21:40 <oklokok> the code must be infinite!
22:21:58 <ehird> kwertii, well - more like it sits there waiting until logic is all working
22:22:16 <oklokok> ehird: why would 'if' be deterministic?
22:22:24 <ehird> it wouldn't
22:22:48 <oklokok> so... how would that loop help?
22:24:50 <ehird> hmm, wait, it would rely on the loop directly after the condition to work as well
22:25:03 <Sukoshi> Can GCJ support generics?
22:25:07 <ehird> "while not true; end if cond; blah end" except, of course, that won't work
22:25:15 <ehird> Sukoshi, no - gcj sucks anyway, give it up
22:25:31 <Sukoshi> ehird: I'm hearing it's becoming pretty full featured these days.
22:25:37 <ehird> omg! a bfwait program JUST PRINTED SOME OUTPUT THAT WASN'T \0!
22:25:41 <ehird> that's unheard of
22:25:45 <kwertii> what if your jump *usually* worked.... just not always
22:25:54 <kwertii> how could you tell?
22:25:58 * SimonRC goes away
22:25:59 <ehird> kwertii, you couldn't
22:26:14 <kwertii> you could repeat your test 1000 times and let them vote
22:27:52 <Sukoshi> ehird: You lie. It *does* support Generics.
22:28:00 <ehird> it does?
22:28:03 <ehird> well it still sucks
22:28:27 -!- RodgerTheGreat has joined.
22:29:46 <Sukoshi> ehird: ... Good argument :P
22:33:09 <ehird> i hereby declare that not enough esoteric languages look like line noise
22:33:34 <ehird> or what infinite monkeys could plausibly type in a small amount of time, given a high bias to alphabet and parentheses keys
22:35:15 <Sukoshi> RodgerTheGreat: How goes the Smalltalking?
22:35:23 <RodgerTheGreat> hi, sukoshi
22:36:06 <RodgerTheGreat> I've been continuing my research. I tried doing some of my crypto programming with it, but I'm running out of time, so I think I'll have to switch back to C to finish tonight. :[
22:36:24 -!- lament has quit (Read error: 104 (Connection reset by peer)).
22:37:03 <Sukoshi> Ah.
22:39:33 <RodgerTheGreat> I haven't started hating the language by learning more about it, which is generally a good sign. I'm still in the process of wrapping my head around the syntax.
22:40:42 <Sukoshi> New developments: We'll probably be using Kawa to implement it.
22:41:01 <Sukoshi> Since Kawa has done most of the heavy lifting for us, if we hook into Kawa, we can compile straight to JVM bytecodes.
22:41:32 <RodgerTheGreat> hm. looks interesting
22:42:03 <Sukoshi> If you read more, you'll find out that Smalltalk is extremely similar to Java in ways.
22:42:24 <Sukoshi> (Minus the static typing, batch compilation, and other annoying static behavior.)
22:42:37 <Sukoshi> The stdlibs are, for example, almost the same.
22:48:21 -!- penma has joined.
23:19:10 -!- penma has quit ("gn8").
23:23:41 -!- sebbu2 has joined.
23:42:02 -!- Max92 has joined.
23:42:49 -!- Max92 has quit (Client Quit).
23:42:55 -!- sebbu has quit (Connection timed out).
23:46:33 <zbrown> Sukoshi: I've made a fair amount of progress with smalltalk, just getting things down
23:46:43 <zbrown> now that I've settled down with GNU Smalltalk, its gone much faster
23:48:43 <Sukoshi> What'cha implementin' ?
23:49:18 <Sukoshi> I think I'm going to try to implement my classic practical language test (my esolang test is a BF implementation) -- a BSD Robots implementation.
23:49:52 <Sukoshi> And how far have you gotten in Smalltalk by Example?
23:50:49 <zbrown> Sukoshi: I'm about half way through it, though most of it is a review of Java concepts with SmallTalk syntax
23:51:14 <Sukoshi> zbrown: Yeah, except I never learned Java concepts (but knew these already from my prior experience).
23:52:47 <zbrown> Sukoshi: I think I know enough to hack out the rest, its now more of a matter of learning all the diff libs
23:53:24 <Sukoshi> zbrown: :)
23:53:36 <zbrown> Sukoshi: I'm gonna start implementing one of my computational models in it
23:54:04 <zbrown> I figure its easier to try and ipmlement what I know, and if I know anything (mostly), its writing models
23:54:27 <Sukoshi> Heh.
23:57:43 -!- ehird has quit (Read error: 104 (Connection reset by peer)).
23:59:59 <zbrown> Sukoshi: the biggest hurdle currently is time, I just haven't had the time to sit and hack with it
←2007-07-10 2007-07-11 2007-07-12→ ↑2007 ↑all