2014-10-19T00:01:17Z tcsc joined #scheme 2014-10-19T00:05:21Z ijp quit (Quit: sleeping) 2014-10-19T00:19:17Z joneshf-laptop quit (Remote host closed the connection) 2014-10-19T00:27:06Z joneshf-laptop joined #scheme 2014-10-19T00:38:57Z araujo joined #scheme 2014-10-19T00:53:31Z theseb joined #scheme 2014-10-19T01:07:15Z germ13 quit (Ping timeout: 255 seconds) 2014-10-19T01:09:32Z theseb quit (Quit: Leaving) 2014-10-19T01:14:47Z nisstyre is now known as cholera-virus 2014-10-19T01:14:54Z ecraven quit (Ping timeout: 255 seconds) 2014-10-19T01:15:09Z jusss joined #scheme 2014-10-19T01:25:57Z tobik quit (Ping timeout: 260 seconds) 2014-10-19T01:26:27Z davexunit joined #scheme 2014-10-19T01:26:34Z tobik joined #scheme 2014-10-19T01:31:10Z oldskirt_ joined #scheme 2014-10-19T01:31:32Z amgarchIn9 quit (Ping timeout: 260 seconds) 2014-10-19T01:32:46Z robot-beethoven joined #scheme 2014-10-19T01:34:04Z oldskirt quit (Ping timeout: 258 seconds) 2014-10-19T01:39:36Z jhao quit (Remote host closed the connection) 2014-10-19T01:39:56Z jhao joined #scheme 2014-10-19T02:08:24Z amoe_ quit (Ping timeout: 260 seconds) 2014-10-19T02:09:04Z amoe joined #scheme 2014-10-19T02:17:53Z davexunit quit (Quit: Later) 2014-10-19T02:25:28Z aranhoide quit (Ping timeout: 265 seconds) 2014-10-19T02:30:37Z cholera-virus is now known as nisstyre 2014-10-19T02:31:10Z aranhoide joined #scheme 2014-10-19T02:44:17Z acarrico quit (Ping timeout: 272 seconds) 2014-10-19T02:53:40Z aranhoide quit (Ping timeout: 260 seconds) 2014-10-19T02:59:34Z oleo is now known as Guest7168 2014-10-19T03:01:10Z oleo__ joined #scheme 2014-10-19T03:02:27Z Guest7168 quit (Ping timeout: 246 seconds) 2014-10-19T03:04:16Z c107 quit (Remote host closed the connection) 2014-10-19T03:08:23Z tadni quit (Ping timeout: 240 seconds) 2014-10-19T03:20:16Z vanila quit (Quit: Leaving) 2014-10-19T03:25:24Z jeapostrophe quit (Ping timeout: 255 seconds) 2014-10-19T03:31:10Z bb010g quit (Quit: Connection closed for inactivity) 2014-10-19T03:44:35Z kongtomorrow joined #scheme 2014-10-19T03:54:09Z bevan joined #scheme 2014-10-19T03:58:48Z phipes joined #scheme 2014-10-19T04:16:31Z phipes quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-19T04:18:06Z c74d quit (Remote host closed the connection) 2014-10-19T04:18:13Z bb010g joined #scheme 2014-10-19T04:18:58Z phipes joined #scheme 2014-10-19T04:21:09Z c74d joined #scheme 2014-10-19T04:34:16Z phipes quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2014-10-19T04:40:16Z jhao quit (Ping timeout: 272 seconds) 2014-10-19T05:16:54Z oldskirt_ is now known as oldskirt 2014-10-19T05:19:10Z kongtomorrow quit 2014-10-19T05:23:40Z daviid quit (Ping timeout: 255 seconds) 2014-10-19T05:44:29Z kongtomorrow joined #scheme 2014-10-19T06:02:50Z jusss quit (Read error: Connection reset by peer) 2014-10-19T06:05:58Z jhao joined #scheme 2014-10-19T06:22:16Z jhao quit (Ping timeout: 260 seconds) 2014-10-19T07:17:19Z psy_ quit (Ping timeout: 245 seconds) 2014-10-19T07:18:13Z psy_ joined #scheme 2014-10-19T07:19:46Z stepnem joined #scheme 2014-10-19T07:22:35Z kongtomorrow quit 2014-10-19T07:33:15Z joneshf-laptop quit (Ping timeout: 258 seconds) 2014-10-19T07:56:49Z masm joined #scheme 2014-10-19T08:05:32Z jhao joined #scheme 2014-10-19T08:10:10Z jhao quit (Ping timeout: 255 seconds) 2014-10-19T08:10:36Z oleo__ is now known as oleo 2014-10-19T08:30:03Z ecraven joined #scheme 2014-10-19T08:38:42Z psy_ quit (Quit: Leaving) 2014-10-19T08:43:20Z mmc joined #scheme 2014-10-19T08:48:17Z joneshf-laptop joined #scheme 2014-10-19T08:56:44Z psy quit (Ping timeout: 260 seconds) 2014-10-19T09:08:39Z ilammy joined #scheme 2014-10-19T09:09:17Z hiroakip joined #scheme 2014-10-19T09:12:01Z b4283 joined #scheme 2014-10-19T09:13:24Z bevan quit (Read error: Connection reset by peer) 2014-10-19T09:35:52Z haroldwu quit (Ping timeout: 240 seconds) 2014-10-19T09:40:13Z amgarchIn9 joined #scheme 2014-10-19T09:42:03Z haroldwu joined #scheme 2014-10-19T09:54:07Z jhao joined #scheme 2014-10-19T09:59:28Z jhao quit (Ping timeout: 272 seconds) 2014-10-19T10:14:47Z b4283 quit (Read error: Connection reset by peer) 2014-10-19T10:16:45Z dmiles_afk quit (Quit: Read error: 110 (Connection timed out)) 2014-10-19T10:18:38Z amgarchIn9 quit (Ping timeout: 244 seconds) 2014-10-19T10:19:09Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2014-10-19T10:24:38Z vinleod joined #scheme 2014-10-19T10:30:52Z psy joined #scheme 2014-10-19T10:32:48Z amgarchIn9 joined #scheme 2014-10-19T10:34:42Z BossKonaSegwaY quit (Ping timeout: 255 seconds) 2014-10-19T10:37:14Z oldskirt_ joined #scheme 2014-10-19T10:39:54Z oldskirt quit (Ping timeout: 246 seconds) 2014-10-19T10:49:18Z BossKonaSegwaY joined #scheme 2014-10-19T10:57:50Z aoh quit (Quit: hd fail) 2014-10-19T11:04:24Z gravicappa joined #scheme 2014-10-19T11:07:47Z tcsc quit (Quit: computer sleeping) 2014-10-19T11:09:51Z wilfredh joined #scheme 2014-10-19T11:13:00Z rtra quit (Ping timeout: 260 seconds) 2014-10-19T11:15:14Z rtra joined #scheme 2014-10-19T11:21:33Z ijp joined #scheme 2014-10-19T11:23:10Z tcsc joined #scheme 2014-10-19T11:42:52Z jhao joined #scheme 2014-10-19T11:47:30Z jhao quit (Ping timeout: 244 seconds) 2014-10-19T11:48:07Z b4283 joined #scheme 2014-10-19T12:04:40Z fikusz quit (Quit: Leaving) 2014-10-19T12:06:26Z amgarchIn9 quit (Ping timeout: 265 seconds) 2014-10-19T12:12:05Z tcsc quit (Quit: computer sleeping) 2014-10-19T12:14:26Z vinleod quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2014-10-19T12:20:34Z acarrico joined #scheme 2014-10-19T12:21:45Z ijp quit (Quit: This ijp has ended peacefully) 2014-10-19T12:27:02Z hiroakip quit (Ping timeout: 272 seconds) 2014-10-19T12:34:51Z amgarchIn9 joined #scheme 2014-10-19T12:35:22Z atomx joined #scheme 2014-10-19T12:36:03Z xyh joined #scheme 2014-10-19T12:36:24Z xyh: is it really a good feature that ``the order of function definitions can be arbitrary'' ??? 2014-10-19T12:36:31Z xyh: or "in what situations this feature is not wished?" 2014-10-19T12:38:37Z hiroakip joined #scheme 2014-10-19T12:40:15Z xyh: is it true that the order of syntax key words' definitions can NOT be arbitrary ??? 2014-10-19T12:41:55Z pjb: xyh: the point is that function f can call function g and function g can call function f. Therefore there cannot be a total order of functions matching the call graph. 2014-10-19T12:43:36Z jhao joined #scheme 2014-10-19T12:43:53Z xyh: oh! I see. the graph is not a tree. but how about syntax-key-words ? 2014-10-19T12:49:07Z jhao quit (Ping timeout: 272 seconds) 2014-10-19T12:51:48Z pjb: for syntax, you need to have a tree, and to topologically-sort it out. 2014-10-19T12:58:11Z jhao joined #scheme 2014-10-19T12:59:26Z BossKonaSegwaY quit (Ping timeout: 240 seconds) 2014-10-19T12:59:37Z Nizumzen joined #scheme 2014-10-19T13:04:23Z ijp joined #scheme 2014-10-19T13:06:04Z xyh: pjb: why syntax-key-word can be recursive but can not be mutually recursive ??? 2014-10-19T13:07:49Z atomx quit (Ping timeout: 260 seconds) 2014-10-19T13:08:04Z xyh: in theory, is this a limitation of implementation? but not a limitation of the language? 2014-10-19T13:09:52Z defanor quit (Ping timeout: 240 seconds) 2014-10-19T13:13:30Z defanor joined #scheme 2014-10-19T13:17:17Z BossKonaSegwaY joined #scheme 2014-10-19T13:22:50Z c107 joined #scheme 2014-10-19T13:24:41Z defanor quit (Quit: giving up on this server) 2014-10-19T13:25:02Z pjb: well, properly said, syntaxes cannot be recursive, because they don't need the other syntaxes at compilation time. 2014-10-19T13:25:36Z defanor joined #scheme 2014-10-19T13:25:54Z xyh: oh! I see :) thx 2014-10-19T13:26:01Z pjb: In the case of defmacro, it would be possible to try to use macro1 in macro2 and macro2 in macro1 both at compilation time, and then it wouldn't work. 2014-10-19T13:26:20Z Beluki joined #scheme 2014-10-19T13:26:47Z vanila joined #scheme 2014-10-19T13:29:16Z mmc quit (Ping timeout: 260 seconds) 2014-10-19T13:29:20Z xyh: pjb: it feels that the "macro system" and the "core language" are really two sub-languages in scheme, and should be understand separately. 2014-10-19T13:29:36Z xyh: pjb: right? 2014-10-19T13:32:56Z epsylon quit (Quit: ZNC - http://znc.in) 2014-10-19T13:35:00Z jusss` joined #scheme 2014-10-19T13:35:06Z pjb: Definitely yes. 2014-10-19T13:36:08Z jusss`: how I can get the current time by mit/gnu-scheme ? 2014-10-19T13:40:55Z amgarchIn9 quit (Ping timeout: 255 seconds) 2014-10-19T13:42:36Z taylanub quit (Disconnected by services) 2014-10-19T13:43:18Z taylanub joined #scheme 2014-10-19T13:48:56Z Beluki quit (Quit: Beluki) 2014-10-19T13:52:14Z hiroakip quit (Ping timeout: 255 seconds) 2014-10-19T13:55:09Z mmc joined #scheme 2014-10-19T13:58:09Z jusss` is now known as jusss 2014-10-19T13:58:35Z jusss quit (Changing host) 2014-10-19T13:58:35Z jusss joined #scheme 2014-10-19T14:05:33Z xyh left #scheme 2014-10-19T14:07:08Z tcsc joined #scheme 2014-10-19T14:11:19Z tcsc is now known as zuurr 2014-10-19T14:13:15Z zuurr is now known as tcsc 2014-10-19T14:20:42Z wilfredh quit (Quit: Connection closed for inactivity) 2014-10-19T14:26:20Z tobik quit (Ping timeout: 245 seconds) 2014-10-19T14:27:53Z stepnem_ joined #scheme 2014-10-19T14:28:23Z tobik joined #scheme 2014-10-19T14:28:23Z stepnem quit (Quit: ZNC - http://znc.sourceforge.net) 2014-10-19T14:28:23Z stepnem_ is now known as stepnem 2014-10-19T14:30:39Z mmc quit (Ping timeout: 245 seconds) 2014-10-19T14:37:51Z mmc joined #scheme 2014-10-19T14:51:09Z daviid joined #scheme 2014-10-19T14:59:34Z jusss quit (Remote host closed the connection) 2014-10-19T15:11:01Z oldskirt_ is now known as oldskirt 2014-10-19T15:17:57Z oleo__ joined #scheme 2014-10-19T15:17:57Z oleo is now known as Guest85160 2014-10-19T15:18:45Z oleo__ quit (Read error: Connection reset by peer) 2014-10-19T15:19:17Z Guest85160 quit (Ping timeout: 265 seconds) 2014-10-19T15:19:27Z jhao quit (Ping timeout: 245 seconds) 2014-10-19T15:19:58Z oleo__ joined #scheme 2014-10-19T15:20:24Z oleo__ is now known as oleo 2014-10-19T15:24:46Z psykotron joined #scheme 2014-10-19T15:25:14Z psykotron quit (Client Quit) 2014-10-19T15:26:04Z AriaMoKr joined #scheme 2014-10-19T15:28:09Z AriaMoKr quit (Client Quit) 2014-10-19T15:28:19Z AriaMoKr joined #scheme 2014-10-19T15:37:08Z BossKonaSegwaY quit (Ping timeout: 260 seconds) 2014-10-19T15:46:57Z amgarchIn9 joined #scheme 2014-10-19T15:50:41Z Vutral quit (Ping timeout: 260 seconds) 2014-10-19T15:50:42Z BossKonaSegwaY joined #scheme 2014-10-19T15:52:46Z cr`nge quit (Remote host closed the connection) 2014-10-19T15:54:04Z Vutral joined #scheme 2014-10-19T16:05:00Z dsp quit (Ping timeout: 258 seconds) 2014-10-19T16:05:23Z dsp joined #scheme 2014-10-19T16:08:43Z Vutral quit (Excess Flood) 2014-10-19T16:10:30Z Vutral joined #scheme 2014-10-19T16:11:13Z amgarchIn9 quit (Ping timeout: 255 seconds) 2014-10-19T16:15:50Z jhao joined #scheme 2014-10-19T16:17:56Z kongtomorrow joined #scheme 2014-10-19T16:21:37Z Beluki joined #scheme 2014-10-19T16:21:55Z Vutral quit (Excess Flood) 2014-10-19T16:23:53Z tcsc quit (Quit: bye!) 2014-10-19T16:28:46Z wingo joined #scheme 2014-10-19T16:33:15Z Vutral joined #scheme 2014-10-19T16:36:16Z Nizumzen quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2014-10-19T16:39:14Z hiroakip joined #scheme 2014-10-19T16:44:45Z b4283 quit (Quit: Konversation terminated!) 2014-10-19T16:46:50Z kongtomorrow quit 2014-10-19T16:47:25Z amgarchIn9 joined #scheme 2014-10-19T16:56:06Z jhao quit (Ping timeout: 240 seconds) 2014-10-19T16:58:58Z Vutral quit (Excess Flood) 2014-10-19T17:02:05Z Vutral joined #scheme 2014-10-19T17:09:56Z Vutral_ joined #scheme 2014-10-19T17:10:02Z jhao joined #scheme 2014-10-19T17:12:44Z aranhoide joined #scheme 2014-10-19T17:15:41Z Vutral quit (Ping timeout: 260 seconds) 2014-10-19T17:19:32Z dsp quit (Remote host closed the connection) 2014-10-19T17:19:40Z dsp joined #scheme 2014-10-19T17:28:34Z jeapostrophe joined #scheme 2014-10-19T17:29:09Z hiroakip quit (Ping timeout: 272 seconds) 2014-10-19T17:30:22Z hiroakip joined #scheme 2014-10-19T17:33:58Z davexunit joined #scheme 2014-10-19T17:36:46Z Vutral joined #scheme 2014-10-19T17:37:42Z taylanub quit (*.net *.split) 2014-10-19T17:37:42Z rtra quit (*.net *.split) 2014-10-19T17:37:42Z joneshf-laptop quit (*.net *.split) 2014-10-19T17:37:42Z klltkr quit (*.net *.split) 2014-10-19T17:37:43Z mutley89 quit (*.net *.split) 2014-10-19T17:37:43Z aap_ quit (*.net *.split) 2014-10-19T17:37:43Z lloda` quit (*.net *.split) 2014-10-19T17:37:43Z kwmiebach quit (*.net *.split) 2014-10-19T17:37:43Z pchrist quit (*.net *.split) 2014-10-19T17:37:43Z ggherdov quit (*.net *.split) 2014-10-19T17:37:43Z nisstyre quit (*.net *.split) 2014-10-19T17:37:50Z aap_ joined #scheme 2014-10-19T17:37:57Z lloda` joined #scheme 2014-10-19T17:38:14Z joneshf-laptop joined #scheme 2014-10-19T17:38:20Z klltkr joined #scheme 2014-10-19T17:38:26Z pchrist joined #scheme 2014-10-19T17:38:33Z mutley89 joined #scheme 2014-10-19T17:38:37Z taylanub joined #scheme 2014-10-19T17:38:47Z kwmiebach joined #scheme 2014-10-19T17:39:43Z lrs joined #scheme 2014-10-19T17:39:44Z lrs: http://pastebin.com/jMeyNCai 2014-10-19T17:39:49Z ggherdov joined #scheme 2014-10-19T17:40:03Z lrs: Could anyone check this and answer if I need element of set? 2014-10-19T17:40:11Z nisstyre joined #scheme 2014-10-19T17:40:13Z lrs: :S 2014-10-19T17:43:33Z hiroakip quit (Ping timeout: 255 seconds) 2014-10-19T17:46:38Z pjb: I don't understand your question. What is "element of set"? Why would you need it? 2014-10-19T17:49:07Z pjb: Also, without docstrings giving the specification of each function, it is not possible to check anything: the function does what it does. Without specifications, there cannot be any bug. 2014-10-19T17:49:42Z aranhoide quit (Remote host closed the connection) 2014-10-19T17:49:44Z AriaMoKr quit (Quit: Connection closed for inactivity) 2014-10-19T17:55:07Z lrs: pjb, Yeah, I removed it 2014-10-19T17:55:11Z lrs: I dont need it 2014-10-19T17:55:24Z lrs: element of set does the same thing as member pjb 2014-10-19T17:56:22Z lrs: pjb, http://pastebin.com/jMeyNCai updated version 2014-10-19T17:56:43Z pjb: However, you may still want to provide a function that does nothing more than another function, just for the name: to provide an abstraction. 2014-10-19T17:57:01Z pjb: For example, lists are built with cons cells (pairs), of which you can take the car and the cdr. 2014-10-19T17:57:07Z pjb: But car and cdr doesn't mean anything for a list! 2014-10-19T17:57:26Z pjb: therefore when processing lists, you should (define first car) (define rest cdr) and use first and rest. 2014-10-19T17:57:40Z pjb: Because the first element of the list is something that is meaningful for a list, but not the car of a list! 2014-10-19T17:57:41Z lrs: pjb, My problem right now is same? and subset? 2014-10-19T17:57:52Z pjb: Your problem, then. 2014-10-19T17:58:37Z lrs: pjb, Why? 2014-10-19T17:58:46Z lrs: Why not just use cdr and car 2014-10-19T17:58:47Z lrs: :| 2014-10-19T17:59:53Z pjb: Because a "car" is an automobile vehicule, and the automobile vehicule of a list is a surrealist concept that has nothing to do in scheme programs. And because "cdr" is not an English word at all! 2014-10-19T18:00:26Z pjb: car and cdr are at the abstraction level of cons cells. 2014-10-19T18:00:33Z lrs: :| 2014-10-19T18:00:33Z pjb: first and rest are at the abstraction level of lists. 2014-10-19T18:00:48Z pjb: left-child and right-child are at the abstraction level of trees. 2014-10-19T18:00:53Z lrs: So you mean I should just define cdr and car because of convenience 2014-10-19T18:01:06Z leppie quit (Ping timeout: 240 seconds) 2014-10-19T18:01:16Z lrs: Not because it is access lists different (Im thinking that if you define first maybe it opens the lists or some shit) 2014-10-19T18:01:26Z pjb: No. You MUST define first and rest, because those names are in the right abstraction layer for list processing. 2014-10-19T18:01:39Z lrs: Why? 2014-10-19T18:01:44Z lrs: In my problem, why? 2014-10-19T18:02:02Z pjb: There's no notion of "opening" data structure! You use functional abstractions to access the data structures. 2014-10-19T18:02:11Z pjb: Your problem is not with lists, but with sets. 2014-10-19T18:02:16Z lrs: Yes. 2014-10-19T18:02:32Z pjb: So now you try to understand what I'm teaching your about lists, and then try to apply the same principle to sets. 2014-10-19T18:02:39Z BossKonaSegwaY quit (Ping timeout: 246 seconds) 2014-10-19T18:02:58Z lrs: I need you to explain why I need to define first in this problem 2014-10-19T18:03:02Z lrs: Otherwise I dont get what you mean 2014-10-19T18:03:22Z pjb: Are you using lists to implement sets? 2014-10-19T18:04:01Z lrs: How do you mean using lists. In what part of the process 2014-10-19T18:04:23Z pjb: You should read sicp. 2014-10-19T18:04:29Z lrs: ???? 2014-10-19T18:05:14Z pjb: Structure and Interpretation of Computer Programs http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ 2014-10-19T18:05:19Z lrs: Do you mean if I use lists in the definition or if i use (list 1 2 3) when doing my operations 2014-10-19T18:05:35Z pjb: If you use lists. 2014-10-19T18:05:37Z lrs: I dont get what oyu mean when you sasy "are you using lists to implement lists" 2014-10-19T18:05:51Z pjb: This is not what I said. 2014-10-19T18:06:01Z lrs: I mean implement sets 2014-10-19T18:06:05Z pjb: Right. 2014-10-19T18:06:11Z pjb: This is well explained in sicp. 2014-10-19T18:06:21Z lrs: I dont even know what you mean 2014-10-19T18:06:28Z pjb: Programming means creating abstractions using abstractions. 2014-10-19T18:06:37Z pjb: You are creating a set abstraction using the list abstraction. 2014-10-19T18:06:47Z leppie joined #scheme 2014-10-19T18:06:48Z lrs: Define abstraction 2014-10-19T18:07:02Z pjb: Abstraction is giving a name to some structure. 2014-10-19T18:07:14Z pjb: in the most general, mathematical sense of the term. 2014-10-19T18:07:44Z pjb: Really, you should read sicp. 2014-10-19T18:07:54Z lrs: Right 2014-10-19T18:08:16Z lrs: I watched that video last night 2014-10-19T18:08:19Z lrs: And Im reading the book 2014-10-19T18:08:26Z pjb: The 28 of them? 2014-10-19T18:08:34Z lrs: I just dont know what you mean if I use lists to implement sets 2014-10-19T18:08:48Z lrs: If you see in my definition you can see I use cons 2014-10-19T18:09:04Z lrs: And if you mean if I use lists to do set operations? 2014-10-19T18:09:10Z lrs: Is that what you mean? 2014-10-19T18:09:23Z pjb: In scheme, the notion of list is defined as a functional abstraction. This is a set of functions that implement the notion of list using cons cells (pairs). 2014-10-19T18:09:24Z lrs: Im on number 2-3 of the video lectures 2014-10-19T18:09:28Z pjb: Yes. 2014-10-19T18:09:48Z lrs: pjb: Ugh. Yes. I know this 2014-10-19T18:10:23Z pjb: The point of definiting a notion as a functional abstraction is that it allows you to change the implementation of those functions. 2014-10-19T18:11:14Z pjb: Right now you've used lists to implement sets, but it might be more efficient to use hash-tables, or bit vectors, or any number of other underlying abstraction to implement those sets. 2014-10-19T18:11:27Z lrs: Right 2014-10-19T18:11:45Z pjb: If you use car to get the first element of the set, then your program will break when the set is implemented as hash-tables instead of cons cells. 2014-10-19T18:12:25Z lrs: All my sets are on the form '(2 3 (2 1)))) 2014-10-19T18:12:30Z pjb: Now, when you define the set abstraction, you only list the function signatures. 2014-10-19T18:12:31Z lrs: So dont worry about that 2014-10-19T18:13:09Z pjb: (make-set elements) --> set ; (set-intersection set1 set2) --> intersection-set ; (set-contains? element set) -> boolean, etc. 2014-10-19T18:13:27Z pjb: lrs: I'm worrying about that precisely! 2014-10-19T18:13:39Z pjb: Your set should not be of any form: they should be abstracted! 2014-10-19T18:14:17Z lrs: Well thats not the point of the problem I am doing 2014-10-19T18:14:29Z lrs: It is not supposed to be a failsafe setoperator 2014-10-19T18:14:40Z pjb: O 2014-10-19T18:14:41Z lrs: Its just supposed to work when I put in these values 2014-10-19T18:14:51Z pjb: I'm trying to teach you good programming techniques. 2014-10-19T18:15:16Z pjb: If you want to do crap, fend for yourself. 2014-10-19T18:16:20Z lrs: Its not about doing crap, its about doing stuff that is relative. I just dont get what your point is 2014-10-19T18:16:36Z pjb: Read sicp, my point is better explained in there. 2014-10-19T18:16:39Z lrs: Ok, I get it you want my functions to process all types of sets 2014-10-19T18:16:41Z lrs: Is that the point? 2014-10-19T18:17:15Z BossKonaSegwaY joined #scheme 2014-10-19T18:17:20Z pjb: Not necessarily. You could implement generic set operations, but this is not considered yet. Just define a functional abstration. 2014-10-19T18:17:58Z lrs: Whats that? 2014-10-19T18:18:06Z Vutral_ quit (Ping timeout: 244 seconds) 2014-10-19T18:19:08Z lrs: My problem right now is understanding member? and subset? 2014-10-19T18:19:36Z lrs: Why it has memeber? and subset? (subset) and why member has (same-element?) (else (memeber? el (cdr lst) 2014-10-19T18:19:44Z Vutral_ joined #scheme 2014-10-19T18:19:57Z pjb: You should know that, if you wrote this code. 2014-10-19T18:20:21Z lrs: I got help with that one 2014-10-19T18:20:30Z pjb: good. 2014-10-19T18:20:39Z lrs: I need to describe it in words 2014-10-19T18:20:58Z lrs: And know the connection to the rest of the cluster of functions 2014-10-19T18:21:25Z lrs: If I descrive member? 2014-10-19T18:21:42Z lrs: it checks if el in the car of the lst 2014-10-19T18:21:54Z pjb: I don't understand anything of what you say. Sorry. 2014-10-19T18:22:06Z lrs: Ok, wait 2014-10-19T18:22:15Z lrs: Ill write it in english and paste a link 2014-10-19T18:24:35Z ivanshmakov is now known as ivanshmakov| 2014-10-19T18:28:44Z ivanshmakov joined #scheme 2014-10-19T18:34:21Z lrs: pjb, http://pastebin.com/CF1L5giW Ok I dont know if you understand my shitty english 2014-10-19T18:35:39Z Vutral_ quit (Ping timeout: 245 seconds) 2014-10-19T18:36:25Z Vutral_ joined #scheme 2014-10-19T18:36:52Z pjb: Where does this code come from? 2014-10-19T18:37:22Z lrs: Some of it is from SICP, some of it is from me, some of it is from various sources 2014-10-19T18:37:32Z pjb: Why? 2014-10-19T18:37:44Z pjb: What are you doing??? 2014-10-19T18:38:18Z lrs: My point is to learn how to use constructors, selectors and predicates 2014-10-19T18:38:32Z pjb: Without knowing how to program? 2014-10-19T18:38:45Z lrs: Im learning how to program (?) 2014-10-19T18:38:58Z pjb: Have you read r5rs? (it's only 50 pages) 2014-10-19T18:39:09Z ivanshmakov| quit (Quit: Look, two nuts! One for you, and one for me.) 2014-10-19T18:39:40Z pjb: To learn how to program I'd advise you to read sicp or htdp: How to Design Programs -- An Introduction to Computing and Programming http://www.htdp.org/2003-09-26/Book/ 2014-10-19T18:39:49Z lrs: ???????????????????????? 2014-10-19T18:40:28Z vanila: sup lrs 2014-10-19T18:40:56Z lrs: pjb, Ive already read "representing sets" in SICP 2014-10-19T18:40:59Z lrs: It doesnt help me 2014-10-19T18:41:15Z lrs: Hi vanila 2014-10-19T18:41:29Z vanila: whats up 2014-10-19T18:41:33Z pjb: My point here would be that if you knew some programming, you should be able to read those little functions and understand them. 2014-10-19T18:41:38Z _tca: lrs: (cons 1 2) that is using a constructor; (car (cons 1 2)) that is using a constructor and a selector (number? (car (cons 1 2))) that is using a constructor, a selector, and a predicate 2014-10-19T18:41:41Z atomx joined #scheme 2014-10-19T18:42:02Z pjb: My other point also would be that if you wrote those functions yourself, you would 1- understand them, 2- probably write them better than they are! 2014-10-19T18:42:30Z lrs: pjb, I can read them. I just dont understand (in an abstract, mathematical if you will) sense what is happening in the last lines of member? and subset and how they connect to the other definitions 2014-10-19T18:42:45Z lrs: _tca, I dont need help with that 2014-10-19T18:42:59Z lrs: Here are the lines I dont understand (from the link i pasted) 2014-10-19T18:43:18Z lrs: ((same-element? el (car lst))#t) ; if the element is the same as the car lst, give true 2014-10-19T18:43:19Z lrs: (else (member? el (cdr lst)))))) ; otherwise check if element is a member (which checks elements of the set) 2014-10-19T18:43:19Z lrs: on the rest of the list. (do I even have to use same-element? Cant I use member?) 2014-10-19T18:43:24Z _tca: well its just that this set problem is all about the logic and not those things 2014-10-19T18:43:27Z lrs: ((member? (car set1) set2) ; If car set1 is a memeber (which checks elements on a set) is true 2014-10-19T18:43:27Z lrs: (subset? (cdr set1) set2)) ; Then it will check if cdr set1 is a subset? of set 2 <- Why? 2014-10-19T18:43:27Z lrs: (else #f)))) ; If none of these conditions is true, give false 2014-10-19T18:43:27Z lrs: edit this paste or clone this paste 2014-10-19T18:44:06Z pjb: lrs: see my point? if it was: (else (member? el (rest lst))) instead of (cdr list), you wouldn't have to translate it to understand it: else, test if el is member of the rest of the list. 2014-10-19T18:44:48Z ijp quit (Quit: This ijp has ended peacefully) 2014-10-19T18:45:22Z lrs: What? 2014-10-19T18:45:26Z lrs: I dont have any trouble with that 2014-10-19T18:45:29Z lrs: I already told you 2014-10-19T18:45:39Z vanila: lrs, what you working on 2014-10-19T18:46:07Z pjb: lrs: {x}∪A ⊂ B ⇔ {x}⊂ B ∧ A ⊂ B 2014-10-19T18:46:13Z pjb: this is basic maths. 2014-10-19T18:46:35Z vanila: lol 2014-10-19T18:49:21Z lrs: pjb, What function are you looking at now? 2014-10-19T18:49:44Z pjb: the above formula is used in subset?. 2014-10-19T18:50:12Z pjb: lrs: and y∈{x}∪A ⇔ y=x ∨ y∈Α 2014-10-19T18:50:53Z Vutral_ quit (Ping timeout: 260 seconds) 2014-10-19T18:50:56Z Vutral__ joined #scheme 2014-10-19T18:51:12Z lrs: pjb, Where? 2014-10-19T18:51:31Z pjb: {x}∪A ⊂ B ⇔ {x}⊂ B ∧ A ⊂ B explains: (subset? (cdr set1) set2)) ; Then it will check if cdr set1 is a subset? of set 2 <- Why? 2014-10-19T18:51:31Z pjb: 2014-10-19T18:51:48Z lrs: I meant y∈{x}∪A ⇔ y=x ∨ y∈Α 2014-10-19T18:51:49Z Vutral quit (Ping timeout: 260 seconds) 2014-10-19T18:52:45Z pjb: y∈{x}∪A ⇔ y=x ∨ y∈Α explains ((same-element? el (car lst)) #t) (else (member? el (cdr lst))) in member? 2014-10-19T18:53:53Z lrs: Ok cool give me a second 2014-10-19T18:55:26Z Vutral__ quit (Ping timeout: 240 seconds) 2014-10-19T18:56:19Z Vutral joined #scheme 2014-10-19T18:56:31Z Vutral quit (Changing host) 2014-10-19T18:56:31Z Vutral joined #scheme 2014-10-19T18:59:45Z Vutral_ joined #scheme 2014-10-19T19:16:37Z circ-user-Rrwkp joined #scheme 2014-10-19T19:18:19Z circ-user-Rrwkp quit (Remote host closed the connection) 2014-10-19T19:20:40Z lrs: pjb, So the union of a set(x) A which is the subdomain of B <=> is the same as when the set (x) is a subdomain of B and A when that is the subdomain of B? 2014-10-19T19:21:33Z pjb: No, you got the priority wrong. 2014-10-19T19:22:04Z pjb: (({x}∪A) ⊂ B) ⇔ (({x}⊂ B) ∧ (A ⊂ B)) 2014-10-19T19:22:41Z eagleflo quit (Remote host closed the connection) 2014-10-19T19:23:13Z pjb: I thought you understood how the set was represented as list. {x}∪A = (cons x A), {} = () 2014-10-19T19:25:04Z lrs: pjb : Yes I get that 2014-10-19T19:25:40Z eagleflo joined #scheme 2014-10-19T19:26:29Z lrs: pjb, Im just trying to convert what you just said to scheme-speech 2014-10-19T19:34:16Z lrs: pjb, bUt why car set 1 for member of set2 and cdr for subset? of cdr set 1 and set 2 2014-10-19T19:34:25Z lrs: Why car and cdr at all? 2014-10-19T19:34:54Z pjb: if s={x}∪A, then x is (car s), A is (cdr s) 2014-10-19T19:35:30Z lrs: s=Set? 2014-10-19T19:35:44Z pjb: {x}∪A = (cons x A) ==> (car {x}∪A) = (car (cons x A)) = x and (cdr {x}∪A) = (cdr (cons x A)) = A 2014-10-19T19:35:54Z pjb: No, s={x}∪A. 2014-10-19T19:38:43Z lrs: pjb, But what is ({x}⊂ B? 2014-10-19T19:39:28Z pjb: (member? x B) 2014-10-19T19:39:37Z lrs: {x}∪A ⊂ B , wouldnt that be member? set1 and set 2 2014-10-19T19:39:57Z pjb: well it's (subset? (make-set x) B), but it's the same as (member? x B). 2014-10-19T19:40:19Z pjb: {x}∪A ⊂ B ⇔ (subset? {x}∪A B) 2014-10-19T19:40:32Z pjb: lrs: so you don't even know the basic set theory mathematical symbols. Good. 2014-10-19T19:41:05Z pjb: Perhaps you could read some set theory introduction, before trying to program a set abstract data type? 2014-10-19T19:43:13Z lrs: ??? 2014-10-19T19:43:34Z lrs: I study mathematics 2014-10-19T19:43:37Z pjb: ⊂ means subset. 2014-10-19T19:43:56Z lrs: And ∪ union 2014-10-19T19:44:01Z pjb: {x}∪A ⊂ B means {x}∪A is subset of B which is written in scheme (subset? {x}∪A B) 2014-10-19T19:44:28Z pjb: Studying is not filling your brains. It's start it up! Think! 2014-10-19T19:45:03Z Beluki quit (Quit: Beluki) 2014-10-19T19:50:04Z kongtomorrow joined #scheme 2014-10-19T19:50:44Z psy quit (Quit: Leaving) 2014-10-19T19:50:54Z lrs: pjb : I read that as the union of {x} and A which is a subdomain to B, and that to me would mean that cdr ( {x}∪A) is A and car ({x}∪A) is {x} so (subset? (cdr set1) set2)) would be to check if A is the subset to B 2014-10-19T19:51:44Z pjb: Yes. 2014-10-19T19:53:14Z lrs: And ((member? (car set1) set2) would be to check if {x} is a member of set2 2014-10-19T19:53:17Z pjb: Now I wrote mathematical equivalences. scheme is not a declarative language, but an applicative language. That means that there is a "time arrow", and that you have to evaluate expressions before other expressions. You cannot translate directly the equivalence. But you can use either one of the two implications. 2014-10-19T19:54:10Z pjb: In your functions the ⇒ implications are used, not the ⇐ implications. 2014-10-19T19:54:50Z pjb: P⇒Q can be translated as (if P Q) or (cond (P Q)) 2014-10-19T19:54:52Z lrs: When if checks if A is the subset to B and that is true it checks if {x] is a member of set 2 2014-10-19T19:54:54Z lrs: Ok 2014-10-19T19:55:14Z pjb: Sorry, I inverted the implications. 2014-10-19T19:55:26Z pjb: We use ⇐ implications not ⇒ in the code. 2014-10-19T19:56:41Z pjb: (({x}∪A) ⊂ B) ⇐ (({x}⊂ B) ∧ (A ⊂ B)) (cond ((and (member? x B) (subset? A B)) #t) ; yes, ({x}∪A) ⊂ B 2014-10-19T19:57:18Z pjb: and substitute x = (first set1) A = (rest set1) B = set2. 2014-10-19T20:01:33Z githogori quit (Ping timeout: 265 seconds) 2014-10-19T20:03:59Z pjb: You could formalize the implementation of mathematical formulae into scheme, using the formal specification of r5rs given at the end of the report. 2014-10-19T20:07:06Z wingo quit (Ping timeout: 255 seconds) 2014-10-19T20:07:30Z kongtomorrow quit 2014-10-19T20:07:36Z nisstyre quit (Changing host) 2014-10-19T20:07:36Z nisstyre joined #scheme 2014-10-19T20:08:28Z lrs: pjb: Why did you add an and and ¤t 2014-10-19T20:08:36Z lrs: I think I got it though 2014-10-19T20:08:54Z pjb: ∧ = and 2014-10-19T20:09:01Z pjb: ∨ = or 2014-10-19T20:09:05Z lrs: No I meant 2014-10-19T20:09:05Z lrs: (cond ((and (member? x B) (subset? A B)) #t) 2014-10-19T20:09:36Z pjb: #t is because of modus ponen: P⇒Q ∧ P ⊢ Q 2014-10-19T20:09:45Z lrs: ((member? (car set1) set2) 2014-10-19T20:09:46Z lrs: (subset? (cdr set1) set2))# 2014-10-19T20:09:47Z lrs: Doesnt that work 2014-10-19T20:09:49Z lrs: -# 2014-10-19T20:10:07Z lrs: I have also ((null? set1) #t) 2014-10-19T20:10:16Z pjb: when P⇒Q (this is our math theorem), and P is true, then we know that Q is true, therefore the result of the function is #t. 2014-10-19T20:10:20Z lrs: And 2014-10-19T20:10:25Z lrs: else #f 2014-10-19T20:10:50Z pjb: Trivially: ∀x, ¬(x∈S). 2014-10-19T20:10:53Z pjb: Trivially: ∀x, ¬(x∈{}). 2014-10-19T20:11:19Z pjb: Of course, since we check all cases, in the else case, we know that we don't have a subset, so #f. 2014-10-19T20:11:36Z lrs: So the one I wrote doesnt give true? 2014-10-19T20:11:41Z lrs: I thought memeber and subset does that? 2014-10-19T20:13:06Z gravicappa quit (Ping timeout: 272 seconds) 2014-10-19T20:14:02Z lrs: OTs a bppöeam 2014-10-19T20:14:05Z lrs: *Its a boolean 2014-10-19T20:15:46Z hiroakip joined #scheme 2014-10-19T20:16:43Z pjb: Yes, it works too. 2014-10-19T20:17:58Z pjb: You can also just write (define (subset? set1 set2) (or (null set1) (and (not (null? set2)) (member? (car set1) set2) (subset? (cdr set1) set2)))) 2014-10-19T20:19:08Z pjb: Not since (member? (car set1) '()) is always #f, you can also skip that test. 2014-10-19T20:19:16Z pjb: (define (subset? set1 set2) (or (null set1) (and (member? (car set1) set2) (subset? (cdr set1) set2)))) 2014-10-19T20:19:35Z republican_devil joined #scheme 2014-10-19T20:19:43Z republican_devil: why is scheme better than tcl? 2014-10-19T20:20:04Z republican_devil: O:-) 2014-10-19T20:20:24Z pjb: because meta programming is done working on sexps in scheme instead of strings in tcl. 2014-10-19T20:20:32Z vanila: it's not better than tcl 2014-10-19T20:20:41Z taylanub: how about we don't respond to gavino? 2014-10-19T20:21:12Z vanila: tcl is a million times better than schme for writing GUIs 2014-10-19T20:22:41Z hiroakip quit (Ping timeout: 272 seconds) 2014-10-19T20:22:42Z antoszka: there are interfaces to tk for scheme making them just as good. 2014-10-19T20:22:48Z psy joined #scheme 2014-10-19T20:22:52Z vanila: wow 2014-10-19T20:22:56Z vanila: ive never heard of this 2014-10-19T20:23:10Z antoszka: cause, yeah, tk i lovely. 2014-10-19T20:23:12Z republican_devil: hm 2014-10-19T20:23:14Z antoszka: s/i/is/ 2014-10-19T20:26:33Z Vutral_ quit (Ping timeout: 260 seconds) 2014-10-19T20:26:45Z republican_devil: and as things get complex, one needs to more and more metaprogram 2014-10-19T20:26:46Z republican_devil: hmm 2014-10-19T20:26:47Z republican_devil: ko 2014-10-19T20:26:48Z republican_devil: ok 2014-10-19T20:27:17Z vanila: but tcl has metaprogramming 2014-10-19T20:27:32Z _tca: tcl also has coroutines which scheme doesnt 2014-10-19T20:27:48Z _tca: coroutines are delimited continuations which are strictly superior to undelimited continuations which is what scheme only has 2014-10-19T20:28:13Z vanila: i thoughtt coroutines was just one thing continuations can do 2014-10-19T20:28:17Z republican_devil: I wonder if perhaps tcl is a good thing to learn more of 2014-10-19T20:28:19Z vanila: and many schemes have delimited continuations 2014-10-19T20:28:21Z republican_devil: its very simple to use 2014-10-19T20:28:31Z republican_devil: chicken scheme seems a nice one 2014-10-19T20:28:32Z Vutral quit (Ping timeout: 250 seconds) 2014-10-19T20:28:33Z vanila: https://www.tcl.tk/man/tcl/TclCmd/coroutine.htm 2014-10-19T20:28:37Z vanila: so it has yield 2014-10-19T20:28:41Z _tca: no only racket scheme has delimited conintuations 2014-10-19T20:28:44Z vanila: i guess this is as powerful 2014-10-19T20:28:48Z republican_devil: now what happens when scheme needs to use 8 core box? 2014-10-19T20:28:56Z republican_devil: isnt scheme concurrency kinda weak>? 2014-10-19T20:29:10Z vanila: yeah 2014-10-19T20:29:10Z republican_devil: ah racket, I heard racket is good 2014-10-19T20:29:12Z Vutral_ joined #scheme 2014-10-19T20:29:15Z vanila: you need erlang for concurrency 2014-10-19T20:29:20Z vanila: (ive heard) 2014-10-19T20:29:35Z republican_devil: yaws is an erlang webserver, but erlang I know 0 about 2014-10-19T20:29:41Z republican_devil: kinda functinal? 2014-10-19T20:29:54Z _tca: ya it also has actors which are delimited continuations 2014-10-19T20:29:59Z _tca: which scheme lacks 2014-10-19T20:30:14Z vanila: stop with the scheme lacks delimited continuations! 2014-10-19T20:30:20Z vanila: mayn schemes implement it 2014-10-19T20:31:19Z republican_devil: what besides racket is a scheme with delimcontins? 2014-10-19T20:31:27Z republican_devil: gauche? 2014-10-19T20:32:50Z vanila: scheme48 2014-10-19T20:32:59Z _tca: its jsut that i read the scheme standard r5rs r6rs r7rs and i dont see delimited continuations 2014-10-19T20:33:03Z _tca: i see them in racket standard 2014-10-19T20:33:04Z vanila: yes 2014-10-19T20:33:13Z vanila: we need to get delimited conts into R7RS 2014-10-19T20:33:34Z lrs: pjb, Ugh. It doesnt work. 2014-10-19T20:33:36Z _tca: i read oleg kiselyov's website and he said the macros for delimited continuations using call/cc are buggy and leak memory and are slow 2014-10-19T20:34:02Z vanila: http://wingolog.org/archives/2010/02/26/guile-and-delimited-continuations 2014-10-19T20:34:16Z lrs: > (define myset2 (make-set '(((1) 2) 3 4 (2 3)))) 2014-10-19T20:34:16Z lrs: > (define myset (make-set '(2 3))) 2014-10-19T20:34:16Z lrs: > (subset? myset myset2) 2014-10-19T20:34:18Z republican_devil: scheme48! s48 wow long time since I thought of that one, s48 had interesting web thing called sunet, 2014-10-19T20:34:19Z lrs kills himself 2014-10-19T20:34:29Z vanila: sunet? 2014-10-19T20:34:37Z _tca: i read benchmarks on racket scehem's website and it showed that guile scheme was even slower than s48 scheme 2014-10-19T20:34:37Z vanila: lrs, whats wrong? 2014-10-19T20:34:44Z _tca: guile is slower than ruby and python 2014-10-19T20:34:45Z republican_devil: yeah like apache/php in scheme 2014-10-19T20:34:50Z lrs: vanila, Not sure 2014-10-19T20:34:51Z vanila: ouch 2014-10-19T20:34:54Z vanila: why so slow 2014-10-19T20:35:02Z vanila: republican_devil, man i think apache and php is bad 2014-10-19T20:35:09Z vanila: we need better we b technology imo 2014-10-19T20:35:19Z _tca: because it was made by the same people who made emacs lisp i think 2014-10-19T20:35:36Z vanila: no 2014-10-19T20:35:46Z _tca: it only has a slow interpreter and no compiler 2014-10-19T20:35:59Z Vutral joined #scheme 2014-10-19T20:36:01Z ecraven: didn't guile become much faster recently? 2014-10-19T20:36:23Z vanila: "Here, my focus is on a so-called "direct" implementation of delimited continuations; that is to say, I don't rely on a global continuation-passing style (CPS) transform of the source code." <-- are the two things at odds? 2014-10-19T20:36:43Z _tca: ecraven: it became a little bit faster i think but still no compiler 2014-10-19T20:36:59Z lrs: pjb, Also, the element of set mathematical formula, was that y ∈ [{x} ∪ A ] ⇔ y= [x ∨ y ]∈ Α 2014-10-19T20:37:02Z ecraven: _tca: many Schemes have no proper compiler :) 2014-10-19T20:37:14Z vanila: How would one write a scheme compiler? 2014-10-19T20:37:16Z _tca: yea which is weird why is guile so slow then 2014-10-19T20:37:41Z pjb: lrs: then do some maths, and prove the theorem I gave you. 2014-10-19T20:37:44Z hiroakip joined #scheme 2014-10-19T20:38:09Z ecraven: vanila: like any other compiler 2014-10-19T20:38:20Z republican_devil: well apache php are bad I think, I really never got too deep in php, but you know I mean a scheme answer surflets to like dynamic web stuff 2014-10-19T20:38:22Z vanila: i dont know how to do that :/ 2014-10-19T20:38:37Z lrs: pjb, Did you mean that though? 2014-10-19T20:38:50Z pjb: ∀x∀A∀B, (({x}∪A) ⊂ B) ⇔ (({x}⊂ B) ∧ (A ⊂ B)) 2014-10-19T20:39:53Z vanila: whats all the math about lol 2014-10-19T20:40:09Z lrs: pjb, I meant the member one 2014-10-19T20:40:15Z ecraven: vanila: read lots of books :) 2014-10-19T20:40:22Z _tca: math is impressionistic scheme was invented to get rid of math 2014-10-19T20:40:23Z ecraven: and write a few simple compilers 2014-10-19T20:40:39Z _tca: ecraven: have you written any 2014-10-19T20:40:39Z lrs: vanila, Im trying to understand how this set thing works 2014-10-19T20:40:52Z pjb: ∀y∀x∀A, (y∈{x}∪A) ⇔ ((y=x) ∨ (y∈A)) 2014-10-19T20:40:54Z lrs: Its for a predicate that checks if something is a subset or not 2014-10-19T20:41:02Z _tca: ecraven: can i see your scheme compiler source on github to study? 2014-10-19T20:41:14Z Vutral quit (Excess Flood) 2014-10-19T20:41:15Z ecraven: _tca: a few simple ones, yes :) SICP has one 2014-10-19T20:41:30Z _tca: cna i see? 2014-10-19T20:41:36Z tadni joined #scheme 2014-10-19T20:41:56Z vanila: yeah I found very few compile example code that wasn't 1000k lines and too hard to study 2014-10-19T20:42:05Z vanila: compiler example code 2014-10-19T20:42:16Z pjb: lrs: ∀S∃x∃A, (set? S) ⇒ (S={} ∨ ( (set? A) ∧ S={x}∪A )) 2014-10-19T20:42:51Z ecraven: _tca: nothing on github, but the one in SICP is available and well-written 2014-10-19T20:42:58Z ecraven: there's a few others too, in online teaching books 2014-10-19T20:43:06Z ecraven: there's a lot of good papers too, check readscheme 2014-10-19T20:43:14Z vanila: which teaching books might be good to looka t? 2014-10-19T20:44:32Z ecraven: vanila: /topic for example :) 2014-10-19T20:44:40Z vanila: :/ 2014-10-19T20:45:01Z ecraven: lisp in small pieces (or the original french) are good for compiler building, but not available freely i think 2014-10-19T20:45:24Z vanila: yeah i looked at L.I.S.P. but i found it too hard :( 2014-10-19T20:47:29Z vanila: scheme compiler is probably the hardest to wriet out of all languages expcet haskell IMO 2014-10-19T20:47:41Z ecraven: vanila: why would that be? 2014-10-19T20:47:53Z vanila: lambda 2014-10-19T20:48:02Z ecraven: have you ever looked at the CL hyperspec? now *that is a lot to implement 2014-10-19T20:48:19Z ecraven: vanila: lambda isn't that hard unless you want to be really efficient 2014-10-19T20:48:36Z vanila: all i need is efficient enough for the compiler to bootstrap 2014-10-19T20:48:52Z ecraven: vanila: SICP has that, I think 2014-10-19T20:49:03Z ecraven: it targets a register machine, you'd just have to adjust it for whatever you want 2014-10-19T20:49:14Z republican_devil: http://gambitscheme.org/wiki/index.php/Main_Page 2014-10-19T20:49:20Z vanila: hmm 2014-10-19T20:49:23Z vanila: that could be good 2014-10-19T20:49:39Z republican_devil: now when gambit says millions of threads, does that mean millions on 1 cpu? or millions sharing 8 cores? 2014-10-19T20:49:54Z ecraven: vanila: chapter 5, if i remember correctly 2014-10-19T20:49:57Z Vutral joined #scheme 2014-10-19T20:49:58Z vanila: ok 2014-10-19T20:50:21Z republican_devil: holy crap gambit is 40megs? 2014-10-19T20:50:23Z republican_devil: WOAAA 2014-10-19T20:50:35Z republican_devil: chuck moore said 10k is 10,000 lines of code 2014-10-19T20:50:56Z ecraven: vanila: http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-35.html#%_sec_5.5 to be exact 2014-10-19T20:50:58Z vanila: didn't chuck moore invent forth? 2014-10-19T20:51:03Z republican_devil: yes 2014-10-19T20:51:10Z republican_devil: or 'discover' as he says 2014-10-19T20:51:21Z vanila: he's socool 2014-10-19T20:51:25Z vanila: ive been studying forth 2014-10-19T20:51:30Z ecraven: republican_devil: have you ever tried writing the things people write in Scheme in Forth? not the things people write in forth? 2014-10-19T20:51:30Z republican_devil: ya? 2014-10-19T20:51:38Z vanila: its craz ylow level 2014-10-19T20:51:41Z vanila: but it's like lisp too 2014-10-19T20:51:45Z vanila: you can make macros 2014-10-19T20:51:46Z ecraven: forth is great, but it is very different from what other languages do 2014-10-19T20:51:52Z vanila: yeah , really interesting 2014-10-19T20:51:57Z republican_devil: forth access to files kinda eludes me 2014-10-19T20:52:11Z ecraven: republican_devil: that's because there normally is none, only access to blocks 2014-10-19T20:52:14Z republican_devil: its a cool liltle convery belt 2014-10-19T20:52:20Z ecraven: chuck says you don't need files, iirc :) 2014-10-19T20:52:47Z republican_devil: it kinda made me think most programming si big n sloppy 2014-10-19T20:52:58Z vanila: i feel like that too 2014-10-19T20:53:01Z vanila: that's why I like scheme and forth 2014-10-19T20:53:05Z vanila: and tcl 2014-10-19T20:53:06Z republican_devil: and of the forth stack like a little converoy belt 2014-10-19T20:53:18Z republican_devil: convey-or 2014-10-19T20:53:50Z republican_devil: I wonder if tcl event loop with ever use epoll and kqueue 2014-10-19T20:53:54Z republican_devil: that be epik 2014-10-19T20:54:00Z republican_devil: I wonder if tcl 9 will do it 2014-10-19T20:54:36Z vanila: kqueue bsd/tk 2014-10-19T20:54:42Z vanila: could be nice 2014-10-19T20:56:44Z _tca: republican_devil: did you see the chicken scheme web server that is using epoll and gets 20,000 requests per seconds on a raspberry pi? 2014-10-19T20:57:13Z republican_devil: no 2014-10-19T20:57:25Z republican_devil: I thought awful/spiffy were stuck on 1 cpu 2014-10-19T20:57:32Z republican_devil: no like os level threads 2014-10-19T20:57:46Z republican_devil: you mean awful/spiffy ARE scalable? 2014-10-19T20:58:19Z republican_devil: compiling gauche failed on openbsd amd64 2014-10-19T20:58:24Z republican_devil: trying gambit 2014-10-19T20:58:31Z republican_devil: I know chicken works 2014-10-19T20:59:18Z republican_devil: wonders if tca is messing with me 2014-10-19T21:01:33Z Vutral quit (Ping timeout: 260 seconds) 2014-10-19T21:09:49Z Vutral joined #scheme 2014-10-19T21:10:17Z republican_devil: oow gambit seems to have installed successfully 2014-10-19T21:11:13Z lrs: pjb, Do I really need same-element? 2014-10-19T21:12:28Z pjb: lrs: if you remember my paste with member? etc, all my functions took a test parameter. 2014-10-19T21:12:56Z pjb: lrs: the point is that sometimes you may have different lisp objects that represent the same mathematical object. 2014-10-19T21:13:30Z pjb: For example, you could have (complex-ri 0 1) = (complex-tr (/ pi 2) 1) 2014-10-19T21:14:05Z pjb: But this kind of parameter is specific to each set. 2014-10-19T21:14:28Z pjb: It would be better to attach the test to the set object. 2014-10-19T21:14:42Z pjb: But in a given application you may just use a specific function like same-element? 2014-10-19T21:15:23Z pjb: If you want to put strings or list in your set, then you want to use equal? instead of eqv? to compare them. With (define same-element? equal?) this can be done easily. 2014-10-19T21:15:44Z araujo quit (Read error: Connection reset by peer) 2014-10-19T21:16:07Z lrs: Ah, right 2014-10-19T21:16:15Z araujo joined #scheme 2014-10-19T21:17:36Z hiroakip quit (Ping timeout: 246 seconds) 2014-10-19T21:22:11Z republican_devil: how do you get the web request from the server? and them scheme it into resulting html? 2014-10-19T21:22:14Z republican_devil: thats my question 2014-10-19T21:22:21Z republican_devil: and can you use scheme asa database? 2014-10-19T21:22:24Z kongtomorrow joined #scheme 2014-10-19T21:22:33Z republican_devil: like the smalltalk image is used asa data base? 2014-10-19T21:23:11Z pjb: You're not asking the question right. 2014-10-19T21:23:34Z pjb: The question is whether there are image based scheme implementations that allow to save the image? 2014-10-19T21:23:46Z pjb: This is not a language question, it's an implementation question. 2014-10-19T21:24:22Z pjb: For example, you cannot use the smalltalk image as a database, when you use gst, because it's a program like gcc. (well, plus a script interpreter, but mostly batch). 2014-10-19T21:24:45Z pjb: You need a smalltalk implementation that is image based and can save image, such as squeak. 2014-10-19T21:25:09Z pjb: Now, what's incomprehensible, is that we've explained to you the difference between langage and implementation in #lisp 15 years ago. 2014-10-19T21:29:08Z republican_devil: I talked to marko, who made aidaweb, and he can indeed and does run some sites using just the squeak image running aida......and I don't remember anyone saying that you can't do that in say the gambit gsi image or csi chicken image, so to me it is still unclear, since you are not saying that is impossible either 2014-10-19T21:29:53Z republican_devil: I of course assumed a scheme with and interpreter implementation 2014-10-19T21:29:54Z pjb: republican_devil: it means: go read the fine implementation manuals! 2014-10-19T21:29:58Z republican_devil: and using the environemnt 2014-10-19T21:30:09Z republican_devil: well I wouldnt have clue where to look 2014-10-19T21:30:16Z republican_devil: but I am asking in GENERAL 2014-10-19T21:30:21Z pjb: Try the Table of Contents. 2014-10-19T21:30:27Z pjb: In general the answer is YES> 2014-10-19T21:30:35Z republican_devil: the point of chat si to ask in GENERAL 2014-10-19T21:30:41Z republican_devil: ah ha!! 2014-10-19T21:30:48Z republican_devil: now we are talking!!! 2014-10-19T21:31:36Z kongtomorrow quit 2014-10-19T21:33:46Z lrs: Ok, last question 2014-10-19T21:34:13Z lrs: ((member? set1 set2) set1) 2014-10-19T21:34:13Z lrs: (else (cons set1 set2))))) 2014-10-19T21:34:22Z lrs: How does this manage to work as union? 2014-10-19T21:34:39Z lrs: If it checks that (1 2) is a member of ((12) 3) 2014-10-19T21:34:47Z lrs: How can (1 2) be a correct answer? 2014-10-19T21:35:05Z lrs: Or does it only check if its identical? 2014-10-19T21:35:19Z lrs: OR wait 2014-10-19T21:35:20Z lrs: Fuck 2014-10-19T21:35:22Z lrs: It doesnt even owkr 2014-10-19T21:35:23Z lrs: lol 2014-10-19T21:36:11Z republican_devil: chaos!! 2014-10-19T21:36:28Z republican_devil: a recursive memberp would seem a solution..... 2014-10-19T21:36:35Z republican_devil: or some such 2014-10-19T21:36:42Z pjb: lrs: it seems your set representation is not lists, but trees. 2014-10-19T21:36:53Z lrs: Sorry 2014-10-19T21:37:54Z lrs: (union (make-set '(1 2 (x (y 3) 4))) 2014-10-19T21:37:54Z lrs: (make-set '(b 1 (a (r))))) 2014-10-19T21:37:58Z lrs: Should produce 2014-10-19T21:38:06Z lrs: (1 2 (x (y 3) 4) b (a (r))) 2014-10-19T21:38:12Z lrs: Now it does 2014-10-19T21:38:13Z lrs: {{1 2 {x {y 3} 4}} b 1 {a {r}}} 2014-10-19T21:41:03Z stepnem quit (Ping timeout: 246 seconds) 2014-10-19T21:49:03Z oldskirt quit (Quit: gone) 2014-10-19T21:49:42Z lrs: Stupid question but 2014-10-19T21:49:44Z lrs: ((member? (car set1) set2) 2014-10-19T21:49:44Z lrs: (union (cdr set1) set2)) 2014-10-19T21:50:13Z lrs: Woudl that mean it would do member? on the rest of the list 2014-10-19T21:50:22Z lrs: I have a bit trouble understanding the recursive thing 2014-10-19T21:51:33Z pjb: It's always the same thing! Use your maths! 2014-10-19T21:51:53Z lrs: This isnt math though 2014-10-19T21:51:56Z lrs: This is scheme 2014-10-19T21:52:17Z pjb: x∈B ⇒ ({x}∪A) ∪ B = A∪B 2014-10-19T21:52:52Z bunblebee joined #scheme 2014-10-19T21:53:00Z lrs: pjb : No I meant 2014-10-19T21:53:02Z lrs: What happens 2014-10-19T21:53:03Z pjb: lrs: use your brains! 2014-10-19T21:53:08Z lrs: Datalogy wise 2014-10-19T21:53:12Z lrs: Why does it call union 2014-10-19T21:53:12Z pjb: This is scheme, but your brains must WORK on maths! 2014-10-19T21:53:38Z pjb: because x∈B ⇒ ({x}∪A) ∪ B = A∪B 2014-10-19T21:54:08Z pjb: ({x}∪A) ∪ B is what we want to compute. 2014-10-19T21:54:21Z pjb: set1=({x}∪A), set2=B 2014-10-19T21:54:55Z lrs: Right 2014-10-19T21:55:30Z lrs: pjb, But what I wonder is (union (cdr set1) set2)) 2014-10-19T21:55:43Z pjb: This is A∪B. 2014-10-19T21:55:49Z lrs: Why isnt it... member? (cdr set1) set2) 2014-10-19T21:55:52Z pjb: See, you are not using your brains. 2014-10-19T21:55:55Z pjb: Try to think! 2014-10-19T21:56:19Z pjb: Because it's (define (union set1 set2) …) 2014-10-19T21:57:01Z lrs: does it compute …) 2014-10-19T21:57:09Z lrs: As in does it loop ((null? set1) set2) 2014-10-19T21:57:10Z lrs: (member? (car set1) set2) 2014-10-19T21:57:24Z lrs: But applies that to cdr set 1 2014-10-19T21:57:27Z lrs: Or? 2014-10-19T22:01:25Z pjb: You still haven't written any specification. 2014-10-19T22:01:25Z bunblebee quit (Remote host closed the connection) 2014-10-19T22:02:00Z lrs: pjb, What do you mean specification? 2014-10-19T22:03:19Z lrs: http://pastebin.com/tijfejiH 2014-10-19T22:04:16Z republican_devil: pjb are you a scheme professor? 2014-10-19T22:04:29Z pjb: How do you know that (union (make-set '(1 2 (x (y 3) 4))) (make-set '(b 1 (a (r))))) should produce (1 2 (x (y 3) 4) b (a (r))) ? 2014-10-19T22:04:29Z pjb: 2014-10-19T22:05:17Z defanor quit (Ping timeout: 272 seconds) 2014-10-19T22:05:22Z lrs: Its in my instructions..! 2014-10-19T22:05:27Z lrs: :P 2014-10-19T22:05:52Z pjb: You should write the specifications in comments in the source file. 2014-10-19T22:06:05Z pjb: If that's the specification, then your union function is wrong. 2014-10-19T22:06:14Z pjb: Try to write it again. 2014-10-19T22:06:14Z lrs: Yes 2014-10-19T22:06:18Z lrs: It has to be sorted 2014-10-19T22:07:43Z defanor joined #scheme 2014-10-19T22:09:43Z mmc quit (Quit: Leaving.) 2014-10-19T22:14:20Z bobbybrown joined #scheme 2014-10-19T22:15:45Z lrs: pjb : Lets assume im right 2014-10-19T22:15:57Z lrs: Why does it work calling hte union thing 2014-10-19T22:17:30Z pjb: because it has a bug. 2014-10-19T22:17:39Z pjb: See it's easy when you have specifications. 2014-10-19T22:17:51Z pjb: If it does what the specifications say, it's correct. If it does something else, it has a bug. 2014-10-19T22:17:57Z defanor quit (Quit: giving up on this server) 2014-10-19T22:18:09Z pjb: So throw it away, and write another function that follows the specifications. 2014-10-19T22:18:52Z defanor joined #scheme 2014-10-19T22:20:46Z lrs: (member? (car set1) set2) 2014-10-19T22:20:49Z lrs: So far so good 2014-10-19T22:24:07Z lrs: ;{x}∪A = (cons x A) ⇒ (car {x}∪A) 2014-10-19T22:25:18Z pjb: = x 2014-10-19T22:25:38Z lrs: Which is (member? (car set1) set2) 2014-10-19T22:32:18Z pjb: Only if x is #t or #f. 2014-10-19T22:32:26Z republican_devil: :) 2014-10-19T22:32:30Z republican_devil: programming rules!!! 2014-10-19T22:32:50Z lrs: pjb : Do I need to add an #t? 2014-10-19T22:32:57Z lrs: Isnt member a boolean? 2014-10-19T22:33:11Z pjb: x is not (member? (car set1) set2). 2014-10-19T22:33:16Z pjb: x is x. 2014-10-19T22:33:21Z pjb: It's (car set1). 2014-10-19T22:33:54Z lrs: If x is a memeber of set 2014-10-19T22:33:55Z lrs: 3 2014-10-19T22:33:57Z lrs: *2 2014-10-19T22:36:01Z lrs: (member? (car set1) set2)(union set2) 2014-10-19T22:36:03Z lrs: :| 2014-10-19T22:36:07Z lrs: Fuck. 2014-10-19T22:46:00Z lrs: pjb, Alright, I need to sleep 2014-10-19T22:46:06Z lrs: Thanks alot for the help though 2014-10-19T22:46:12Z lrs: Really 2014-10-19T22:46:18Z pjb: good night! 2014-10-19T22:46:27Z pjb: Read htdp and sicp. 2014-10-19T22:47:02Z lrs: YEah, im gonna go watch that lecture and sleep now 2014-10-19T22:47:05Z lrs: See ya 2014-10-19T22:48:02Z mrowe_away is now known as mrowe 2014-10-19T22:51:40Z republican_devil: so scheme is well able to handle e commerce 2014-10-19T22:51:44Z republican_devil: without being bulky 2014-10-19T22:51:50Z republican_devil: and having trouble talking to unix? 2014-10-19T22:54:59Z republican_devil: how do you mix compiled scheme with regular? 2014-10-19T22:55:38Z vanila: you would need an interpreter built in to the language 2014-10-19T22:55:55Z vanila: that sounds hard 2014-10-19T22:56:17Z offby1: you gotta fold it in gently, so as not to squish out all the air bubbles 2014-10-19T23:03:03Z republican_devil: lol 2014-10-19T23:03:25Z republican_devil: gambit has compiler and interpreter 2014-10-19T23:03:41Z republican_devil: tcl is near shell 2014-10-19T23:03:43Z vanila: there's a whole chapter in L.I.S.P. about EVAL 2014-10-19T23:03:45Z republican_devil: scheme is so different 2014-10-19T23:03:47Z vanila: i skipped it though 2014-10-19T23:03:57Z _tca: just write a jit compiler it's really easy with llvm republican_devil 2014-10-19T23:04:11Z republican_devil: in scheme I sometimes dont know how to have my function operate on data 2014-10-19T23:04:19Z _tca: then it will be like advanced lisp systems such as sbcl and racket which never need to interpret code 2014-10-19T23:04:26Z vanila: llvm isn't JIT 2014-10-19T23:04:30Z _tca: scheme really needs to catch up in that regard 2014-10-19T23:04:44Z _tca: llvm can jit 2014-10-19T23:04:50Z vanila: really? 2014-10-19T23:04:54Z _tca: yep 2014-10-19T23:05:05Z republican_devil: I feel powerless 2014-10-19T23:05:10Z republican_devil: like its all too complex 2014-10-19T23:05:13Z vanila: i don't think that's right, i thought it just let you run assembly 2014-10-19T23:05:18Z vanila: which you generate at runtime 2014-10-19T23:05:29Z vanila: i guess im thinking of tracing jit 2014-10-19T23:05:33Z _tca: vanila: julia relies on the jit for example 2014-10-19T23:05:35Z republican_devil: whats the right way to do 1.3 in sicp? 2014-10-19T23:05:41Z _tca: yea you are 2014-10-19T23:05:52Z republican_devil: 3 numbers, remove smallest, the square each of the remaining two, and add 2014-10-19T23:06:03Z _tca: it doesn't need to be driven by runtime heuristics to be a jit 2014-10-19T23:06:08Z republican_devil: I did like 4 conds 2014-10-19T23:06:11Z _tca: sbcl is a jit and it only does things statically 2014-10-19T23:06:16Z _tca: same with julia 2014-10-19T23:06:17Z republican_devil: or 1 cond with 4 options 2014-10-19T23:06:21Z _tca: and racket 2014-10-19T23:06:54Z _tca: it removes the need for an interpreter for eval 2014-10-19T23:06:55Z vanila: (define (sicp-1.3 x y z) (apply + (map square (cdr (sort (list x y z)))))) what about th? 2014-10-19T23:06:57Z vanila: that* 2014-10-19T23:06:58Z _tca: and its way faster 2014-10-19T23:07:12Z republican_devil: hm 2014-10-19T23:07:14Z vanila: "sort" has to put the numbers in reverse order 2014-10-19T23:08:21Z vanila: I know a better way 2014-10-19T23:08:38Z vanila: (let ((smallest (min x y z)) 2014-10-19T23:08:45Z vanila: (largest (max x y z)) 2014-10-19T23:08:57Z vanila: (cond ((= x smallest) (k y z)) 2014-10-19T23:09:04Z vanila: ((= y smallest) (k x z)) 2014-10-19T23:09:10Z vanila: ((= z smallest) (k x y)))) 2014-10-19T23:09:20Z vanila: and 'k' is the continuation which squares both numbers and add them 2014-10-19T23:09:28Z vanila: (define (k a b) (+ (square a) (square b))) 2014-10-19T23:09:37Z vanila: I gues we don't need largest 2014-10-19T23:09:44Z vanila: can remove that 2014-10-19T23:10:28Z republican_devil: https://gist.github.com/kyfho/bb1517feed183ffeef04 2014-10-19T23:10:35Z republican_devil: this is how I did it 2014-10-19T23:10:59Z vanila: ah yeah 2014-10-19T23:11:00Z vanila: that's good 2014-10-19T23:11:03Z vanila: basically same as what I said 2014-10-19T23:11:08Z vanila: except without "smallest" 2014-10-19T23:11:22Z vanila: maybe you should use >= though? 2014-10-19T23:11:26Z vanila: not sure what happens if numbers are the same 2014-10-19T23:12:07Z republican_devil: https://gist.github.com/kyfho/f5bdd25b6a8a20cd1aa9 and again in tcl 2014-10-19T23:12:20Z republican_devil: hmm 2014-10-19T23:12:25Z republican_devil: oh no bugs!?? 2014-10-19T23:12:34Z vanila: tcl version is nice 2014-10-19T23:12:42Z vanila: set r [lsort -decreasing $f] 2014-10-19T23:12:45Z vanila: wish scheme was this easy 2014-10-19T23:12:54Z vanila: i can't even remember how to do SORT in scheme 2014-10-19T23:13:34Z republican_devil: how do I load scheme code from a unix file? 2014-10-19T23:13:35Z republican_devil: lol 2014-10-19T23:14:23Z vanila: i use a script .sh 2014-10-19T23:14:29Z vanila: with csi -l and -e and stuff 2014-10-19T23:14:38Z republican_devil: (load "somefile") ? 2014-10-19T23:15:34Z vanila: oh that 2014-10-19T23:15:43Z vanila: i jsut cat al my .scm files into one :S 2014-10-19T23:15:55Z vanila: because scheme isnt really good for multifile stuff yet 2014-10-19T23:18:05Z kongtomorrow joined #scheme 2014-10-19T23:20:05Z lrs quit (Ping timeout: 260 seconds) 2014-10-19T23:21:10Z bb010g quit (Quit: Connection closed for inactivity) 2014-10-19T23:23:07Z republican_devil: shit I do have a bug 2014-10-19T23:23:17Z republican_devil: sonvova gun 2014-10-19T23:23:25Z republican_devil: in the scheme code 2014-10-19T23:27:14Z AriaMoKr joined #scheme 2014-10-19T23:27:35Z AriaMoKr left #scheme 2014-10-19T23:27:50Z republican_devil: fixed!! 2014-10-19T23:27:51Z republican_devil: :) 2014-10-19T23:30:20Z _tca: republican_devil: do you think scheme or tcl would have prevented the problems of healthcare.gov? 2014-10-19T23:30:22Z republican_devil: https://gist.github.com/kyfho/4ffc9ecbc3142b6af69e 2014-10-19T23:30:24Z republican_devil: working CODE! 2014-10-19T23:31:13Z tadni quit (Remote host closed the connection) 2014-10-19T23:31:13Z republican_devil: I think is the project had gone to people using either, things would have been better, but the real solution would have been for the supreme court to strike down obamacare... 2014-10-19T23:31:34Z republican_devil: I think the kind of shop using tcl or scheme would have been more efficient for given cash inputs. 2014-10-19T23:32:16Z jhao quit (Ping timeout: 250 seconds) 2014-10-19T23:34:35Z republican_devil: less pocketing adn crony communism, but I digress 2014-10-19T23:42:37Z vanila: im toally in love with forth atm 2014-10-19T23:44:46Z tadni joined #scheme 2014-10-19T23:45:29Z jhao joined #scheme 2014-10-19T23:46:36Z offby1 is fond of http://www.beeradvocate.com/beer/profile/216/673/ atm 2014-10-19T23:48:48Z githogori joined #scheme 2014-10-19T23:53:26Z githogori quit (Ping timeout: 258 seconds) 2014-10-19T23:54:51Z tadni quit (Ping timeout: 272 seconds) 2014-10-19T23:55:06Z githogori joined #scheme 2014-10-19T23:56:07Z tadni joined #scheme 2014-10-19T23:57:26Z atomx quit (Remote host closed the connection)