00:35 (quit) emma: Ping timeout: 240 seconds 00:56 (join) emma 01:34 (quit) jonrafkind: Ping timeout: 246 seconds 02:22 (join) dzhus 03:19 (join) aeouhtns_ 03:23 (quit) aeouhtns: Ping timeout: 276 seconds 03:47 (join) hanDerPeder 03:55 (quit) dzhus: Remote host closed the connection 04:10 (join) masm 04:27 (join) Byron 04:27 (part) Byron 05:04 (quit) jao: Ping timeout: 265 seconds 07:15 (quit) Zepp: Ping timeout: 240 seconds 07:16 (join) Zepp 08:22 (quit) mario-goulart: Quit: ERC Version 5.3 (IRC client for Emacs) 08:23 (join) mario-goulart 09:10 (quit) aeouhtns_: Quit: Lost terminal 10:40 (join) jao 10:48 (join) jonrafkind 11:31 (quit) hanDerPeder: Quit: hanDerPeder 11:32 (join) carleastlund 11:40 (join) dzhus 11:43 (join) anRch 11:46 (join) cmarks 11:47 (quit) cmarks: Client Quit 11:48 (join) MKone 11:49 MKone: anybody??? 11:49 MKone: rotty? 11:49 MKone: anybody!!!!!!!!!!!!!!!!!!!!!!! 11:50 (quit) MKone: Client Quit 11:53 askhader: ? 12:05 (join) hanDerPeder 12:16 (quit) jonrafkind: Ping timeout: 240 seconds 12:21 (quit) anRch: Quit: anRch 12:26 (quit) jao: Ping timeout: 264 seconds 12:28 (join) anRch 12:37 (join) jonrafkind 12:49 (quit) anRch: Quit: anRch 13:03 chandler: That was... odd. Was this person expecting a helpful support representative to appear and inquire as to the issue? 13:04 askhader: Was my inquisitive question mark not sufficient? 13:05 clklein: Sufficient but too late :) 13:06 askhader: Four minutes? 13:06 askhader: Er did he log before that? 13:06 askhader: I don't see the activity log for this channel =] 13:06 clklein: Yes, he'd already left. 13:07 askhader: Ah 14:04 (quit) jonrafkind: Ping timeout: 265 seconds 14:22 (join) anRch 14:25 (join) jonrafkind 14:53 (join) jao 15:04 (quit) anRch: Quit: anRch 15:27 Lajla: jonrafkind, why? 15:27 Lajla: Why infix and lists? 15:27 Lajla: Why hast thou forsaken me? 15:37 jonrafkind: this too shall pass 15:39 Lajla: jonrafkind, this shall not pass. 15:39 Lajla: But why? 15:39 Lajla: I mean, my toy lisp has (3 + 7) but that's technically the object 3 applied to he list (+ 7) 15:42 (quit) jonrafkind: Ping timeout: 265 seconds 15:43 (join) jonrafkind 16:10 (join) shkk 16:15 (join) Byron 16:18 Lajla: jonrafkind, why? 16:18 Lajla: Hi, shkk. 16:18 Lajla: How did it go? 16:18 jonrafkind: why what 16:18 Lajla: jonrafkind, why no lists and infix? 16:18 Lajla: I think Scheme should be replaced with a giant huge click wheel though 16:18 jonrafkind: s-expressions are terrible 16:19 Lajla: We just ennumerate every possible program and every program is just the number of clicks on that wheel in that ennumeration 16:19 Lajla: All my programs are just a few trillion clicks away. 16:19 Lajla: jonrafkind, they are? 16:19 Lajla: Why? 16:19 Lajla: I thought we all loved them. 16:19 jonrafkind: no syntactic clues for writing correct expressions 16:20 Lajla: jonrafkind, what do you mean with that? 16:21 jonrafkind: the order of syntax is important for some definitions (like classes) but you just have to know the order, or read the docs. having extra tokens in a form directs you towards what goes where 16:21 shkk: Hey Lajla .. How are you today ? 16:22 Lajla: jonrafkind, you mean place a number in front of them? 16:22 Lajla: jonrafkind, I don't get you 16:22 Lajla: shkk, as good as some one who hasn't diarrhoea any-more. 16:22 shkk: Lajla, thats great ! :) 16:23 clklein: jonrafkind: Do you miss s-exp-based navigation when editing other languages (e.g., "move to the right sibling", "move to the pattern sibling", "highlight this entire s-exp")? 16:24 jonrafkind: not really, i rarely use those features when editing racket code. can match parens and brackets easily enough in C/java 16:24 jonrafkind: although I've seen matthew edit scheme code and he flies through it.. makes me jealous 16:24 carleastlund: don't knock s-expressions until you've taken advantage of their benefits ;p 16:24 Lajla: How can you not like S-expression.. 16:25 Lajla: a < b && b < c && c < d gets awkward. 16:26 shkk: What is an s-expression ? 16:26 clklein: You should see me try to edit Scheme without s-exp navigation and "pair at at time" paren insertion. Students in intro course edit Scheme better than I do without those. 16:27 carleastlund: The parenthesis-delimited, nested-list-based expressions of Scheme. 16:27 Lajla: Well 16:27 Lajla: 3 is also an S-expression, technicallly 16:27 Lajla: shkk, more properly, they are the external representations of the data that lisps handle. 16:27 carleastlund: Yes, plus base cases. :) 16:27 Lajla: Like, the list that contains three symbols a, b and c is written (a b c) in S expressions 16:28 Lajla: Like, you can see (+ 1 2 3) as a scheme program that adds three numbers, or as a list containing a symbol and three numbers. 16:28 Lajla: Actually the external repraesention hereof. 16:31 askhader: Lajla: Is it really the latter? 16:32 Lajla: shkk, anyway, S-expressoins are extremely awesome, they just do not resemble conventional mathemical notation so it takes some switing, but as a notation on its own its quite terse and well thought of. 16:32 Lajla: askhader, explain? 16:32 Lajla: some switching* 16:32 askhader: Ah nevermind, I misread. 16:33 shkk: Lajla, Okie .. I hope I can give it a try some day :( .. Once I have mastered the basic Scheme :) 16:33 Lajla: shkk, I guess S-expressions should come firs,t but I think you already mastered them looking from your code. 16:33 Lajla: Like, conventional 'mathematical textbook notation' is 1 + 2 + 3 16:34 Lajla: S-exprssions is (+ 1 2 3) 16:34 shkk: Oohhh ... that does come in basic Scheme ! 16:34 Lajla: THe point about mathematical textbook notation is that it was never really designed, it evolved over the centuries and is inconsistent and at various points things that are called 'abuse of notation' surface. 16:35 Lajla: Like, you see x = y = z in mathematical textbooks all the time. 16:35 Lajla: This is technically absuse of notation 16:35 jonrafkind: i noticed you were speaking in english instead of esparanto. why is that? 16:35 Lajla: That's why in most programming languages, one has to use x == y && y == z 16:35 Lajla: jonrafkind, esperanto is badly designed, that's a false argument. 16:35 Lajla: THe argument applies to lojban though. 16:35 jonrafkind: ok so english instead of lojban.. so, why? 16:36 Lajla: jonrafkind, well, you have to agree that things will be better once we all shifted to lojban. 16:36 shkk: What do you mean by abuse of notation? Isnt the notation x = y = z established before (= x y z) 16:36 Lajla: And also, I speak FOL to fellow logicians. 16:36 jonrafkind: let me know when that happens 16:36 Lajla: jonrafkind, well, not all people have to understand SCheme. 16:36 Lajla: Only other schemers. 16:36 Lajla: And to be quite frank, not all people understand mathematical textbook notation 16:36 jonrafkind: well thats a self-fullfilling prophecy 16:36 Lajla: I mean, why do countries switch to the metric system? 16:36 jonrafkind: i dunno, america never did 16:37 Lajla: shkk, well, x = y = z is neither (x = y) = z or x = (y = z) 16:37 Lajla: IT 16:37 Lajla: 's a shorthand for x = y /\ y = z 16:37 Lajla: jonrafkind, and most people would tell you that America's oeconomy would win on it if they had. 16:37 Lajla: Calculating units costs time, time is money. 16:37 shkk: WHat is the symbol /\ mean ? its an 'AND' ? 16:38 Lajla: shkk, quite right. 16:38 Lajla: logical conjunction, at your service. 16:38 askhader: Lajla: PGo on. 16:38 askhader: s/PGo/Go 16:38 Lajla: askhader, about what? 16:39 Lajla: The fact that x = y = z is technically a form of abuse of notation? 16:39 shkk: So how does Scheme's notation 'not an abuse' ?? I am sorry but I am just trying to understand your point .. 16:39 askhader: Yes I'm intrigued. 16:40 Lajla: Well, the ( ... ) in scheme does not denote grouping. 16:40 askhader: Then? 16:40 Lajla: Like ((+ 1 2 3)) is not the same as (+ 1 2 3) 16:40 askhader: that's true 16:40 Lajla: While in maths 7 + (((((((3))))))) is the same as 7 + 3 16:42 Lajla: (= x y z ...) denotes the EVALUATION of the symbol = applied to the list (X Y Z ...) where X Y Z ... are the respective evaluations of the symbols x y z ... 16:42 Lajla: In symbolic logic, a symbol and its operation are essentially interchangeable, in Scheme, a symbol evaluates to a value, which may be a procedure. 16:42 askhader: Right. 16:43 askhader: So why is this superior? 16:43 Lajla: = evaluates to a function in the top level environment, which in racket takes two or more arguments. 16:43 Lajla: askhader, well, 'superior' is each their own, it is however more consistent and simpler. 16:43 askhader: Can you give a comparitive example? 16:43 Lajla: Mathematics needs things like operator praecedence, grouping, et cetera. 16:44 Lajla: askhader, well, to compute 3 + 4 * 7 16:44 Lajla: You need to know that * has a higher praecedence than + 16:44 Lajla: Which is an arbitrary rule. 16:44 Lajla: A parser reading that would have to know this, and be more complex. 16:44 askhader: Ah. 16:44 Lajla: Also, generally, programming languages never use complete mathematical textbook notation, as it's often ambigous in the end which a human may infer from context, but not so easily a machine. 16:45 shkk: This is enlightening I must say !! :) 16:45 askhader: That's a strong point. 16:45 Lajla: In S-expressions (+ 3 (* 4 7)) is unambigous 16:45 Lajla: (though in this case slightly longer) 16:45 Lajla: But, take this a < b < c 16:45 carleastlund: While I don't want to weigh in on either side wholesale, I think the "x = y = z" is a good one to compare. In math notation it is ambiguous -- are we comparing x to y and z, or the result of x=y to z, or x to the result of y=z? It could be any of these. S-expressions are never ambiguous. 16:45 Lajla: Happens a lot in mathematial textbooks. 16:46 Lajla: Not so much in programming languages, python aside. 16:46 Lajla: Because you are technically comparing the result of (a < b) to c 16:46 Lajla: which can be true to c, or false to c. 16:46 Lajla: So you have to use a < b && b < c 16:46 Lajla: In 'foundational maths', you also always see a < b /\ b < c properly 16:47 Lajla: Because the arity of the the relationships < and /\ are fixed at 2. 16:47 Lajla: In Scheme, these are 'variadic', or 'n-ary', they can take any number of arguments, though some implementations limit them to numbers lik 64 or 128 or 512 16:48 askhader: o.O;; 16:48 Lajla: Lisp was probably the first major language to support variadic functions I think, I guess it flows out of the fact that you process lists. 16:49 askhader: What is the scheme compiler written in? 16:49 askhader: er 16:49 askhader: racket* 16:49 Lajla: But the main point is that mathematical textbook notation was never really designed, and just evolved over the centuries and has a few quirks, but people find it hard to unlearn and switch. S-expressions were designed and as a thing on their own they are much clearer and more consistent. 16:49 Lajla: askhader, I believe it is mostly C. 16:49 Lajla: I mean, we all had to learn in primary school that * comes before + et cetera. 16:49 askhader: Right. 16:51 Lajla: Which is a pretty ad hoc rule really 16:52 Lajla: But it's like the metric system, it takes some time to switch and get adjusted I guess. 16:57 carleastlund: Well, while traditional notation is imperfect, I certainly wouldn't want to adopt s-expressions for teaching math in grade schools on chalk boards. Or for students working things out on paper. Paren-matching on paper would be a nightmare. 17:00 Lajla: Well, S expressions are only one form of 'polish notation' as they call it. 17:00 Lajla: Or essentially, not using infix operators. 17:00 Lajla: + 1 2 17:01 Lajla: 1 + 2 + 3 would be + + 1 2 3 17:01 (quit) dzhus: Ping timeout: 240 seconds 17:01 Lajla: S expressions are necessarily only useful to lisps, because in lisp, your program is a form of data. 17:01 Lajla: A list, most often 17:37 (quit) shkk: Quit: Page closed 18:29 Lajla: carleastlund, design a better one. 18:29 Lajla: Let's call it 'The Lajla ultra notation super turbo thing' 18:30 carleastlund: "Lunsth", for short. 18:40 Lajla: carleastlund, but do it. 18:40 Lajla: With your skills and my name, we will be awesome. 19:05 (quit) carleastlund: Quit: carleastlund 19:19 (quit) hanDerPeder: Quit: hanDerPeder 19:23 Lajla: rotty, are you perchance Nejc Stibilj? 19:39 (quit) jonrafkind: Ping timeout: 248 seconds 19:53 (join) hanDerPeder 20:00 (quit) hanDerPeder: Quit: hanDerPeder 21:15 (join) shkk 21:16 shkk: Hey Lajlaa ... 21:20 (quit) shkk: Quit: Page closed 21:21 (quit) masm: Quit: Leaving. 22:51 (part) Byron 23:28 (quit) emma: Remote host closed the connection 23:33 (join) jonrafkind 23:34 (join) emma